Не удалось получить неизвестное свойство 'bundleReleaseAar' Maven Publish - PullRequest
0 голосов
/ 29 октября 2019

Я пытаюсь опубликовать библиотеку в 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
                        }
                    }
                }
            }
        }
    }
}

Ответы [ 2 ]

1 голос
/ 30 октября 2019

Для работы artifact bundleReleaseAar необходимо bundleReleaseAar, как указано в документации :

  • a PublishArtifact
  • AbstractArchiveTask
  • Все, что можно разрешить в File
  • A Map со специальными записями

Так что вам нужно выяснить, что это такоеbundleReleaseAar должен быть и получить его оттуда. Предполагая, что это задача, вы можете попробовать: artifact tasks.bundleReleaseAar

0 голосов
/ 31 октября 2019

Я понял это. У меня был этот код на уровне проекта build.gradle, когда он должен был быть в библиотечных модулях build.gradle. Перемещение сценария здесь работает. Я не знаю, почему это решает проблему, к сожалению. Я могу только догадываться, что bundleReleaseAar зависит от плагина 'com.android.library'.

...