2015-10-14 123 views
1

我有一個庫項目libParent,它包含另一個庫項目libChild作爲依賴項。如果你看一下build.gradle依賴部分,你會看到類似以下內容:將Android庫發佈到依賴本地Android庫項目的Maven

dependencies { 
    ... 

    compile project(':libChild') 
} 

現在,我要發佈libParent到Maven作爲一個aar文件。請注意,libChild尚未發佈,但我想在libParent的人造物中包含其來源/資源。我build.gradle文件的行家發佈部分如下所示:

task sourcesJar(type: Jar) { 
    from android.sourceSets.main.java.srcDirs 
    classifier = 'sources' 
} 

task javadoc(type: Javadoc) { 
    source = android.sourceSets.main.java.srcDirs 
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) 
} 

task javadocJar(type: Jar, dependsOn: javadoc) { 
    classifier = 'javadoc' 
    from javadoc.destinationDir 
} 

artifacts { 
    archives javadocJar 
    archives sourcesJar 
} 

一旦發佈我的模塊,並將其包含在我的應用程序的依賴,我得到以下錯誤:

Could not find 'libParent:libChild:unspecified' 
    Searched in the following locations: 
    https://oss.sonatype.org/content/respositories/snapshots/libParent/libChild/unspecified/libChild-unspecified.pom 

我知道libChild沒有出現在我已發佈的工件中,但我該如何確保libChild的源/資源包含在內?

回答

0

你不能這樣做。

如果一個庫有一個依賴項,父庫的pom文件將包含這個依賴項。

無法解決此依賴關係,包括源/資源。
您還必須發佈子庫。

+0

我希望有一種偷偷摸摸的方式去做,但我猜不是。謝謝。 – WindsurferOak

相關問題