提问人:Matthew Dickson 提问时间:2/26/2022 更新时间:4/11/2022 访问量:701
是否可以使用 maven-plugin 将多个 android 库发布到 github 上的同一个包中?然后一起或单独导入库
Is it possible to publish multiple android libraries to the same package on github using the maven-plugin? then import the libraries together or alone
问:
我正在尝试使用 maven-publish 插件将多个库从 android 中的同一项目发布到 github。我正在努力使一个人可以使用所有库来使用整个项目,例如import com.example.libraries;或将其作为单个模块导入,例如 import com.example.libraries.lib1、import com.example.libraries.lib2 等。但是,我无法这样做。使用 Github 是否可以做到这一点,如果可以,如何去做?
//build.gradle for lib1
publications {
maven(MavenPublication) {
groupId "com.github.example.libraries"
artifactId "lib1"
version System.getProperty("version")
artifact "/build/outputs/aar/lib1-release.aar"
}
//build.gradle for lib2
publications {
maven(MavenPublication) {
groupId "com.github.example.libraries"
artifactId "lib2"
version System.getProperty("version")
artifact "/build/outputs/aar/lib2-release.aar"
}
答:
0赞
Raul Maza
4/11/2022
#1
我用口味想出了一个类似问题的解决方案。
但是,如果您在不同的模块中有 lib1 和 lib2,则您的解决方案应该通过使用每个 build.gradle 文件中的 maven-publish 插件来工作。
首先,根据需要声明尽可能多的口味:
flavorDimensions "libs"
productFlavors {
lib1 {
dimension "libs"
}
lib2 {
dimension "libs"
}
}
然后,您可以使用 sourceSets 指定风格的来源:
sourceSets {
main {
java {
java.srcDirs = ['src/main/java']
}
res {
srcDirs = ['src/main/res']
}
}
lib1 {
java {
java.srcDirs = ['src/main/java', 'src/lib1/java']
}
}
lib2 {
java {
java.srcDirs = ['src/main/java', 'src/lib2/java']
}
}
}
最后,您可以使用 maven-publish 插件发布这两个库:
publishing {
publications {
lib1(MavenPublication) {
groupId "com.github.example.libraries"
artifactId "lib2"
version System.getProperty("version")
artifact("/build/outputs/aar/lib2-release.aar") {
extension 'aar'
}
}
lib2(MavenPublication) {
groupId "com.github.example.libraries"
artifactId "lib2"
version System.getProperty("version")
artifact("/build/outputs/aar/lib2-release.aar") {
extension 'aar'
}
}
}
}
评论