Опубликовать отладку и выпустить в артефакт - PullRequest
0 голосов
/ 14 мая 2018

Я использую Android Studio и отчаянно пытаюсь найти способ опубликовать мои отладки и выпустить aar's на артефакт с отдельными repoKeys.Желательно как две отдельные задачи.Я прочитал это превосходное руководство , но я не хочу каждый раз менять файл gradle для развертывания.

Я могу легко создать два файла pom, но мне не удалосьсделайте плагин артефакта достаточно динамичным, чтобы переключить мои два ключа повторения.

Я чувствую, что это самое близкое, что я пришел, но его там не совсем:

String art_repo = ''

artifactory {
    contextUrl = 'https://www.myjfrogrepo.com'

    publish {
        repository {
            // The Artifactory repository key to publish to
            repoKey = "${art_repo}"

Затем я создал пользовательскийзадача, которая устанавливает переменную art_repo.

task debugPublishTojFrog {
    group "Publishing"
    art_repo = 'libs-snapshot-local'
    art_publicationName = 'debugAar'

    doLast {
        println "Successfully published ${art_repo} to jFrog"
    }
}
debugPublishTojFrog.finalizedBy artifactoryPublish

Это отвечает ошибкой

Target repository cannot be empty

Это заставляет меня думать, что repoKey установлен во время сборки, а не во время выполнения, потому что мой пользовательскийИзменения в задании, похоже, игнорируются.

Любые предложения действительно очень приветствуются.

1 Ответ

0 голосов
/ 18 мая 2018

Стандартный способ сделать это в Gradle - проверить версию, которую вы собираетесь опубликовать.

Это именно то, что руководство вы ссылаетесь на адвокатов:

repoKey = libraryVersion.endsWith('SNAPSHOT') ? 'libs-snapshot-local' : 'libs-release-local'

Что не так с этим решением?

Изменить: Если проблема заключается в необходимости изменить gradle или файл gradle.properties, почему бы не использовать свойства из командной строки.

repoKey = project.hasProperty('releaseVersion') ? 'libs-release-local' : 'libs-snapshot-local'

И создайте свой снимок с

gradle build

И создайте свой выпуск с

gradle build -PreleaseVersion=1.0.0-GA

Вы также можете использовать это свойство releaseVersion в нескольких других местах, таких как метаданные программного обеспечения, информация о публикации ...

...