Как загрузить все файлы aar flavour с помощью задачи gradle uploadArchives? - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть проект библиотеки 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"

Если возможно, помогите мне, пожалуйста.

...