Как установить библиотеку артефактов root имя - PullRequest
7 голосов
/ 18 февраля 2020

context: android, jar, aar.

Я опубликовал свой android артефакт на репо Maven. Когда я импортирую его в свой проект в Android Studio, артефакт показывается примерно так:

no name library root

Все мои классы находятся в classes.jar

Как мне изменить имя библиотеки root на что-то подобное retrofit-2.7.0.jar на изображении ниже?

named library root

Это мой сценарий:

uploadArchives {
repositories {
    mavenDeployer {

        pom.groupId = GROUP
        pom.artifactId = POM_ARTIFACT_ID
        pom.version = VERSION_NAME

        repository(url: getReleaseRepositoryUrl()) {
            authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
        }
        snapshotRepository(url: getSnapshotRepositoryUrl()) {
            authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
        }

        pom.project {
            name POM_NAME
            packaging POM_PACKAGING
            description POM_DESCRIPTION
            url POM_URL

            licenses {
                license {
                    name POM_LICENCE_NAME
                    url POM_LICENCE_URL
                    distribution POM_LICENCE_DIST
                }
            }

            developers {
                developer {
                    id POM_DEVELOPER_ID
                    name POM_DEVELOPER_NAME
                }
            }
        }
    }
}
}

Обновление 2: путем применения

android {
    android.libraryVariants.all { variant ->
        variant.outputs.all { // Rename output variant to whatever you want & it would get uploaded as library
            outputFileName = "name-of-your-library-artifact.extension" //I.e. myLib.jar
        }
    }
}

выходного артефакта переименовано в myLib.aar, но внутри aar классы по-прежнему упакованы как classes.jar

Ответы [ 2 ]

0 голосов
/ 03 марта 2020

Я думаю, что ваша проблема не связана с плагином maven publi sh, а с тем, как Android -Studio упаковывает артефакты сам.

Когда вы собираете или собираете aar / jar , Android -Studio по умолчанию генерирует такие имена, как classes.jar .

Вы можете попробовать изменить это, добавив следующий блок кода в android {} DSL.

android {
    android.libraryVariants.all { variant ->
        variant.outputs.all { // Rename output variant to whatever you want & it would get uploaded as library
            outputFileName = "name-of-your-library-artifact.extension" //I.e. myLib.jar
        }
    }
}
0 голосов
/ 02 марта 2020

Если вы посмотрите на ThreeTenABP Джейка Уортона, вы можете в gradle.properties увидеть несколько POM_* определенных переменных.

Если вы откроете gradle-mvn-pu sh .gradle , вы можете использовать эти три переменные. Подробнее о gradle-mvn-push.gradle файле и о том, как его использовать, вы можете прочитать здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...