【问题标题】:Android Libraries: maven vs maven-publish gradle projectAndroid 库:maven vs maven-publish gradle 项目
【发布时间】:2018-07-06 06:11:46
【问题描述】:

我正在构建一个大型多模块 Android 库,需要将该库发布到公司内部的 Artifactory。

我应该使用旧的maven 插件还是新的maven-publish 插件?

注意:以上两个官方插件并不完全支持Android,所以有两个社区端口。

也很有趣 - 基于 SoftwareComponent 模型的 Android 工具团队 deprecated the experimental gradle plugin - 这是 maven-publish 插件使用的。那么maven-publish 是否也被弃用了?

【问题讨论】:

    标签: android gradle android-gradle-plugin


    【解决方案1】:

    我建议您使用新的maven publish plugin。 Gradle 在 Gradle 1.3 中弃用了旧的 maven plugin。根据Gradle blog post,只有部分 SoftwareComponent 模型将被标记为已弃用,其余部分将被移植:

    ...因此,您可能想知道软件模型发生了什么。我们正在将本机支持的配置 DSL 移植到当前模型。所以声明性和强大的建模语言将是相同的。作为软件模型一部分的规则引擎将被弃用。模型块下的所有内容都将作为当前模型的扩展移植......

    如果您想要 maven-publish 的示例,Realm-Java 使用它:https://github.com/realm/realm-java/blob/master/realm/realm-library/build.gradle

    【讨论】:

    • 感谢您的解释。这是仅出于技术原因而弃用,还是我可以用 maven-publish 做的事情不能用 maven 做?
    • 如果您在此处查看文档:docs.gradle.org/current/userguide/maven_plugin.html,它指出,maven-publish 引入了一些新概念和功能。例如,一个新功能是发布到 Maven 本地。
    • 如果 Maven Local,你的意思是 ~/.m2,这可以通过常规的 maven 插件来实现。只需运行`./gradlew install'
    • 我不太确定 maven-publish 的真正好处是什么,但 gradle 文档指出它更强大,具有新功能,现在是使用 maven 发布工件的首选方式。我会相信文档并使用新的 maven-publish。
    • 就是这样,我喜欢有具体的要求。不仅仅是一般的“更强大”的东西。
    猜你喜欢
    • 2015-07-30
    • 1970-01-01
    • 2015-10-01
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-03
    相关资源
    最近更新 更多