无法获取未知 属性 'bundleReleaseAar' Maven 发布
Could not get unknown property 'bundleReleaseAar' Maven Publish
我正在尝试将库发布到 Bintray,但在尝试上传 Aar 时遇到问题。我想使用命令 bundleReleaseAar
但不幸的是它对我不起作用,我收到错误 Could not get unknown property 'bundleReleaseAar'
。我研究了这个问题,我看到了四月左右的很多答案,说解决方案是将你的电话包装在 project.afterEvaluate
中,但这对我不起作用。
这是我的代码的样子:
bintray {
user = 'dev'
key = 'asdf'
publications = ['MyPublication']
override = true
publish = true
pkg {
repo = 'name of repo'
name = 'name of package'
userOrg = 'org'
licenses = ['Apache-2.0']
vcsUrl = 'https//:git.url'
version {
name = '0.0.1'
released = new Date()
vcsTag = '0.0.1'
}
}
}
def pomConfig = {
licenses {
license {
name "The Apache Software License, Version 2.0"
url "http://www.apache.org/licenses/LICENSE-2.0.txt"
distribution "repo"
}
}
developers {
developer {
id "dev"
name "dev"
}
}
scm {
url 'https//:git.url'
}
}
/***************************************/
/*** THIS IS THE RELEVANT CODE BLOCK ***/
/***************************************/
project.afterEvaluate {
publishing {
publications {
MyPublication(MavenPublication) {
artifactId 'Artificat Id'
groupId 'com.group'
version '0.0.1'
/****************************/
/*** WHY DOES THIS CRASH? ***/
/****************************/
artifact bundleReleaseAar
pom.withXml {
def dependenciesNode = asNode().getAt('dependencies')[0] ?: asNode().appendNode('dependencies')
configurations.implementation.allDependencies.each {
if (it.name != 'unspecified') {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
dependencyNode.children().last() + pomConfig
}
}
}
}
}
}
}
为了 artifact bundleReleaseAar
工作,bundleReleaseAar
需要,如 in the documentation 所示:
- 一个
PublishArtifact
- 一个
AbstractArchiveTask
- 任何可以解析为
File
的东西
- 一个
Map
有特殊条目
所以你需要弄清楚 bundleReleaseAar
应该是什么,然后从那里得到它。
假设这是一项任务,您可以尝试:artifact tasks.bundleReleaseAar
我明白了。当它应该在库模块 build.gradle
中时,我在项目级别 build.gradle
中有这段代码。将脚本移至此处有效。不幸的是,我不知道为什么这可以解决问题。我只能猜测 bundleReleaseAar
依赖于 'com.android.library' 插件。
我正在尝试将库发布到 Bintray,但在尝试上传 Aar 时遇到问题。我想使用命令 bundleReleaseAar
但不幸的是它对我不起作用,我收到错误 Could not get unknown property 'bundleReleaseAar'
。我研究了这个问题,我看到了四月左右的很多答案,说解决方案是将你的电话包装在 project.afterEvaluate
中,但这对我不起作用。
这是我的代码的样子:
bintray {
user = 'dev'
key = 'asdf'
publications = ['MyPublication']
override = true
publish = true
pkg {
repo = 'name of repo'
name = 'name of package'
userOrg = 'org'
licenses = ['Apache-2.0']
vcsUrl = 'https//:git.url'
version {
name = '0.0.1'
released = new Date()
vcsTag = '0.0.1'
}
}
}
def pomConfig = {
licenses {
license {
name "The Apache Software License, Version 2.0"
url "http://www.apache.org/licenses/LICENSE-2.0.txt"
distribution "repo"
}
}
developers {
developer {
id "dev"
name "dev"
}
}
scm {
url 'https//:git.url'
}
}
/***************************************/
/*** THIS IS THE RELEVANT CODE BLOCK ***/
/***************************************/
project.afterEvaluate {
publishing {
publications {
MyPublication(MavenPublication) {
artifactId 'Artificat Id'
groupId 'com.group'
version '0.0.1'
/****************************/
/*** WHY DOES THIS CRASH? ***/
/****************************/
artifact bundleReleaseAar
pom.withXml {
def dependenciesNode = asNode().getAt('dependencies')[0] ?: asNode().appendNode('dependencies')
configurations.implementation.allDependencies.each {
if (it.name != 'unspecified') {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
dependencyNode.children().last() + pomConfig
}
}
}
}
}
}
}
为了 artifact bundleReleaseAar
工作,bundleReleaseAar
需要,如 in the documentation 所示:
- 一个
PublishArtifact
- 一个
AbstractArchiveTask
- 任何可以解析为
File
的东西
- 一个
Map
有特殊条目
所以你需要弄清楚 bundleReleaseAar
应该是什么,然后从那里得到它。
假设这是一项任务,您可以尝试:artifact tasks.bundleReleaseAar
我明白了。当它应该在库模块 build.gradle
中时,我在项目级别 build.gradle
中有这段代码。将脚本移至此处有效。不幸的是,我不知道为什么这可以解决问题。我只能猜测 bundleReleaseAar
依赖于 'com.android.library' 插件。