将Android库发布到依赖本地Android库项目的Maven
问题描述:
我有一个库项目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
的源/资源包含在内?
答
你不能这样做。
如果一个库有一个依赖项,父库的pom文件将包含这个依赖项。
无法解决此依赖关系,包括源/资源。
您还必须发布子库。
我希望有一种偷偷摸摸的方式去做,但我猜不是。谢谢。 – WindsurferOak