У меня есть проект со структурой, как показано ниже. У него есть «main-module
», который находится в центре нашего развития, и который должен быть в состоянии публиковать AAR для двух вариантов (отладка, выпуск) для Nexus. У нас также есть несколько других модулей зависимости и тестовое приложение.
project
|
|- app
|- main-module
|- module-a
|- module-b
...
Я собираюсь запустить сборку, которая упакует main-module
AAR, а затем загрузит оба из них в репозитории Nexus. Отладочный AAR перейдет в репозиторий моментальных снимков, а релизная версия перейдет в репозиторий релизов. У меня есть несколько кусочков головоломки, но я не совсем уверен, как их связать.
Что у меня есть:
Создание AAR
gradlew assemble
Опубликовать AAR
project.uploadArchives {
repositories {
mavenDeployer {
repository(url: "http://localhost:8081/nexus/content/repositories/snapshots/") {
authentication(userName: "deployment", password: "password123")
}
pom.version = "0.0.1-SNAPSHOT"
pom.artifactId = "MainModule"
pom.groupId = "com.myorg.test"
}
}
Сборка работает, и я могу выдвинуть версию для Nexus. Я не знаю, как предоставить config для отладочной и выпускной версий, чтобы у них был правильный репозиторий (например, /snapshots
vs /release
) и правильная версия (имя версии выпуска не будет содержать SNAPSHOT
).
После работы я перенесу имена, версии и учетные данные в свойства, а учетные данные не будут проверены в системе контроля версий, пока кто-то не указал на это.
Использование:
- грейфер-обертка 4.4
- плагин gradle 3.1.4