Maven 发布多模块 android 库

Maven publication of multi-modules android library

我正在开发一个由多个库模块和一个测试应用程序模块组成的 Android SDK:

mySDK
|-test-app
|-lib-core
|-lib-ui
|-...

我想在 Maven 存储库上发布它,嵌入所有库模块(但不包括测试应用程序)。

我知道如何使用 Maven Publish Plugin 发布单个库模块,但不知道如何制作包含多个库模块的 Maven 发布。

你会怎么做?

每个模块本身就是一个库,因此将每个模块(应用程序除外)配置为打包为 AAR 文件并部署到所需的存储库。如果您打算使用 Maven 发布插件,只需将这些步骤应用到每个模块(到模块的 build.gradle 文件)。一个好的做法是集中 groupId 和版本值,也许在 gradle.properties 文件中,或者在主 gradle 文件中。相同的过程适用于其他插件,例如 android-gradle-maven 插件。

只需将每个模块作为独立模块上传即可。
并不一定要同时上传所有的模块,pom文件中只是描述了依赖关系。

将基本脚本放入具有一些通用设置和属性的单个 gradle 文件中可能很有用(您可以从 gradle.properties 文件中读取它们),例如:

rootFolder/maven_push.gradle:

apply plugin: 'maven'
//....

      pom.artifactId = POM_ARTIFACT_ID

      pom.project {
           name POM_NAME
           packaging POM_PACKAGING
           description POM_DESCRIPTION
           url POM_URL
           //...
      }

      //...

然后在每个 module/build.gradle 文件中添加:

apply from: '../maven_push.gradle'