У меня есть проект библиотеки Android с разными вкусами. Каждый из вариантов связан с отдельным URL-адресом сервера.
Я хочу построить разные аары и загрузить их все в Nexus. Но я не знаю, как выбрать все productFlavors при выполнении uploadArchives.
Если кто-то знает, как решить мою проблему, пожалуйста, помогите мне, спасибо!
Вот файл build.gradle в библиотеке:
android {
lintOptions {
checkReleaseBuilds false
abortOnError false
}
configurations {
all {
exclude module: 'httpclient'
exclude module: 'commons-logging'
exclude module: 'xpp3'
}
}
flavorDimensions "server"
productFlavors {
dev {
versionNameSuffix "dev"
buildConfigField("String", "BASE_URL", "\"http://dev.path.com\"")
}
qa {
versionNameSuffix "test"
buildConfigField("String", "BASE_URL", "\"http://test.path.com\"")
}
prod {
versionNameSuffix "demo"
buildConfigField("String", "BASE_URL", "\"http://demo.path.com\"")
}
}
compileSdkVersion 28
defaultConfig {
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "0.0.23"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
Задача uploadArchives отлично работает без аромата
uploadArchives {
repositories {
mavenDeployer {
repository(url: "http://nexus.path") {
authentication(userName: "name", password: "pass")
pom.groupId = "groupId"
pom.artifactId = "core"
pom.version = '0.0.23'
}
}
}
}
Но это не работает после того, как я добавил flavourDimensions.
Мне нужно загрузить все мои аары в Nexus с разными artifactId или версией.
Я хотел бы использовать его в других моих проектах что-то вроде этого:
implementation "groupId:core.dev:0.0.23"
implementation "groupId:core.qa:0.0.23"
implementation "groupId:core.prod:0.0.23"
или
implementation "groupId:core:0.0.23-dev"
implementation "groupId:core:0.0.23-qa"
implementation "groupId:core:0.0.23-prod"
Если возможно, помогите мне, пожалуйста.