我有3個gradle項目projectA,projectB,projectC。所有這些構建一個名爲projectX-0.0.0.jar的jar文件。在我的jenkins服務器上,所有這些項目都將這些罐子部署到我的公司artifactory。Gradle本地依賴測試
在了projectA,我有我的整個整個項目中使用多個編譯依賴。然後在項目B中,我包含了項目A:compile group: 'com.company.projectName', name: 'projectA, version '0.0.0'
因此,我可以使用這些依賴關係(即slf4j),我對projectC執行相同的操作以包含projectB依賴項,其結果包括projectA的依賴項。
這對我們詹金斯服務器上部署的偉大工程,努力本地測試,我不能得到的依賴關係來更新我的測試代碼時後,我已經推了代碼放到服務器上,但是。
我曾嘗試:
更新gradle這個緩存下載一個項目從artifactory的局部建項目的JAR。位於
C:/users/username/.gradle/caches/path-to-jar
。刪除了
compile group: 'com.company.projectName', name: 'projectA, version '0.0.0'
與compile files('libs/projectA-0.0.0.jar')
取代它,將了projectA的jar lib文件夾內的項目B使用的IntelliJ gradle這個離線模式和重複#1
在我的電腦離線完全去和重複#1
以上所有4次嘗試我仍然無法解決在項目A中聲明的項目B的依賴項。
我的目標是能夠更新編譯,testCompile,運行時間等。依賴於我的projectA.gradle文件,然後在我的管道中運行我的項目以確保此更新會按照我的意圖影響項目中的依賴項。
這聽起來像您正在描述用於用例[合成構建(https://docs.gradle.org/current/userguide/composite_builds.html)。 – mkobit
我已經有一個使用此設置的工作項目。我的描述是問如何在本地進行測試。 – DevelopingDeveloper
見https://docs.gradle.org/current/userguide/dependency_management.html#sub:dynamic_versions_and_changing_modules,https://docs.gradle.org/current/userguide/dependency_management.html#sec:controlling_caching,https://開頭discuss.gradle.org/t/configuring-gradle-project-to-always-refresh-dependencies-in-the-gradle-cache/6024/3 –