首页 > 解决方案 > Prevent uploading additional "app-unspecified.aar" to Bintray

问题描述

I'm trying to create an android library and publish it to a Bintray repository. But while running bintrayUpload Gradle task, there is an additional file called "app-unspecified.aar" which is uploaded to the Bintray along with the original artifact.

enter image description here

publish.gradle

apply plugin: 'maven-publish'
apply plugin: 'com.jfrog.bintray'

publishing {
    publications {
        library(MavenPublication) {
            groupId publishGroupId
            artifactId publishArtifactId
            version android.defaultConfig.versionName

            pom {
                name = publishArtifactId
                description = libraryDescription
                withXml {
                    def dependenciesNode = 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)
                        }
                    }
                }
            }
        }
    }
}

def _user = System.getenv("BINTRAY_USER")
def _key =  System.getenv("BINTRAY_API_KEY")

if(project.rootProject.file('local.properties').exists() && (_user == null || _user.isEmpty())){
    Properties properties = new Properties()
    properties.load(project.rootProject.file('local.properties').newDataInputStream())
    _user = properties.getProperty("bintray.user")
    _key = properties.getProperty("bintray.apikey");
}

bintray {
    user = _user
    key = _key
    override = true
    publications = ['library']
    configurations = ['archives']
    pkg {
        repo = bitrayRepo
        name = bintrayPackage
        desc = libraryDescription
        websiteUrl = siteUrl
        vcsUrl = gitUrl
        licenses = allLicenses
        publish = true
        publicDownloadNumbers = true
        version {
            name = android.defaultConfig.versionName
            released = new Date()
            vcsTag = android.defaultConfig.versionName
        }
    }
}

when I run gradle bintrayUpload I'm getting following in the output.

> Task :app:bintrayUpload
Uploading to https://api.bintray.com/content/chathurabuddi/android/datetime-picker-wheel/0.0.1/datetime-picker-wheel/app/unspecified/app-unspecified.aar...
Uploaded to 'https://api.bintray.com/content/chathurabuddi/android/datetime-picker-wheel/0.0.1/datetime-picker-wheel/app/unspecified/app-unspecified.aar'.
Uploading to https://api.bintray.com/content/chathurabuddi/android/datetime-picker-wheel/0.0.1/lk/chathurabuddi/datetime-picker-wheel/0.0.1/datetime-picker-wheel-0.0.1.aar...
Uploaded to 'https://api.bintray.com/content/chathurabuddi/android/datetime-picker-wheel/0.0.1/lk/chathurabuddi/datetime-picker-wheel/0.0.1/datetime-picker-wheel-0.0.1.aar'.
Uploading to https://api.bintray.com/content/chathurabuddi/android/datetime-picker-wheel/0.0.1/lk/chathurabuddi/datetime-picker-wheel/0.0.1/datetime-picker-wheel-0.0.1.pom...
Uploaded to 'https://api.bintray.com/content/chathurabuddi/android/datetime-picker-wheel/0.0.1/lk/chathurabuddi/datetime-picker-wheel/0.0.1/datetime-picker-wheel-0.0.1.pom'.

How can I prevent uploading that additional artifact to the Bintray?

标签: javaandroidandroid-librarybintray

解决方案


since you are declaring publications it's not necessary to add configurations = ['archives'] line. Try removing it from your publish.gradle file


推荐阅读