Можно ли загружать зависимости из репозитория на основе типов сборки при аутентификации в нем с соответствующими учетными данными (например, наши кредиты debug / dev, указывающие на SDK Reader учетной записи Square, и кредиты выпуска, указывающие на SDK Reader другой учетной записи Square, в этот случай) через тот же URL хранилища? Потому что на данный момент я не вижу никакой документации по этому вопросу.
Вот соответствующие части файла app
level build.gradle
:
...
final SQUARE_READER_SDK_APP_ID_DEV = 'sq0idp-T4SClu2rWV2AcYcEiHALXg'
final SQUARE_READER_SDK_APP_ID_PROD = 'sq0idp-cyEZl-H328bxzEh0E4tq5w'
final SQUARE_READER_SDK_VERSION = "1.3.6"
...
buildTypes {
debug {
...
repositories {
maven {
url "https://sdk.squareup.com/android"
credentials {
username SQUARE_READER_SDK_APP_ID_DEV
// Set as a property from CI command with one of its env vars
password squareReaderSdkPasswordDev
}
}
}
}
release {
...
repositories {
maven {
url "https://sdk.squareup.com/android"
credentials {
username SQUARE_READER_SDK_APP_ID_PROD
// Set as a property from CI command with one of its env vars
password squareReaderSdkPasswordProd
}
}
}
}
}
...
dependencies {
...
debugImplementation "com.squareup.sdk.reader:reader-sdk-$SQUARE_READER_SDK_APP_ID_DEV:$SQUARE_READER_SDK_VERSION"
releaseImplementation "com.squareup.sdk.reader:reader-sdk-$SQUARE_READER_SDK_APP_ID_PROD:$SQUARE_READER_SDK_VERSION"
runtimeOnly "com.squareup.sdk.reader:reader-sdk-internals:$SQUARE_READER_SDK_VERSION"
...
}
...
Обратите внимание, что построение этого локально (через сборки Gradle и задачу ./gradlew androidDependencies
) работает должным образом, , но не наш CI, как упомянуто в моем другом посте: Не удалось выполнить задачу ': app: androidDependencies' на Circle CI, но не локально
^, но он передает CI при загрузке зависимости только из одного типа сборки (то есть временно комментирует релизные кредиты, чтобы получить только отладочный, но не работает одновременно)
Кроме того, что-то подобное не возможно в Gradle? Мне просто нужен флаг отладки, который я могу использовать исключительно в файле Gradle для получения артефактов Maven на основе кредитов типа сборки при аутентификации в одном URL репо. И вот сообщение, которое я связал с командой Gradle: https://discuss.gradle.org/t/how-to-download-dependencies-from-a-repository-based-on-build-type-environment-in-gradle-file/35759:
...
repositories {
def squareReaderSdkAppId = SQUARE_READER_SDK_APP_ID_DEV
// Non-existent boolean debug flag, but here for informative purposes.
if (!debug) {
squareReaderSdkAppId = SQUARE_READER_SDK_APP_ID_PROD
}
def squareReaderSdkPassword = SQUARE_READER_SDK_PW_DEV
// Non-existent boolean debug flag, but here for informative purposes.
if (!debug) {
squareReaderSdkPassword = SQUARE_READER_SDK_PW_PROD
}
google()
maven {
url "https://sdk.squareup.com/android"
credentials {
username squareReaderSdkAppId
password squareReaderSdkPassword
}
}
jcenter()
}
...