Доступ к полю конфигурации сборки модуля приложения в модуле библиотеки - PullRequest
1 голос
/ 01 марта 2020

В моем приложении есть модуль приложения с различными типами выпуска и ошибками продукта. Файл Gradle выглядит так, как показано ниже.

У меня есть следующая конфигурация сборки для модуля "app".

android {



signingConfigs {
companydevconfig {
    keyAlias 'company'
    keyPassword '**'
    storeFile file('../app/jksFils/company_dev.jks')
    storePassword '**'
}
companyqaconfig {
    keyAlias 'company'
    keyPassword '**'
    storeFile file('../app/jksFils/company_qa.jks')
    storePassword '**'
}
companyprodconfig {
    keyAlias 'company'
    keyPassword '**'
    storeFile file('../app/jksFils/release.keystore')
    storePassword '**'
}
}

compileSdkVersion 28
buildToolsVersion '28.0.3'
defaultConfig {
applicationId "com.company.employee.dev"
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.13"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}

buildTypes {
release {
    minifyEnabled true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
    testCoverageEnabled true
}

}

flavorDimensions "company"
productFlavors {
dev {
    dimension "company"
    applicationId "com.company.employee.dev"
    versionCode 277
    versionName "2.0.0.16"
    signingConfig signingConfigs.companydevconfig

    buildConfigField 'String', 'BASEURL', '"https://dev.company.com"'
}
qa {
    dimension "company"
    applicationId "com.company.employee.qa"
    versionCode 225
    versionName "2.0.2.2"
    signingConfig signingConfigs.companyqaconfig

    buildConfigField 'String', 'BASEURL', '"https://qa.company.com"'

}
prod {
    dimension "company"
    applicationId "com.company.employee.prod"
    versionCode 38
    versionName "1.5.20"
    signingConfig signingConfigs.companyprodconfig

    buildConfigField 'String', 'BASEURL', '"https://cloud.company.com"'

}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

Теперь у меня есть модуль чата в виде библиотеки в том же проект. Как использовать поля buildConfig, определенные в модуле приложения в модуле чата.

apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android-extensions'
apply from: '../shared_dependencies.gradle'

android {
publishNonDefault true

compileSdkVersion 29
buildToolsVersion "29.0.2"

defaultConfig {
    minSdkVersion 21
    targetSdkVersion 29
    versionCode 1
    versionName "1.0"
}
sourceSets {
    main.java.srcDirs += 'src/main/kotlin'
}

dataBinding {
    enabled true
}

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}


}

dependencies {
implementation project(':base')
implementation project(':common')
implementation project(':common-ui')
implementation project(':common-data')
}
...