我想要做這樣的事情:如何從父項目來源依賴
dependencies {
compile project(':projectA', classifier: 'sources')
}
但我找不到這樣的functionallity,我搜索的文檔中,但沒有什麼,除了指定分類器對真實的依賴關係。
那麼有沒有一種方法可以將Gradle multimodules項目中父項目的源添加爲依賴項?
我想要做這樣的事情:如何從父項目來源依賴
dependencies {
compile project(':projectA', classifier: 'sources')
}
但我找不到這樣的functionallity,我搜索的文檔中,但沒有什麼,除了指定分類器對真實的依賴關係。
那麼有沒有一種方法可以將Gradle multimodules項目中父項目的源添加爲依賴項?
我不知道,有一個從搖籃爲特色,但有一個解決辦法:
添加packageSources
的項目,應提供來源
// projectA/build.gradle
project.task("packageSources", type: Jar) {
classifier = 'sources'
from { project.sourceSets.main.allSource }
}
取決於compileJava
的任務,您需要的來源
// projectB/build.gradle
compileJava.dependsOn tasks.getByPath(':projectA:packageSources')
添加源作爲依賴
// projectB/build.gradle
dependencies {
compile files(tasks.getByPath(':projectA:packageSources').archivePath)
}
了projectA /的build.gradle
configurations {
sources
}
dependencies {
sources sourceSets.main.allSource
}
項目B /的build.gradle
dependencies {
compile project(path: ':projectA', configuration: 'sources')
}
這可能是更好的解決方案,缺點是Intellij IDEA忽略該屬性。 – jmattheis
http://stackoverflow.com/help/someone-answers –
@jmattheis可以使用理念插件的gradle idea任務來刷新.iml文件;)IntelliJ gradle支持從來都不是完美的 – LazerBanana
有什麼用有'來源'的情況依賴「?通常你依賴於編譯的類。 –
@MartinLinha gwt編譯需要類路徑中的源碼 – jmattheis