我正在尝试使用/.m2
Gradle插件在<{1}}目录中本地发布 aar 。使用以下代码,我可以发布maven-publish
版本(使用PTML),而不发布release
版本。
我想通过自定义任务或通过命令行发布debug
或release
。任何帮助将不胜感激。
debug
答案 0 :(得分:1)
您必须为每个buildTypes
创建一个新的出版物。
当前,您只有一个名为library
的出版物,它作为bundleReleaseAar
任务的输出作为工件。
要发布debug
版本时,必须使用bundleDebugAar
任务的输出。
因此,您需要这样的东西:
project.afterEvaluate {
publishing {
publications {
libraryRelease(MavenPublication) {
artifact bundleReleaseAar
artifact sourceJar
groupId 'com.sample.project'
artifactId 'DummyProject'
version '1.0'
pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')
def dependencies = new ArrayList<Dependency>()
dependencies.addAll(configurations.api.allDependencies)
dependencies.addAll(configurations.implementation.allDependencies)
dependencies.each {
if (it.group != null && (it.name != null || "unspecified".equals(it.name)) && it.version != null) {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
}
}
}
}
libraryDebug(MavenPublication) {
artifact bundleDebugAar
artifact sourceJar
groupId 'com.sample.project'
artifactId 'DummyProject'
version '1.0'
pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')
def dependencies = new ArrayList<Dependency>()
dependencies.addAll(configurations.api.allDependencies)
dependencies.addAll(configurations.implementation.allDependencies)
dependencies.each {
if (it.group != null && (it.name != null || "unspecified".equals(it.name)) && it.version != null) {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
}
}
}
}
}
}
}
这将创建两个任务publishLibraryReleaseToLocalMaven
和publishLibraryDebugToLocalMaven
。您可以根据要发布的类型来运行它们。