【问题标题】:Publish Android library to Maven that depends on a local Android library project将依赖于本地 Android 库项目的 Android 库发布到 Maven
【发布时间】:2015-10-14 01:15:55
【问题描述】:

我有一个库项目 libParent,它包含另一个库项目 libChild 作为依赖项。如果您查看 build.gradle 依赖项部分,您将看到类似以下内容:

dependencies {
    ...

    compile project(':libChild')
}

现在,我想将libParent 作为aar 文件发布到maven。请注意libChild 尚未发布,但我想将其来源/资源包含在libParent 的工件中。我的 build.gradle 文件的 maven 发布部分如下所示:

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 的来源/资源?

【问题讨论】:

    标签: android maven gradle android-gradle-plugin


    【解决方案1】:

    你做不到。

    如果一个库有依赖,则父库的pom文件会包含这个依赖。

    您无法解决包括源/资源在内的这种依赖关系。
    您还必须发布子库。

    【讨论】:

    • 我希望有一种偷偷摸摸的方式来做到这一点,但我想不会。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    • 2014-06-17
    • 2013-09-09
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多