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'
我正在开发一个由多个库模块和一个测试应用程序模块组成的 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'