作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用/.m2
Gradle插件在本地将 aar 发布到maven-publish
目录。使用以下代码,我可以发布release
版本(使用PTML),但不能发布debug
版本。
我想通过自定义任务或通过命令行发布release
或debug
。任何帮助是极大的赞赏。
publishing {
publications {
aar(MavenPublication) {
groupId 'com.sample.project'
artifactId 'SampleProject'
version '1.1.0'
artifact bundleReleaseAar
}
}
}
最佳答案
您必须为每个buildTypes
创建一个新的出版物。
当前,您只有一个名为library
的出版物,该出版物用作bundleReleaseAar
任务的输出作为 Artifact 。
当您要发布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
。您可以根据要发布的类型来运行它们。
关于android - 将Debug和Release构建发布到Aaven的Maven Local,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56026344/
我是一名优秀的程序员,十分优秀!