2015-07-03 26 views
1

我們正在開發android庫並且不會打開源代碼。然而它爲了方便客戶端而分佈在Maven倉庫中。使用公共示例應用程序gradle設置的私有源庫

我們還爲該庫打開源代碼提供示例應用程序。

我們正在設法實現該示例應用程序與圖書館同時開發。因此,根據需要進行調試以及即時修改代碼非常方便。

因此,我們爲應用程序和庫創建了兩個git存儲庫。但是,合併它們的最佳方式是什麼?我們看到未來的可能性:

  • 使用Maven本地與圖書館快照
  • 複製示例應用程序到庫作爲模塊,並在釋放時間全部修改合併到示例應用程序回購與模塊更新庫的依賴關係,從回購
  • 到人工製品
  • 以前使用git submodule的細微變化

沒有一個看起來高效和優雅。但與此同時,我們正在建設的東西並不是獨一無二的。我想知道他們是如何做到的。

我試過在github上搜索庫,但都是公共庫和示例應用程序只是子模塊。

重要注意事項 - 我們使用過Android Studio,所以儘量減少上開窗數量最好

回答

1

您可以創建規則的多重結構,但根據某些條件19.2. Gradle properties and system properties依賴之間切換。這樣,開發機器上的示例項目就可以訪問可以編輯和重建的庫項目,但是示例的開源用戶將回退到maven庫文件二進制dep。

multiproject (under git as 3rd project or as part of the library git) 
library (under git) 
    build.gradle 
sample (under another git) 
    build.gradle (if has libmodule defined use it, otherwise repo artefact) 
build.gradle 
settings.gradle 

僞代碼:

dependencies { 
    compile hasDevMachineBoolean() ? project(':library') 
            : "com.packagename.sdk:library:1.0" 
} 
相關問題