Обратите внимание, что я также разместил этот вопрос на дискуссионном форуме Circle CI , поэтому я хотел бы получить некоторую обратную связь, касающуюся моей среды Gradle (т.е. загрузки зависимостей из Maven на основе типа / варианта сборки) или, черт возьми, если вы можете помочь мне в этом вопросе в целом!
Почему-то я не могу получить зависимости (в данном случае Square Reader SDK, и да, я Команда Square подтвердила, что вместо jar
из Maven следует загружать только файлы aar
- обратите внимание на ошибки в нижней части этого поста - так, чтобы они не заканчивались) для загрузки на Circle, в то время как Gradle собирался собрать и выполнение задачи ./gradlew androidDependencies
отлично работает локально на моей машине с использованием Android Studio. Я подтвердил те же результаты с другими моими коллегами.
На данный момент Gradle, очевидно, может быть проблемой здесь, когда нам нужно выяснить, как получить Gradle через Circle in-syn c с нашей местной средой. , И нет, обновление и плагина Android Gradle и версии Gradle постепенно не работало (т.е. с 3.4.1
до 3.5.3
для версии Android Gradle и с 5.1.1
до 5.4.1
для версии Gradle): https://developer.android.com/studio/releases/gradle-plugin#updating -gradle . Поэтому мы склонны сохранять версии как есть, поскольку все уже работает локально.
Вот соответствующие части файла config.yml
:
version: 2
jobs:
build:
working_directory: ~/code
docker:
- image: circleci/android:api-28
environment:
GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError -XX:ParallelGCThreads=2 -XX:ConcGCThreads=2 -XX:ParallelGCThreads=2 -Djava.util.concurrent.ForkJoinPool.common.parallelism=2"'
_JAVA_OPTIONS: "-Xmx2048m -XX:ParallelGCThreads=2 -XX:ConcGCThreads=2 -XX:ParallelGCThreads=2 -Djava.util.concurrent.ForkJoinPool.common.parallelism=2"
TZ: "/usr/share/zoneinfo/America/Indianapolis"
steps:
- checkout
- restore_cache:
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
- run:
name: Download Dependencies
command: ./gradlew androidDependencies -PsquareReaderSdkPasswordDev=$SQUARE_READER_SDK_REPO_PW_DEV -PsquareReaderSdkPasswordProd=$SQUARE_READER_SDK_REPO_PW_PROD -PnexusUsername=$NEXUS_USER -PnexusPassword=$NEXUS_PW -PdisablePreDex=true -PdexJavaMaxHeapSize=512m -PdexMaxProcessCount=1 --no-daemon --max-workers=1
- save_cache:
paths:
- ~/.gradle
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
...
Вот соответствующие журналы сборки Circle для шага «Загрузка зависимостей», описанного ниже, и обратите внимание, что файл jar
пытается получить файл, хотя aar
- единственный файл, доступный на Maven :
#!/bin/bash -eo pipefail ./gradlew androidDependencies -PsquareReaderSdkPasswordDev=$SQUARE_READER_SDK_REPO_PW_DEV -PsquareReaderSdkPasswordProd=$SQUARE_READER_SDK_REPO_PW_PROD -PnexusUsername=$NEXUS_USER -PnexusPassword=$NEXUS_PW -PdisablePreDex=true -PdexJavaMaxHeapSize=512m -PdexMaxProcessCount=1 --no-daemon --max-workers=1
Picked up _JAVA_OPTIONS: -Xmx2048m -XX:ParallelGCThreads=2 -XX:ConcGCThreads=2 -XX:ParallelGCThreads=2 -Djava.util.concurrent.ForkJoinPool.common.parallelism=2
Downloading https://services.gradle.org/distributions/gradle-5.1.1-all.zip......
...
Unzipping /home/circleci/.gradle/wrapper/dists/gradle-5.1.1-all/4roc7ipeffh0uifn0m8u5ua5qc/gradle-5.1.1-all.zip to /home/circleci/.gradle/wrapper/dists/gradle-5.1.1-all/4roc7ipeffh0uifn0m8u5ua5qc
Set executable permissions for: /home/circleci/.gradle/wrapper/dists/gradle-5.1.1-all/4roc7ipeffh0uifn0m8u5ua5qc/gradle-5.1.1/bin/gradle
Welcome to Gradle 5.1.1!
Here are the highlights of this release:
- Control which dependencies can be retrieved from which repositories
- Production-ready configuration avoidance APIs
For more details see https://docs.gradle.org/5.1.1/release-notes.html
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/5.1.1/userguide/gradle_daemon.html.
Daemon will be stopped at the end of the build stopping after processing
...
> Task :app:androidDependencies
debug
> Task :app:androidDependencies FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:androidDependencies'.
> Could not resolve all artifacts for configuration ':app:debugCompileClasspath'.
> Could not find reader-sdk-sq0idp-T4SClu2rWV2AcYcEiHALXg.jar (com.squareup.sdk.reader:reader-sdk-sq0idp-T4SClu2rWV2AcYcEiHALXg:1.3.6).
Searched in the following locations:
https://sdk.squareup.com/android/com/squareup/sdk/reader/reader-sdk-sq0idp-T4SClu2rWV2AcYcEiHALXg/1.3.6/reader-sdk-sq0idp-T4SClu2rWV2AcYcEiHALXg-1.3.6.jar
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.1.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 3m 4s
1 actionable task: 1 executed
Exited with code exit status 1
root
уровень файла build.gradle Android Версия плагина Gradle:
classpath 'com.android.tools.build:gradle:3.4.1'
... и версия Gradle из файла gradle-wrapper.properties
:
#Tue Apr 14 15:24:05 EDT 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
Вот соответствующие части файла build.gradle уровня app
(и обратите внимание на соответствующие зависимости, загружаемые из Maven в зависимости от типа сборки - в данном случае - debug / dev и prod), и, пожалуйста, дайте мне знать, если что-то выглядит неправильно) :
...
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 command
password squareReaderSdkPasswordDev
}
}
}
}
release {
...
repositories {
maven {
url "https://sdk.squareup.com/android"
credentials {
username SQUARE_READER_SDK_APP_ID_PROD
// Set as a property from command
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"
...
}
...