Giter VIP home page Giter VIP logo

steps-gradle-runner's Introduction

Gradle Runner

Step changelog

Runs a specified Gradle task.

Description

The Step runs the specified Gradle task and copies the generated APK and AAB files into the Bitrise Deploy Directory ($BITRISE_DEPLOY_DIR). It is capable of doing everything that you can do with Gradle on your own machine.

Configuring the Step

To use this Step, you need at least two things:

  • Gradle Wrapper.
  • A Gradle task that is correctly configured in your Gradle project.

The Step can run the specified task with the Gradle Wrapper. For the basic configuration:

  1. Open the Config input group.
  2. In the Gradle task to run input, add the task you want to run. Without an existing, valid task, the Step will fail.
  3. Set the gradlew file path: this is the path where the Gradle Wrapper lives in your project. The path should be relative to the project's root.
  4. Optionally, you can set a build.gradle file for the Step in the Optional path to the gradle build file to use input.

To configure exporting an APK or AAB file generated by the Step:

  1. Open the Export config input group.
  2. Filter the files you want the Step to export. You can filter:
    • APK and AAB files.
    • Test APK files.
    • Mapping files. Both exclude and include filters can be used. Each filter option can take multiple patterns, with each pattern on its own line in the input field.

Troubleshooting

If the Step keeps failing because it can't download the dependencies, check the repositories section in your build.gradle file. It's possible that one or more of the services listed there are down so we Bitrise can't connect to them to download the dependencies you need.

If you use a build.gradle file and get the error Issue with input: GradleFile does not exist, check the Optional path to the gradle build file to use input. Remember, the path must be relative to the root of the repository.

Useful links

Related Steps

๐Ÿงฉ Get started

Add this step directly to your workflow in the Bitrise Workflow Editor.

You can also run this step directly with Bitrise CLI.

Examples

This configuration builds all variant's aab:

- gradle-runner@2:
    inputs:
    - gradlew_path: "./gradlew"
    - gradle_task: bundleRelease

You can also set up file path filters to avoid exporting unwanted archives or mapping files:

- gradle-runner@2:
    inputs:
    - gradlew_path: "./gradlew"
    - gradle_task: bundleRelease
    - app_file_include_filter: "*release.aab"
    - app_file_exclude_filter: "*/temporary/*"
    - test_apk_file_include_filter: "*Test*.apk"
    - test_apk_file_exclude_filter: "*/immediate/*"
    - mapping_file_include_filter: "*/mapping.txt"
    - mapping_file_exclude_filter: "*/tmp/*"

โš™๏ธ Configuration

Inputs
Key Description Flags Default
gradle_file Optional path to the Gradle build file to use. It should be relative to the root of the project. $GRADLE_BUILD_FILE_PATH
gradle_task Gradle task to run. You can call gradle tasks or gradle tasks --all in your Gradle project directory to get the list of available tasks. required assemble
gradlew_path Using a Gradle Wrapper (gradlew) is required, as the wrapper ensures that the right Gradle version is installed and used for the build. You can find more information about the Gradle Wrapper (gradlew), and about how you can generate one in the official guide at: https://docs.gradle.org/current/userguide/gradle_wrapper.html. The path should be relative to the repository root. For example, ./gradlew, or if it is in a sub directory, ./sub/dir/gradlew. required $GRADLEW_PATH
app_file_include_filter The Step will copy the generated APK and AAB files that match this filter into the Bitrise deploy directory. Seperate patterns with a newline. Example: Copy every APK and AAB file: *.apk *.aab Copy every APK file with a filename that contains release, like (./app/build/outputs/apk/app-release-unsigned.apk): *release*.apk *.apk *.aab
app_file_exclude_filter One filter per line. The Step will NOT copy the generated APK and AAB files that match these filters into the Bitrise deploy directory. You can use this filter to avoid moving unaligned and/or unsigned APK and AAB files. If you specify an empty filter, every APK and AAB file (selected by APK and AAB file include filter) will be copied. Seperate patterns with a newline. Examples: Do not copy APK files with a filename that contains unaligned: *unaligned*.apk Do not copy APK files with a filename that contains unaligned and/or Test: *unaligned*.apk *Test*.apk *unaligned.apk *Test*.apk */intermediates/*
test_apk_file_include_filter The Step will copy the generated apk files that match this filter into the Bitrise deploy directory. Example: Copy every APK if its filename contains Test, like (./app/build/outputs/apk/app-debug-androidTest-unaligned.apk): *Test*.apk *Test*.apk
test_apk_file_exclude_filter One filter per line. The Step will NOT copy the generated apk files that match this filters into the Bitrise deploy directory. You can use this filter to avoid moving unalinged and/or unsigned apk files. If you specify an empty filter, every APK file (selected by apk_file_include_filter) will be copied. Example: Do not copy the test APK file if its filename contains unaligned: *unaligned*.apk
mapping_file_include_filter The Step will copy the generated mapping files that match this filter into the Bitrise deploy directory. If you specify an empty filter, no mapping files will be copied. Example: Copy every mapping.txt file: *mapping.txt */mapping.txt
mapping_file_exclude_filter The Step will not copy the generated mapping files that match this filter into the Bitrise deploy directory. You can use this input to avoid moving a beta mapping file, for example. If you specify an empty filter, every mapping file (selected by mapping_file_include_filter) will be copied. Example: Do not copy any mapping.txt file that is in a beta directoy: */beta/mapping.txt */tmp/*
cache_level all - will cache build-cache and dependencies only_deps - will cache dependencies only none - won't cache any of the above required only_deps
gradle_options Options added to the end of the Gradle call. You can use multiple options, separated by a space character. Example: --stacktrace --debug If --debug or -d options are set then only the last 20 lines of the raw gradle output will be visible in the build log. The full raw output will be exported to the $BITRISE_GRADLE_RAW_RESULT_TEXT_PATH variable and will be added as an artifact. --stacktrace --no-daemon
apk_file_include_filter This input is DEPRECATED - use the APK and AAB file include filter input instead and set this input to empty value. The step will copy the generated APK files that match this filter into the Bitrise Deploy Directory. If you specify an empty filter, the new input "APK and AAB file include filter" will be used. Example: Copy every APK file: "*.apk" Copy every APK file with a filename that contains release, like (./app/build/outputs/apk/app-release-unsigned.apk): *release*.apk
apk_file_exclude_filter This input is DEPRECATED - use the APK and AAB file exclude filter input instead and set this input to empty value. One filter per line. The step will not copy the generated APK files that match this filters into the Bitrise Deploy Directory. You can use this filter to avoid moving unalinged and/or unsigned apk files. If you specify an empty filter, the new input "APK and AAB file exclude filter" will be used. Examples: Do not copy APK files with a filename that contains unaligned: *unaligned*.apk Do not copy APK files with a filename that contains unaligned and/or Test: *unaligned*.apk *Test*.apk
collect_metrics Enable Gradle metrics collection and send data to Bitrise. no
Outputs
Environment Variable Description
BITRISE_APK_PATH This output will include the path of the generated APK file, after filtering based on the filter inputs. If the build generates more than one APK file which fulfills the filter inputs this output will contain the last one's path.
BITRISE_AAB_PATH This output will include the path of the generated AAB file, after filtering based on the filter inputs. If the build generates more than one AAB file which fulfills the filter inputs this output will contain the last one's path.
BITRISE_TEST_APK_PATH This output will include the path of the generated test APK file, after filtering based on the filter inputs. If the build generates more than one APK file which fulfills the filter inputs this output will contain the last one's path.
BITRISE_APK_PATH_LIST This output will include the paths of the generated APK files, after filtering based on the filter inputs. The paths are separated with | character, eg: app-armeabi-v7a-debug.apk|app-mips-debug.apk|app-x86-debug.apk
BITRISE_AAB_PATH_LIST This output will include the paths of the generated AAB files, after filtering based on the filter inputs. The paths are separated with | character, eg: app.aab|app2.aab
BITRISE_MAPPING_PATH This output will include the path of the generated mapping.txt. If more than one mapping.txt exist in project this output will contain the last one's path.

๐Ÿ™‹ Contributing

We welcome pull requests and issues against this repository.

For pull requests, work on your changes in a forked repository and use the Bitrise CLI to run step tests locally.

Learn more about developing steps:

steps-gradle-runner's People

Contributors

adborbas avatar birmacher avatar birmacherakos avatar bitrise-coresteps-bot avatar danicsorba avatar fehersanyi-bitrise avatar godrei avatar kdobmayer avatar koral-- avatar ktamas avatar lpusok avatar lszucs avatar maciekjanusz avatar ofalvai avatar radimvaculik avatar rajivshah3 avatar renovate[bot] avatar szabadember avatar trapacska avatar viktorbenei avatar zoltan-baba avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

steps-gradle-runner's Issues

FAILURE: Build failed with an exception.

Hello guys i get issue when i run react native project on ubuntu 16.04.
My react native version :
- react-native-cli: 2.0.1
- react-native: 0.42.0

  • What went wrong:
    A problem occurred configuring project ':app'.

You have not accepted the license agreements of the following SDK components:
[Android SDK Platform 23, Android SDK Build-Tools 23.0.1].
Before building your project, you need to accept the license agreements and complete the installation of the missing components using the Android Studio SDK Manager.
Alternatively, to learn how to transfer the license agreements from one workstation to another, go to http://d.android.com/r/studio-ui/export-licenses.html

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 9.838 secs
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/android-setup.html

Cached builds failing with Gradle 6.5

Since this topic got no attention in the slack channel or on discuss.bitrise.io I want to report this over here:

We recently updated to latest Gradle version 6.5 in most of our Android projects. Unfortunately the builds on bitrise started crashing. There seems to be an issue with the Gradle caching.

A problem occurred configuring project ':app'.
> Expected a single classpath entry, found: []
...
Caused by: java.lang.IllegalStateException: Expected a single classpath entry, found: []
    at org.gradle.groovy.scripts.internal.FileCacheBackedScriptClassCompiler.remapClasses(FileCacheBackedScriptClassCompiler.java:153)

This only occurs on bitrise.io. We have no issues building locally. Also projects on Travis CI (with the same logic) are running fine. Downgrading to Gradle 6.4.1 fixes the issue.

Here is sample project:

I tried several scenarios (some as close as possible as our Travis CI setups) but all are failing. Each time when I changed the workflow I cleared the cache, so the first build after that runs fine.

  1. (build #43)
  • Pull Cache Task
  • Gradle Runner Task with caching set to "none"
  • Gradle Push Task to upload the Gradle cache folder, ignoring recommended files from cache
  1. (build #45)
  • Pull Cache Task
  • Gradle Runner Task with caching set to "none"
  • Bash script to delete recommended files from cache
  • Gradle Push Task to upload the Gradle cache folder
  1. (build #47)
  • Pull Cache Task
  • Gradle Runner Task with caching set to "all"
  • Gradle Push Task default parameters
  1. Travis CI build for the same project running fine using the cache (expected build #45 to behave exactly the same)

Any idea what the issue could be?

Do chmod +x gradlew before calling it

If the project was generated on Windows / gradlew was generated on Windows there's a chance that the gradlew file won't have executable bit on Linux/Unix.

To solve this we should chmod +x the gradlew file (if it exists) before calling it.

"Could not GET" is matched case-insensitively

There seems to be a feature to rerun step on failure if some particular texts are present in log.
One of those is "Could not GET". This is exactly how it is written:

const couldNotGET = `Could not GET `

However it seems to be matched case-insensitively instead of sensitively. This leads to unneeded retries of builds containing texts like: Could not get the name for org_koin__koin_androidx_scope, Using org.koin:koin-androidx-scope which are normally produced by AboutLibraries Gradle plugin.

Android gradle version being used seems different then what is specified in build.gradle

In our build.gradle we state the following

'compileSdk'       : 27,
'buildToolsVersion': '27.0.3',
'minSdk'           : 16,
'targetSdk'        : 27,

dependencies {
  classpath 'com.android.tools.build:gradle:3.1.3'
}

Using the dependencies above the build succeeds locally, and has been running fine on Bitrise for months untill recently (17-dec-2018)

Then, without changing the above dependencies, suddenly an error popped up. (see below) The error does not happen locally using the code above, but it does happen locally when using the current version of android gradle plugin and required buildtools.

This leds me to believe that somehow their is a conflict between the gradle version we specifiy in our build files, and the gradle version bitrise is using to download dependencies.

The error that is happening on our bitrise build:
It seems gradle is looking for handlebars/java while it should look for handlebars.java

* What went wrong:
Execution failed for task ':app:lintVitalHousingQaRelease'.
> Could not resolve all artifacts for configuration ':app:housingMockDebugRuntimeClasspath'.
   > Could not find com.github.jknack.handlebars.java:handlebars:4.1.0.
     Searched in the following locations:
         file:/opt/android-sdk-linux/extras/m2repository/com/github/jknack/handlebars/java/handlebars/4.1.0/handlebars-4.1.0.pom
         file:/opt/android-sdk-linux/extras/m2repository/com/github/jknack/handlebars/java/handlebars/4.1.0/handlebars-4.1.0.jar
         file:/opt/android-sdk-linux/extras/google/m2repository/com/github/jknack/handlebars/java/handlebars/4.1.0/handlebars-4.1.0.pom
         file:/opt/android-sdk-linux/extras/google/m2repository/com/github/jknack/handlebars/java/handlebars/4.1.0/handlebars-4.1.0.jar
         file:/opt/android-sdk-linux/extras/android/m2repository/com/github/jknack/handlebars/java/handlebars/4.1.0/handlebars-4.1.0.pom
         file:/opt/android-sdk-linux/extras/android/m2repository/com/github/jknack/handlebars/java/handlebars/4.1.0/handlebars-4.1.0.jar
         file:/bitrise/src/app/libs/handlebars-4.1.0.jar
         file:/bitrise/src/app/libs/handlebars.jar
         http://dl.bintray.com/populov/maven/com/github/jknack/handlebars/java/handlebars/4.1.0/handlebars-4.1.0.pom
         http://dl.bintray.com/populov/maven/com/github/jknack/handlebars/java/handlebars/4.1.0/handlebars-4.1.0.jar
         https://oss.sonatype.org/content/repositories/snapshots/com/github/jknack/handlebars/java/handlebars/4.1.0/handlebars-4.1.0.pom
         https://oss.sonatype.org/content/repositories/snapshots/com/github/jknack/handlebars/java/handlebars/4.1.0/handlebars-4.1.0.jar
         https://maven.fabric.io/public/com/github/jknack/handlebars/java/handlebars/4.1.0/handlebars-4.1.0.pom
         https://maven.fabric.io/public/com/github/jknack/handlebars/java/handlebars/4.1.0/handlebars-4.1.0.jar
         https://jitpack.io/com/github/jknack/handlebars/java/handlebars/4.1.0/handlebars-4.1.0.pom
         https://jitpack.io/com/github/jknack/handlebars/java/handlebars/4.1.0/handlebars-4.1.0.jar
         https://dl.google.com/dl/android/maven2/com/github/jknack/handlebars/java/handlebars/4.1.0/handlebars-4.1.0.pom
         https://dl.google.com/dl/android/maven2/com/github/jknack/handlebars/java/handlebars/4.1.0/handlebars-4.1.0.jar
         https://jcenter.bintray.com/com/github/jknack/handlebars/java/handlebars/4.1.0/handlebars-4.1.0.pom
         https://jcenter.bintray.com/com/github/jknack/handlebars/java/handlebars/4.1.0/handlebars-4.1.0.jar
     Required by:
         project :app > com.github.jknack:handlebars:4.1.0

I checked on https://jcenter.bintray.com/com/github/jknack/handlebars/ where gradle is searching for the folder java, and not finding it.
I found https://jcenter.bintray.com/com/github/jknack/handlebars.java/ but gradle is not looking here :(

Can no longer specify multiple Gradle tasks to run

Prior to v1.5, it was possible to specify multiple tasks to run in the gradle_task parameter, e.g. setting gradle_task to assemble publishToMavenLocal. This would produce the following command:

/bitrise/src/gradlew --build-file /bitrise/src/build.gradle assemble publishToMavenLocal --stacktrace

With the update to v1.5, the parameters get wrapped in quotes:

/bitrise/src/gradlew "--build-file" "/bitrise/src/build.gradle" "assemble publishToMavenLocal" "--stacktrace"

... which now produces the following error because of the quotes:

* Exception is:
org.gradle.execution.TaskSelectionException: Task 'assemble publishToMavenLocal' not found in root project 'sdk'.

This may be related to the change to address this issue.

Is this new behaviour expected?

Feature Request: Export Android Libraries ($BITRISE_AAR_PATH)

Issue

Our team had been (mis)using steps-gradle-runner to build and publish an Android library to Artifactory. This was accomplished by using the value *.aar for the APK file include filter and referencing the BITRISE_APK_PATH environmental variable.

With the release of v1.9.0, this is no longer possible. The APK file include filter has been deprecated in favor of APK and AAB file include filter. And the filtering has become stricter, searching only for files ending in apk or aab:

steps-gradle-runner/main.go

Lines 407 to 413 in 8def79b

switch strings.ToLower(ext) {
case ".apk":
copiedApkFiles = append(copiedApkFiles, deployPth)
case ".aab":
copiedAabFiles = append(copiedAabFiles, deployPth)
default:
}

Request

Expand the export config settings to allow for Android library files and add environmental variables:

  • $BITRISE_AAR_PATH
  • $BITRISE_AAR_PATH_LIST

Output APK isn't accessible

Continued from bitrise-steplib/steps-google-play-deploy#22

Build # is 4d804c79c6912ba3

Please help...

EDIT: wtf..... got the file from bitrise deploy, it's only 15 bytes. When using cat on it I get this:

sjelin.is.cool

What's going on here???

EDIT: FOUND THE PROBLEM.

angular/webdriver-js-extender#14

^ this issue has been raised elsewhere. closing now




BUILD SUCCESSFUL

Total time: 4 mins 31.094 secs
Move apk files...
find "." "-path" "*.apk" "!" "-path" "*-unaligned.apk"
copy ./platforms/android/build/outputs/apk/android-release.apk to /bitrise/deploy/android-release.apk
copy ./node_modules/webdriver-js-extender/built/built/built/built/spec/command_tests/totally_real_apk.apk to /bitrise/deploy/totally_real_apk.apk
  1 attempt failed:
file already exists at: /bitrise/deploy/totally_real_apk.apk
  Retrying...
copy ./node_modules/webdriver-js-extender/built/built/built/spec/command_tests/totally_real_apk.apk to /bitrise/deploy/totally_real_apk20170510065708.apk
  1 attempt failed:
file already exists at: /bitrise/deploy/totally_real_apk.apk
  Retrying...
copy ./node_modules/webdriver-js-extender/built/built/spec/command_tests/totally_real_apk.apk to /bitrise/deploy/totally_real_apk20170510065709.apk
  1 attempt failed:
file already exists at: /bitrise/deploy/totally_real_apk.apk
  Retrying...
copy ./node_modules/webdriver-js-extender/built/spec/command_tests/totally_real_apk.apk to /bitrise/deploy/totally_real_apk20170510065710.apk
The apk path is now available in the Environment Variable: $BITRISE_APK_PATH (value: /bitrise/deploy/totally_real_apk20170510065710.apk)
Move mapping files...
find "." "-path" "*/mapping.txt" "!" "-path" ""
No mapping file matched the filters
|                                                                              |
+---+---------------------------------------------------------------+----------+
| โœ“ | [email protected]                                           | 280 sec  |
+---+---------------------------------------------------------------+----------+

                                          โ–ผ

+------------------------------------------------------------------------------+
| (6) [email protected]                                               |
+------------------------------------------------------------------------------+
| id: deploy-to-bitrise-io                                                     |
| version: 1.2.9                                                               |
| collection: https://github.com/bitrise-io/bitrise-steplib.git                |
| toolkit: bash                                                                |
| time: 2017-05-10T06:57:12Z                                                   |
+------------------------------------------------------------------------------+
|                                                                              |

=> Preparing step ...

Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
Fetching gem metadata from https://rubygems.org/.
Fetching version metadata from https://rubygems.org/.
Using bundler 1.14.6
Installing plist 3.2.0
Installing rubyzip 1.1.7
Installing ipa_analyzer 0.1.0
Bundle complete! 3 Gemfile dependencies, 4 gems now installed.
Gems in the group test were not installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.

=> Running the step ...


========== Configs ==========
 * Build URL: https://www.bitrise.io/build/4d804c79c6912ba3
 * Build's API Token: 042P_uEt9fiEnCBz3GR40A
 * is_compress: false
 * deploy_path: /bitrise/deploy/totally_real_apk20170510065710.apk
 * notify_user_groups: everyone
 * notify_email_list: 
 * is_enable_public_page: true

## Deploying single file


# Deploying apk file: /bitrise/deploy/totally_real_apk20170510065710.apk
--> Analyze the apk
W/zipro   ( 4381): Error opening archive /bitrise/deploy/totally_real_apk20170510065710.apk: Invalid file
ERROR: dump failed because no AndroidManifest.xml found
  (i) apk_info_hsh: {:file_size_bytes=>15, :app_info=>{:app_name=>"", :package_name=>"", :version_code=>"", :version_name=>"", :min_sdk_version=>""}}
--> Create a Build Artifact on Bitrise
 (i) File Size: 0.0 MB
--> Upload the apk
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100    15    0     0  100    15      0     55 --:--:-- --:--:-- --:--:--    55
--> Finish the Artifact creation

## Success
(i) You can find the Artifact on Bitrise, on the [Build's page](https://www.bitrise.io/build/4d804c79c6912ba3)
|                                                                              |
+---+---------------------------------------------------------------+----------+
| โœ“ | [email protected]                                    | 6.35 sec |
+---+---------------------------------------------------------------+----------+

                                          โ–ผ

+------------------------------------------------------------------------------+
| (7) [email protected]                                                 |
+------------------------------------------------------------------------------+
| id: google-play-deploy                                                       |
| version: 1.2.2                                                               |
| collection: https://github.com/bitrise-io/bitrise-steplib.git                |
| toolkit: go                                                                  |
| time: 2017-05-10T06:57:19Z                                                   |
+------------------------------------------------------------------------------+
|                                                                              |
INFO[06:57:19] Start installing (golang) with apt-get       
INFO[06:57:19]  * [OK] Step dependency (go) installed, available. 

Configs:
- JSONKeyPath: https://con***3e6
- PackageName: com.streaka.plantguard
- ApkPath: /bitrise/deploy/totally_real_apk20170510065710.apk
- Track: beta
- UserFraction: 0.5
- WhatsnewsDir: 
Deprecated Configs:
- ServiceAccountEmail: 
- P12KeyPath: 
- UntrackBlockingVersions: true

Authenticating
Authenticated client created

Create new edit
 editID: 03027312593099026970

Upload apks
Failed to upload apk, error: googleapi: Error 403: Invalid APK file., apkInvalidFile
|                                                                              |
+---+---------------------------------------------------------------+----------+
| x | [email protected] (exit code: 1)                       | 6.14 sec |
+---+---------------------------------------------------------------+----------+
| Issue tracker: https://github.com/bitrise-io/steps-google-play-deploy/issues |
| Source: https://github.com/bitrise-io/steps-google-play-deploy               |
+---+---------------------------------------------------------------+----------+


+------------------------------------------------------------------------------+
|                               bitrise summary                                |
+---+---------------------------------------------------------------+----------+
|   | title                                                         | time (s) |
+---+---------------------------------------------------------------+----------+
| โœ“ | [email protected]                                        | 3.21 sec |
+---+---------------------------------------------------------------+----------+
| โœ“ | [email protected]                                               | 43 sec   |
+---+---------------------------------------------------------------+----------+
| โœ“ | Do anything with Script step                                  | 1.07 sec |
+---+---------------------------------------------------------------+----------+
| โœ“ | Build Tools Install                                           | 131 sec  |
+---+---------------------------------------------------------------+----------+
| โœ“ | [email protected]                                         | 1.89 sec |
+---+---------------------------------------------------------------+----------+
| โœ“ | [email protected]                                           | 280 sec  |
+---+---------------------------------------------------------------+----------+
| โœ“ | [email protected]                                    | 6.35 sec |
+---+---------------------------------------------------------------+----------+
| x | [email protected] (exit code: 1)                       | 6.14 sec |
+---+---------------------------------------------------------------+----------+
| Issue tracker: https://github.com/bitrise-io/steps-google-play-deploy/issues |
| Source: https://github.com/bitrise-io/steps-google-play-deploy               |
+---+---------------------------------------------------------------+----------+
| Total runtime: 472 sec                                                       |
+------------------------------------------------------------------------------+

INFO[06:57:24]                                              
INFO[06:57:24] Submitting anonymized usage information...   
INFO[06:57:24] For more information visit:                  
INFO[06:57:24] https://github.com/bitrise-core/bitrise-plugins-analytics/blob/master/README.md 

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Error type: Cannot find preset's package (github>whitesource/merge-confidence:beta)

Generate dependencies map... has broken my job

I've enabled the bitrise support user: https://www.bitrise.io/build/b41cf412d186ede8

Plugin with id 'kotlin-android' not found.
Plugin with id 'kotlin-android' not found.
Cannot get property 'compileSdkVersion' on extra properties extension as it does not exist
Cannot get property 'compileSdkVersion' on extra properties extension as it does not exist
Plugin with id 'com.android.application' not found.
Plugin with id 'com.android.application' not found.
Plugin with id 'kotlin-android' not found.

We are using Configure project-wide properties as recommended by Google. The pattern of rootProject.ext.compileSdkVersion means these gradle files can't be evaluated independently (as rootProject would contain no extra properties).

Walking the filesystem and invoking (configs.GradlewPath, "-b", path, "dependencies", "-q") for each build.gradle file is not safe.

Setting JAVA 11 doesn't change jdk used by Gradle Runner

I use "Do anything with script" step to set JAVA 11 as follows.

`#!/bin/bash
set -ex

add-apt-repository -y ppa:openjdk-r/ppa
apt-get update -qq
apt-get install -y openjdk-11-jdk
update-java-alternatives -s /usr/lib/jvm/java-1.11.0-openjdk-amd64
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export JAVA_HOME
echo "done"`

When I run a task with Gradle Runner, I still get warnings saying JAVA 1.8 is deprecated.
> Task :app:sonarqube The version of Java (1.8.0_265) you have used to run this analysis is deprecated and we will stop accepting it from October 2020. Please update to at least Java 11.

Is there any option that I need to change to make Gradle work with Java 11?

v1.5.1: Specifying empty `mapping_file_include_filter` causes insane copy to bitrise deploy directory

Specifying an empty string for mapping_file_include_filter, i.e.

inputs:
- mapping_file_include_filter: ''

... will cause the step to try to copy every file from the source directory into the deploy directory :(.

Output:

Move mapping files...
  find "."
  1 attempt failed:
  file already exists at: /bitrise/deploy
  Retrying...
  copy . to /bitrise/deploy/20160916220910.
skipping directory .
  copy ./android-client to /bitrise/deploy/android-client

// this goes on for a while...

This can be worked around by not adding the empty input, but yeah.. this probably isn't good.

Build Failed: You have not accepted the license agreements of the following SDK components

Hello,

I'm getting the following error when trying to build my app with bitrise.io

You have not accepted the license agreements of the following SDK components:
[com.android.support.constraint:constraint-layout:1.0.0-alpha4, com.android.support.constraint:constraint-layout-solver:1.0.0-alpha4].
Before building your project, you need to accept the license agreements and complete the installation of the missing components using the Android Studio SDK Manager.
Alternatively, to learn how to transfer the license agreements from one workstation to another, go to http://d.android.com/r/studio-ui/export-licenses.html

 Exception is:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':app'.
    at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:79)
    at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:74)
    at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61)
    at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:540)
    at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:93)
    at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:47)
    at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35)
    at org.gradle.initialization.DefaultGradleLauncher$2.run(DefaultGradleLauncher.java:124)
    at org.gradle.internal.Factories$1.create(Factories.java:22)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:121)
    at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:99)
    at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:48)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
    at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
    at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
    at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
    at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:173)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:239)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:212)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:205)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
    at org.gradle.launcher.Main.doAction(Main.java:33)
    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:55)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:36)
    at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
    at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Caused by: java.lang.RuntimeException: You have not accepted the license agreements of the following SDK components:
[com.android.support.constraint:constraint-layout:1.0.0-alpha4, com.android.support.constraint:constraint-layout-solver:1.0.0-alpha4].
Before building your project, you need to accept the license agreements and complete the installation of the missing components using the Android Studio SDK Manager.
Alternatively, to learn how to transfer the license agreements from one workstation to another, go to http://d.android.com/r/studio-ui/export-licenses.html
    at com.android.builder.sdk.DefaultSdkLoader.checkResults(DefaultSdkLoader.java:516)
    at com.android.builder.sdk.DefaultSdkLoader.updateRepositories(DefaultSdkLoader.java:419)
    at com.android.build.gradle.internal.DependencyManager.collectArtifacts(DependencyManager.java:550)
    at com.android.build.gradle.internal.DependencyManager.gatherDependencies(DependencyManager.java:385)
    at com.android.build.gradle.internal.DependencyManager.resolveDependencyForConfig(DependencyManager.java:288)
    at com.android.build.gradle.internal.DependencyManager.resolveDependencies(DependencyManager.java:159)
    at com.android.build.gradle.internal.TaskManager.resolveDependencies(TaskManager.java:364)
    at com.android.build.gradle.internal.VariantManager$9.call(VariantManager.java:636)
    at com.android.build.gradle.internal.VariantManager$9.call(VariantManager.java:633)
    at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:156)
    at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:120)
    at com.android.build.gradle.internal.profile.SpanRecorders.record(SpanRecorders.java:44)
    at com.android.build.gradle.internal.VariantManager.createVariantData(VariantManager.java:629)
    at com.android.build.gradle.internal.VariantManager.createVariantDataForProductFlavors(VariantManager.java:823)
    at com.android.build.gradle.internal.VariantManager.populateVariantDataList(VariantManager.java:494)
    at com.android.build.gradle.internal.VariantManager$1.call(VariantManager.java:269)
    at com.android.build.gradle.internal.VariantManager$1.call(VariantManager.java:266)
    at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:156)
    at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:120)
    at com.android.build.gradle.internal.VariantManager.createAndroidTasks(VariantManager.java:265)
    at com.android.build.gradle.BasePlugin$11.call(BasePlugin.java:688)
    at com.android.build.gradle.BasePlugin$11.call(BasePlugin.java:685)
    at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:156)
    at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:120)
    at com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.java:683)
    at com.android.build.gradle.BasePlugin$10.call(BasePlugin.java:608)
    at com.android.build.gradle.BasePlugin$10.call(BasePlugin.java:605)
    at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:156)
    at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:120)
    at com.android.build.gradle.BasePlugin.lambda$createTasks$1(BasePlugin.java:603)
    at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:93)
    at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:82)
    at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:44)
    at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:79)
    at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:30)
    at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
    at com.sun.proxy.$Proxy11.afterEvaluate(Unknown Source)
    at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:67)
    ... 44 more


BUILD FAILED

mapping.txt remains empty after successful build

Troubleshooting

  • I've searched discuss.bitrise.io for possible solutions.
  • Which version of the step is effected? 2.0.1
  • Is the issue reproducible with the latest version? YES
  • Does the issue happen sporadically, or every time? EVERY TIME
  • Is the issue reproducible locally by following our local debug guide? NO -> Locally with Bitrise CLI it fail earlier during a setup script

Useful information

Issue description

During minify, many mapping files are created of which only a few have content. In the end, mappings.txt remains empty. Result is that it cannot be uploaded to Google Play Store.
Locally we don't see this weird mapping files with timestamps appear.

Screenshot 2022-01-10 at 11 07 14

Bitrise info

 +------------------------------------------------------------------------------+
| (9) Android Build                                                            |
+------------------------------------------------------------------------------+
| id: gradle-runner                                                            |
| version: 2.0.1                                                               |
| collection: https://github.com/bitrise-io/bitrise-steplib.git                |
| toolkit: go                                                                  |
| time: 2022-01-10T09:02:23Z                                                   |
+------------------------------------------------------------------------------+
|                                                                              |
๏ฟฝ[34;1mConfig:
๏ฟฝ[0m- GradleFile: 
- GradleTasks: :app:assembleRelease :app:bundleRelease
- GradlewPath: ./gradlew
- GradleOptions: --stacktrace --no-daemon
- AppFileIncludeFilter: *.apk
*.aab
  • AppFileExcludeFilter: *unaligned.apk
    Test.apk
    /intermediates/

  • TestApkFileIncludeFilter: Test.apk

  • TestApkFileExcludeFilter:

  • MappingFileIncludeFilter: */mapping.txt

  • MappingFileExcludeFilter: /tmp/

  • CacheLevel: only_deps

  • DeployDir: /bitrise/deploy

  • ApkFileIncludeFilter:

  • ApkFileExcludeFilter:

๏ฟฝ[34;1mRunning gradle task...๏ฟฝ[0m

๏ฟฝ[32;1m$ /bitrise/src/gradlew ":app:assembleRelease" ":app:bundleRelease" "--stacktrace" "--no-daemon"๏ฟฝ[0m

To honour the JVM settings for this build a single-use Daemon process will be forked. See https://docs.gradle.org/7.2/userguide/gradle_daemon.html#sec:disabling_the_daemon.
Daemon will be stopped at the end of the build

Configure project :app
appVersionCode components oneMillion (1000000) commitCount (18108) + timeBasedOffset (27741)


building app version 3.20.0 (1045849)

Using RELEASE certificate for signing app - releasable to Google Play

  • with store pasword: '[REDACTED]'
  • with alias pasword: '[REDACTED]'
    WARNING:Using flatDir should be avoided because it doesn't support any meta-data formats.

Configure project :devices:barcode-scanners:zebra:datawedge
WARNING:Using flatDir should be avoided because it doesn't support any meta-data formats.

Configure project :devices:readers:idhand:idhandv2-sdk
WARNING:Using flatDir should be avoided because it doesn't support any meta-data formats.

Configure project :devices:readers:zebra:zebra-sdk-v2
WARNING:Using flatDir should be avoided because it doesn't support any meta-data formats.

...

Task :app:lintVitalAnalyzeRelease
nl.littlerobots.rxlint.RxIssueRegistry in /root/.gradle/caches/transforms-3/299f4a9d8c637b52a97d0c0181d4c88a/transformed/jetified-rxlint-1.7.3/jars/lint.jar does not specify a vendor; see IssueRegistry#vendor

Task :app:minifyReleaseWithR8
WARNING:/bitrise/src/app/build/intermediates/merged_java_res/release/base.jar: R8: Unexpected reference to missing service class: META-INF/services/javax.json.bind.spi.JsonbProvider.
WARNING:Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in /bitrise/src/app/build/outputs/mapping/release/missing_rules.txt.

WARNING:R8: Missing class android.os.ServiceManager (referenced from: void com.zebra.rfid.RfidServiceMgr.())
Missing class com.thoughtworks.paranamer.AdaptiveParanamer (referenced from: void com.dslplatform.json.runtime.ParanamerParameterNameExtractor.())
Missing class com.thoughtworks.paranamer.Paranamer (referenced from: com.thoughtworks.paranamer.Paranamer com.dslplatform.json.runtime.ParanamerParameterNameExtractor.paranamer and 1 other context)
Missing class java.awt.Graphics2D (referenced from: void com.dslplatform.json.JavaGeomConverter.serialize(java.awt.Image, com.dslplatform.json.JsonWriter))
Missing class java.awt.Graphics (referenced from: void com.dslplatform.json.JavaGeomConverter.serialize(java.awt.Image, com.dslplatform.json.JsonWriter))
Missing class java.awt.Image (referenced from: void com.dslplatform.json.DslJson.registerJavaSpecifics(com.dslplatform.json.DslJson) and 3 other contexts)
Missing class java.awt.Point (referenced from: void com.dslplatform.json.DslJson.registerJavaSpecifics(com.dslplatform.json.DslJson) and 6 other contexts)
Missing class java.awt.geom.Point2D$Double (referenced from: void com.dslplatform.json.DslJson.registerJavaSpecifics(com.dslplatform.json.DslJson) and 2 other contexts)
Missing class java.awt.geom.Point2D (referenced from: void com.dslplatform.json.DslJson.registerJavaSpecifics(com.dslplatform.json.DslJson) and 4 other contexts)
Missing class java.awt.geom.Rectangle2D$Double (referenced from: void com.dslplatform.json.DslJson.registerJavaSpecifics(com.dslplatform.json.DslJson) and 2 other contexts)
Missing class java.awt.geom.Rectangle2D (referenced from: void com.dslplatform.json.DslJson.registerJavaSpecifics(com.dslplatform.json.DslJson) and 4 other contexts)
Missing class java.awt.image.BufferedImage (referenced from: void com.dslplatform.json.DslJson.registerJavaSpecifics(com.dslplatform.json.DslJson) and 3 other contexts)
Missing class java.awt.image.ImageObserver (referenced from: void com.dslplatform.json.JavaGeomConverter.serialize(java.awt.Image, com.dslplatform.json.JsonWriter))
Missing class java.awt.image.RenderedImage (referenced from: void com.dslplatform.json.JavaGeomConverter.serialize(java.awt.Image, com.dslplatform.json.JsonWriter))
Missing class javax.imageio.ImageIO (referenced from: java.awt.image.BufferedImage com.dslplatform.json.JavaGeomConverter.deserializeImage(com.dslplatform.json.JsonReader) and 1 other context)
Missing class javax.json.bind.Jsonb (referenced from: com.dslplatform.json.jsonb.DslJsonbProvider$DslJsonb)
Missing class javax.json.bind.JsonbBuilder (referenced from: javax.json.bind.JsonbBuilder com.dslplatform.json.jsonb.DslJsonbProvider.create() and 1 other context)
Missing class javax.json.bind.spi.JsonbProvider (referenced from: void com.dslplatform.json.jsonb.DslJsonbProvider.() and 1 other context)
Missing class javax.lang.model.SourceVersion (referenced from: javax.lang.model.SourceVersion com.dslplatform.json.processor.CompiledJsonAnnotationProcessor.getSupportedSourceVersion())
Missing class javax.lang.model.element.AnnotationMirror (referenced from: javax.lang.model.element.AnnotationMirror com.dslplatform.json.processor.Analysis$AccessElements.annotation and 54 other contexts)
Missing class javax.lang.model.element.AnnotationValue (referenced from: boolean com.dslplatform.json.processor.Analysis.booleanAnnotationValue(javax.lang.model.element.AnnotationMirror, java.lang.String, boolean) and 16 other contexts)
Missing class javax.lang.model.element.Element (referenced from: javax.lang.model.element.Element com.dslplatform.json.processor.AttributeInfo.element and 62 other contexts)
Missing class javax.lang.model.element.ElementKind (referenced from: void com.dslplatform.json.processor.Analysis$1.() and 17 other contexts)
Missing class javax.lang.model.element.ExecutableElement (referenced from: javax.lang.model.element.ExecutableElement com.dslplatform.json.processor.Analysis$AccessElements.read and 71 other contexts)
Missing class javax.lang.model.element.Modifier (referenced from: java.util.Map com.dslplatform.json.processor.Analysis.analyze() and 6 other contexts)
Missing class javax.lang.model.element.Name (referenced from: java.util.Map com.dslplatform.json.processor.Analysis.analyze() and 34 other contexts)
Missing class javax.lang.model.element.NestingKind (referenced from: void com.dslplatform.json.processor.Analysis.findStructs(javax.lang.model.element.Element, javax.lang.model.type.DeclaredType, java.lang.String, java.util.Stack, javax.lang.model.element.ExecutableElement, javax.lang.model.element.ExecutableElement) and 4 other contexts)
Missing class javax.lang.model.element.PackageElement (referenced from: boolean com.dslplatform.json.processor.Analysis.requiresPublic(javax.lang.model.element.Element))
Missing class javax.lang.model.element.TypeElement (referenced from: javax.lang.model.element.TypeElement com.dslplatform.json.processor.Analysis.attributeElement and 56 other contexts)
Missing class javax.lang.model.element.TypeParameterElement (referenced from: java.util.Map com.dslplatform.json.processor.Analysis.findGenericSignatures(javax.lang.model.type.TypeMirror) and 2 other contexts)
Missing class javax.lang.model.element.VariableElement (referenced from: javax.lang.model.element.VariableElement com.dslplatform.json.processor.Analysis$AccessElements.arg and 28 other contexts)
Missing class javax.lang.model.type.ArrayType (referenced from: void com.dslplatform.json.processor.Analysis.analyzePartsRecursively(javax.lang.model.type.TypeMirror, java.util.Map, java.util.Set) and 9 other contexts)
Missing class javax.lang.model.type.DeclaredType (referenced from: javax.lang.model.type.DeclaredType com.dslplatform.json.processor.Analysis.attributeType and 32 other contexts)
Missing class javax.lang.model.type.PrimitiveType (referenced from: javax.lang.model.type.TypeMirror com.dslplatform.json.processor.Analysis.unpackType(javax.lang.model.type.TypeMirror))
Missing class javax.lang.model.type.TypeKind (referenced from: void com.dslplatform.json.processor.Analysis$1.() and 13 other contexts)
Missing class javax.lang.model.type.TypeMirror (referenced from: javax.lang.model.type.TypeMirror com.dslplatform.json.processor.Analysis.baseListType and 60 other contexts)
Missing class javax.lang.model.type.TypeVariable (referenced from: void com.dslplatform.json.processor.AttributeInfo.createTypeSignature(javax.lang.model.type.TypeMirror, java.util.Map, java.lang.StringBuilder) and 2 other contexts)
Missing class javax.lang.model.type.WildcardType (referenced from: void com.dslplatform.json.processor.Analysis.analyzePartsRecursively(javax.lang.model.type.TypeMirror, java.util.Map, java.util.Set) and 3 other contexts)
Missing class javax.lang.model.util.ElementFilter (referenced from: javax.lang.model.element.ExecutableElement com.dslplatform.json.processor.Analysis.findAnnotatedConstructor(javax.lang.model.element.Element, javax.lang.model.type.DeclaredType) and 11 other contexts)
Missing class javax.lang.model.util.Elements (referenced from: javax.lang.model.util.Elements com.dslplatform.json.processor.Analysis.elements and 9 other contexts)
Missing class javax.lang.model.util.Types (referenced from: javax.lang.model.util.Types com.dslplatform.json.processor.Analysis.types and 17 other contexts)
Missing class javax.tools.Diagnostic$Kind (referenced from: java.util.Map com.dslplatform.json.processor.Analysis.analyze() and 17 other contexts)
Missing class javax.tools.FileObject (referenced from: boolean com.dslplatform.json.processor.CompiledJsonAnnotationProcessor.process(java.util.Set, javax.annotation.processing.RoundEnvironment) and 1 other context)
Missing class javax.tools.JavaFileManager$Location (referenced from: void com.dslplatform.json.processor.CompiledJsonAnnotationProcessor.saveToServiceConfigFile(java.util.List, java.util.List))
Missing class javax.tools.JavaFileObject (referenced from: boolean com.dslplatform.json.processor.CompiledJsonAnnotationProcessor.process(java.util.Set, javax.annotation.processing.RoundEnvironment))
Missing class javax.tools.StandardLocation (referenced from: void com.dslplatform.json.processor.CompiledJsonAnnotationProcessor.saveToServiceConfigFile(java.util.List, java.util.List))
WARNING:R8: The method javax.lang.model.element.Element com.dslplatform.json.processor.Analysis.findElement(javax.lang.model.type.TypeMirror) does not type check and will be assumed to be unreachable.
WARNING:R8: The method void com.dslplatform.json.processor.AttributeInfo.<init>(java.lang.String, javax.lang.model.element.ExecutableElement, javax.lang.model.element.ExecutableElement, javax.lang.model.element.VariableElement, javax.lang.model.element.VariableElement, javax.lang.model.type.TypeMirror, boolean, boolean, boolean, javax.lang.model.element.AnnotationMirror, boolean, boolean, int, java.lang.String, boolean, com.dslplatform.json.CompiledJson$TypeSignature, com.dslplatform.json.JsonAttribute$IncludePolicy, com.dslplatform.json.processor.ConverterInfo, boolean, java.util.LinkedHashSet, java.util.Map, java.util.Map, boolean) does not type check and will be assumed to be unreachable.

Task :app:lintVitalAnalyzeRelease
org.xml.sax.SAXParseException; lineNumber: 62; columnNumber: 53; The prefix "app" for attribute "app:onSafeClick" associated with an element type "ImageView" is not bound.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
at com.android.utils.PositionXmlParser.parseInternal(PositionXmlParser.java:268)
at com.android.utils.PositionXmlParser.parseInternal(PositionXmlParser.java:217)
at com.android.utils.PositionXmlParser.parse(PositionXmlParser.java:206)
at com.android.utils.PositionXmlParser.parse(PositionXmlParser.java:145)
at com.android.tools.lint.LintCliXmlParser.parseXml(LintCliXmlParser.java:64)
at com.android.tools.lint.client.api.LintClient.getXmlDocument(LintClient.kt:335)
at com.android.tools.lint.LintCliClient.getXmlDocument(LintCliClient.kt:843)
at com.android.tools.lint.client.api.LintClient.getXmlDocument$default(LintClient.kt:331)
at com.android.tools.lint.LintResourceRepository$Companion.processFiles(LintResourceRepository.kt:775)
at com.android.tools.lint.LintResourceRepository$Companion.scanTypeFolder(LintResourceRepository.kt:644)
at com.android.tools.lint.LintResourceRepository$Companion.createFromFolder(LintResourceRepository.kt:617)
at com.android.tools.lint.LintResourceRepository$Companion.createFromFolder(LintResourceRepository.kt:595)
at com.android.tools.lint.LintResourceRepository$Companion.getForProjectOnly(LintResourceRepository.kt:456)
at com.android.tools.lint.LintResourceRepository$Companion.createRepository(LintResourceRepository.kt:393)
at com.android.tools.lint.LintResourceRepository$Companion.get(LintResourceRepository.kt:376)
at com.android.tools.lint.LintCliClient.getResources(LintCliClient.kt:852)
at com.android.tools.lint.client.api.LintDriver$LintClientWrapper.getResources(LintDriver.kt:2751)
at com.android.tools.lint.checks.ManifestResourceDetector.checkReference(ManifestResourceDetector.java:132)
at com.android.tools.lint.checks.ManifestResourceDetector.visitAttribute(ManifestResourceDetector.java:84)
at com.android.tools.lint.client.api.ResourceVisitor.visitElement(ResourceVisitor.java:166)
at com.android.tools.lint.client.api.ResourceVisitor.visitElement(ResourceVisitor.java:177)
at com.android.tools.lint.client.api.ResourceVisitor.visitFile(ResourceVisitor.java:125)
at com.android.tools.lint.client.api.LintDriver$runFileDetectors$1.run(LintDriver.kt:1313)
at com.android.tools.lint.client.api.LintClient.runReadAction(LintClient.kt:1780)
at com.android.tools.lint.client.api.LintDriver$LintClientWrapper.runReadAction(LintDriver.kt:2647)
at com.android.tools.lint.client.api.LintDriver.runFileDetectors(LintDriver.kt:1292)
at com.android.tools.lint.client.api.LintDriver.checkProject(LintDriver.kt:1153)
at com.android.tools.lint.client.api.LintDriver.checkProjectRoot(LintDriver.kt:629)
at com.android.tools.lint.client.api.LintDriver.access$checkProjectRoot(LintDriver.kt:154)
at com.android.tools.lint.client.api.LintDriver$analyzeOnly$1.invoke(LintDriver.kt:443)
at com.android.tools.lint.client.api.LintDriver$analyzeOnly$1.invoke(LintDriver.kt:436)
at com.android.tools.lint.client.api.LintDriver.doAnalyze(LintDriver.kt:503)
at com.android.tools.lint.client.api.LintDriver.analyzeOnly(LintDriver.kt:435)
at com.android.tools.lint.LintCliClient$analyzeOnly$1.invoke(LintCliClient.kt:241)
at com.android.tools.lint.LintCliClient$analyzeOnly$1.invoke(LintCliClient.kt:241)
at com.android.tools.lint.LintCliClient.run(LintCliClient.kt:283)
at com.android.tools.lint.LintCliClient.run$default(LintCliClient.kt:266)
at com.android.tools.lint.LintCliClient.analyzeOnly(LintCliClient.kt:241)
at com.android.tools.lint.Main.run(Main.java:1544)
at com.android.tools.lint.Main.run(Main.java:270)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.android.build.gradle.internal.lint.AndroidLintWorkAction.invokeLintMainRunMethod(AndroidLintWorkAction.kt:135)
at com.android.build.gradle.internal.lint.AndroidLintWorkAction.runLint(AndroidLintWorkAction.kt:127)
at com.android.build.gradle.internal.lint.AndroidLintWorkAction.execute(AndroidLintWorkAction.kt:52)
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:97)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:79)
at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:79)
at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$2(DefaultWorkerExecutor.java:206)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:214)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:131)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)

Task :app:compileReleaseArtProfile

Task :app:lintVitalRelease
No issues found.

Task :app:collectReleaseDependencies
Task :app:sdkReleaseDependencyData
Task :app:validateSigningRelease
Task :app:writeReleaseAppMetadata
Task :app:writeReleaseSigningConfigVersions
Task :app:uploadCrashlyticsMappingFileRelease
Task :app:processApplicationManifestReleaseForBundle
Task :app:packageRelease
Task :app:assembleRelease
Task :app:configureReleaseDependencies
Task :app:parseReleaseIntegrityConfig
Task :app:bundleReleaseResources
Task :app:buildReleasePreBundle
Task :app:packageReleaseBundle
Task :app:signReleaseBundle
Task :app:produceReleaseBundleIdeListingFile
Task :app:bundleRelease

BUILD SUCCESSFUL in 9m 6s
971 actionable tasks: 117 executed, 854 up-to-date

๏ฟฝ[34;1mCollecting cache:๏ฟฝ[0m

๏ฟฝ[34;1mMove APK and AAB files...๏ฟฝ[0m
Copying app/build/outputs/apk/release/[REDACTED]-v3.20.0-1045849-release.apk --> /bitrise/deploy/[REDACTED]-v3.20.0-1045849-release.apk
Copying app/build/outputs/bundle/release/[REDACTED]-v3.20.0-1045849-release.aab --> /bitrise/deploy/[REDACTED]-v3.20.0-1045849-release.aab
๏ฟฝ[32;1mThe app path is now available in the Environment Variable: $BITRISE_APK_PATH (value: /bitrise/deploy/[REDACTED]-v3.20.0-1045849-release.apk)๏ฟฝ[0m
๏ฟฝ[32;1mThe app path is now available in the Environment Variable: $BITRISE_AAB_PATH (value: /bitrise/deploy/[REDACTED]-v3.20.0-1045849-release.aab)๏ฟฝ[0m
๏ฟฝ[32;1mThe app paths list is now available in the Environment Variable: $BITRISE_APK_PATH_LIST (value: /bitrise/deploy/[REDACTED]-v3.20.0-1045849-release.apk)๏ฟฝ[0m
๏ฟฝ[32;1mThe app paths list is now available in the Environment Variable: $BITRISE_AAB_PATH_LIST (value: /bitrise/deploy/[REDACTED]-v3.20.0-1045849-release.aab)๏ฟฝ[0m
๏ฟฝ[33;1mNo file name matched test apk filters๏ฟฝ[0m
๏ฟฝ[34;1mMove mapping files...๏ฟฝ[0m
Copying app/build/outputs/mapping/release/mapping.txt --> /bitrise/deploy/mapping.txt
๏ฟฝ[33;1mCouldn't open /bitrise/deploy/mapping.txt for writing: file already exists at: /bitrise/deploy/mapping.txt๏ฟฝ[0m
๏ฟฝ[33;1mTrying /bitrise/deploy/mapping20220110091138.txt instead๏ฟฝ[0m
Copying devices/printers/sato/printer-sato/build/outputs/mapping/release/mapping.txt --> /bitrise/deploy/mapping.txt
๏ฟฝ[33;1mCouldn't open /bitrise/deploy/mapping.txt for writing: file already exists at: /bitrise/deploy/mapping.txt๏ฟฝ[0m
๏ฟฝ[33;1mTrying /bitrise/deploy/mapping20220110091139.txt instead๏ฟฝ[0m
๏ฟฝ[33;1mskipping: devices/readers/tsl/tsl-sdk/build/outputs/mapping/release/mapping.txt, modified before the gradle task has started๏ฟฝ[0m
๏ฟฝ[33;1mskipping: devices/readers/zebra/common/build/outputs/mapping/release/mapping.txt, modified before the gradle task has started๏ฟฝ[0m
Copying devices/readers/zebra/rfd8500-zeti/build/outputs/mapping/release/mapping.txt --> /bitrise/deploy/mapping.txt
๏ฟฝ[33;1mCouldn't open /bitrise/deploy/mapping.txt for writing: file already exists at: /bitrise/deploy/mapping.txt๏ฟฝ[0m
๏ฟฝ[33;1mTrying /bitrise/deploy/mapping20220110091140.txt instead๏ฟฝ[0m
๏ฟฝ[32;1mThe mapping path is now available in the Environment Variable: $BITRISE_MAPPING_PATH (value: /bitrise/deploy/mapping20220110091140.txt)๏ฟฝ[0m
| |
+---+---------------------------------------------------------------+----------+
| ๏ฟฝ[32;1mโœ“๏ฟฝ[0m | ๏ฟฝ[32;1mAndroid Build๏ฟฝ[0m | 9.3 min |
+---+---------------------------------------------------------------+----------+

                                      โ–ผ

+------------------------------------------------------------------------------+
| (10) cache-push |
+------------------------------------------------------------------------------+
| id: cache-push |
| version: 2.6.0 |
| collection: https://github.com/bitrise-io/bitrise-steplib.git |
| toolkit: go |
| time: 2022-01-10T09:11:42Z |
+------------------------------------------------------------------------------+
| |
๏ฟฝ[36mINFO๏ฟฝ[0m[09:11:42] Start installing (tar) with apt-get
๏ฟฝ[36mINFO๏ฟฝ[0m[09:11:42] * ๏ฟฝ[32;1m[OK]๏ฟฝ[0m Step dependency (tar) installed, available.
๏ฟฝ[34;1mConfig:
๏ฟฝ[0m- Paths:
/root/.gradle -> /bitrise/src/gradle.deps
/root/.kotlin -> /bitrise/src/gradle.deps
/root/.m2 -> /bitrise/src/gradle.deps

/root/.gradle -> /bitrise/src/gradle.deps
/root/.kotlin -> /bitrise/src/gradle.deps
/root/.m2 -> /bitrise/src/gradle.deps

/root/.gradle -> /bitrise/src/gradle.deps
/root/.kotlin -> /bitrise/src/gradle.deps
/root/.m2 -> /bitrise/src/gradle.deps

  • IgnoredPaths:
    !~/.gradle/daemon//daemon-.out.log
    ~/.android/build-cache/**
    *.lock
    .bin
    /build/.json
    /build/.html
    /build/.xml
    /build/.properties
    /build//zip-cache/

    *.log
    .txt
    .rawproto
    !
    .ap_
    !
    .apk

!~/.gradle/daemon//daemon-.out.log
~/.android/build-cache/**
*.lock
.bin
/build/.json
/build/.html
/build/.xml
/build/.properties
/build//zip-cache/

*.log
.txt
.rawproto
!
.ap_
!
.apk

!~/.gradle/daemon//daemon-.out.log
~/.android/build-cache/**
*.lock
.bin
/build/.json
/build/.html
/build/.xml
/build/.properties
/build//zip-cache/

*.log
.txt
.rawproto
!
.ap_
!
.apk

  • CacheAPIURL: [REDACTED]
  • FingerprintMethodID: file-content-hash
  • CompressArchive: false
  • DebugMode: false
  • StackID: linux-docker-android-20.04
  • BuildSlug: f1341fd8-0e93-470b-9a8d-78b925d87448

๏ฟฝ[34;1mCleaning paths๏ฟฝ[0m
๏ฟฝ[33;1mpath does not exists at: /root/.m2๏ฟฝ[0m
๏ฟฝ[32;1mDone in 1.224889683s
๏ฟฝ[0m
๏ฟฝ[34;1mChecking previous cache status๏ฟฝ[0m
Previous cache info found at: /tmp/cache-info.json
๏ฟฝ[32;1mDone in 106.439827ms
๏ฟฝ[0m
๏ฟฝ[34;1mChecking for file changes๏ฟฝ[0m
๏ฟฝ[33;1m0 files need to be removed๏ฟฝ[0m
๏ฟฝ[33;1m23469 files have changed๏ฟฝ[0m
๏ฟฝ[33;1m28 files added๏ฟฝ[0m
๏ฟฝ[32;1mFile changes found in 32.218476ms
๏ฟฝ[0m
๏ฟฝ[34;1mGenerating cache archive๏ฟฝ[0m
๏ฟฝ[32;1mDone in 10.284346101s
๏ฟฝ[0m
๏ฟฝ[34;1mUploading cache archive๏ฟฝ[0m
Archive file size: 1718364160 bytes / 1638.759766 MB
๏ฟฝ[32;1mDone in 13.066550003s
๏ฟฝ[0m
๏ฟฝ[32;1mTotal time: 24.714839605s๏ฟฝ[0m
| |
+---+---------------------------------------------------------------+----------+
| ๏ฟฝ[32;1mโœ“๏ฟฝ[0m | ๏ฟฝ[32;1mcache-push๏ฟฝ[0m | 27.53 sec|
+---+---------------------------------------------------------------+----------+

                                      โ–ผ

+------------------------------------------------------------------------------+
| (11) deploy-to-bitrise-io |
+------------------------------------------------------------------------------+
| id: deploy-to-bitrise-io |
| version: 2.0.1 |
| collection: https://github.com/bitrise-io/bitrise-steplib.git |
| toolkit: go |
| time: 2022-01-10T09:12:10Z |
+------------------------------------------------------------------------------+
| |
๏ฟฝ[34;1mConfig:
๏ฟฝ[0m- BuildURL: https://app.bitrise.io/build/f1341fd8-0e93-470b-9a8d-78b925d87448

  • APIToken: [REDACTED]
  • IsCompress: false
  • ZipName:
  • DeployPath: /bitrise/deploy
  • NotifyUserGroups: everyone
  • NotifyEmailList:
  • IsPublicPageEnabled: true
  • PublicInstallPageMapFormat: {{range $index, $element := .}}{{if $index}}|{{end}}{{$element.File}}=>{{$element.URL}}{{end}}
  • PermanentDownloadURLMapFormat: {{range $index, $element := .}}{{if $index}}|{{end}}{{$element.File}}=>{{$element.URL}}{{end}}
  • BuildSlug: f1341fd8-0e93-470b-9a8d-78b925d87448
  • TestDeployDir: /tmp/test_results871513433
  • AppSlug: e641ea993adca367
  • AddonAPIBaseURL: [REDACTED]
  • AddonAPIToken: [REDACTED]
  • DebugMode: false
  • BundletoolVersion: 1.8.1

๏ฟฝ[34;1mDeploying the content of the Deploy directory separately๏ฟฝ[0m

๏ฟฝ[34;1mList of files to deploy๏ฟฝ[0m

  • /bitrise/deploy/[REDACTED]-v3.20.0-1045849-release.aab
  • /bitrise/deploy/[REDACTED]-v3.20.0-1045849-release.apk
  • /bitrise/deploy/mapping.txt
  • /bitrise/deploy/mapping20220110085139.txt
  • /bitrise/deploy/mapping20220110085140.txt
  • /bitrise/deploy/mapping20220110085141.txt
  • /bitrise/deploy/mapping20220110091138.txt
  • /bitrise/deploy/mapping20220110091139.txt
  • /bitrise/deploy/mapping20220110091140.txt

๏ฟฝ[34;1mDeploying files๏ฟฝ[0m
๏ฟฝ[32;1mUploading apk file: /bitrise/deploy/[REDACTED]-v3.20.0-1045849-release.apk๏ฟฝ[0m
analyzing apk
apk infos: map[app_name:!D Cloud min_sdk_version:21 package_name:com.nedap.retail.[REDACTED] version_code:1045849 version_name:3.20.0]
creating artifact
file size: 35MB
uploading artifact
finishing artifact

๏ฟฝ[32;1mUploading aab file: /bitrise/deploy/[REDACTED]-v3.20.0-1045849-release.aab๏ฟฝ[0m

  • analyzing aab
  • fetching info
    ๏ฟฝ[34;1mURL used to download file: https://github.com/google/bundletool/releases/download/1.8.1/bundletool-all-1.8.1.jar๏ฟฝ[0m
    ๏ฟฝ[32;1m$ java "-jar" "/tmp/tool167764940/bundletool-all.jar" "dump" "manifest" "--bundle" "/bitrise/deploy/[REDACTED]-v3.20.0-1045849-release.aab"๏ฟฝ[0m
    aab infos: map[package_name:12 version_code:1045849 version_name:3.20.0]
    creating artifact
    file size: 38MB
    uploading artifact
    finishing artifact

๏ฟฝ[32;1mUploading file: /bitrise/deploy/mapping.txt๏ฟฝ[0m
creating artifact
file size: 0B
uploading artifact
finishing artifact

๏ฟฝ[32;1mUploading file: /bitrise/deploy/mapping20220110085139.txt๏ฟฝ[0m
creating artifact
file size: 0B
uploading artifact
finishing artifact

๏ฟฝ[32;1mUploading file: /bitrise/deploy/mapping20220110085140.txt๏ฟฝ[0m
creating artifact
file size: 0B
uploading artifact
finishing artifact

๏ฟฝ[32;1mUploading file: /bitrise/deploy/mapping20220110085141.txt๏ฟฝ[0m
creating artifact
file size: 0B
uploading artifact
finishing artifact

๏ฟฝ[32;1mUploading file: /bitrise/deploy/mapping20220110091138.txt๏ฟฝ[0m
creating artifact
file size: 39MB
uploading artifact
finishing artifact

๏ฟฝ[32;1mUploading file: /bitrise/deploy/mapping20220110091139.txt๏ฟฝ[0m
creating artifact
file size: 0B
uploading artifact
finishing artifact

๏ฟฝ[32;1mUploading file: /bitrise/deploy/mapping20220110091140.txt๏ฟฝ[0m
creating artifact
file size: 0B
uploading artifact
finishing artifact

๏ฟฝ[32;1mSuccess๏ฟฝ[0m
You can find the Artifact on Bitrise, on the Build's page: https://app.bitrise.io/build/f1341fd8-0e93-470b-9a8d-78b925d87448
The public install page url is now available in the Environment Variable: BITRISE_PUBLIC_INSTALL_PAGE_URL (value: https://app.bitrise.io/artifact/107505675/p/d25bef4c04a0e8b4520935fcc8fc46a8)

A map of deployed files and their public install page urls is now available in the Environment Variable: BITRISE_PUBLIC_INSTALL_PAGE_URL_MAP (value: [REDACTED]-v3.20.0-1045849-release.apk=>https://app.bitrise.io/artifact/107505675/p/d25bef4c04a0e8b4520935fcc8fc46a8)

A map of deployed files and their permanent download urls is now available in the Environment Variable: BITRISE_PERMANENT_DOWNLOAD_URL_MAP (value: mapping20220110091140.txt=>https://app.bitrise.io/artifact/db360f1514128f43/download|[REDACTED]-v3.20.0-1045849-release.apk=>https://app.bitrise.io/artifact/0b4093bc5afeb822/download|mapping.txt=>https://app.bitrise.io/artifact/919cac21e8466494/download|mapping20220110085140.txt=>https://app.bitrise.io/artifact/90d3f06bfdf866c1/download|mapping20220110091138.txt=>https://app.bitrise.io/artifact/699c41be4a570054/download|[REDACTED]-v3.20.0-1045849-release.aab=>https://app.bitrise.io/artifact/2fae7b06b9f07af2/download|mapping20220110085139.txt=>https://app.bitrise.io/artifact/1e96e7dd028228b1/download|mapping20220110085141.txt=>https://app.bitrise.io/artifact/d5cca0ce0d8ad4b6/download|mapping20220110091139.txt=>https://app.bitrise.io/artifact/22089a1c26ced955/download)

๏ฟฝ[34;1mUpload test results๏ฟฝ[0m

  • uploading (0) test results
    ๏ฟฝ[32;1mSuccess๏ฟฝ[0m
    | |
    +---+---------------------------------------------------------------+----------+
    | ๏ฟฝ[32;1mโœ“๏ฟฝ[0m | ๏ฟฝ[32;1mdeploy-to-bitrise-io๏ฟฝ[0m | 10.86 sec|
    +---+---------------------------------------------------------------+----------+

                                        โ–ผ
    

+------------------------------------------------------------------------------+
| (12) google-play-deploy |
+------------------------------------------------------------------------------+
| id: google-play-deploy |
| version: 3.7.2 |
| collection: https://github.com/bitrise-io/bitrise-steplib.git |
| toolkit: go |
| time: 2022-01-10T09:12:21Z |
+------------------------------------------------------------------------------+
| |

๏ฟฝ[34;1mGetting configuration๏ฟฝ[0m
๏ฟฝ[34;1mConfigs:
๏ฟฝ[0m- JSONKeyPath: *****

  • PackageName: com.nedap.retail.[REDACTED]
  • AppPath: /bitrise/deploy/[REDACTED]-v3.20.0-1045849-release.apk\n/bitrise/deploy/[REDACTED]-v3.20.0-1045849-release.aab
  • ExpansionfilePath:
  • Track: internal
  • UserFraction: 0
  • UpdatePriority: 0
  • WhatsnewsDir:
  • MappingFile: /bitrise/deploy/mapping20220110091140.txt
  • ReleaseName:
  • Status:
  • RetryWithoutSendingToReview: false
  • AckBundleInstallationWarning: false
    ๏ฟฝ[34;1mUsing mapping file from: /bitrise/deploy/mapping20220110091140.txt๏ฟฝ[0m
    ๏ฟฝ[33;1mBoth .aab and .apk files provided, using the .aab file(s): /bitrise/deploy/[REDACTED]-v3.20.0-1045849-release.aab๏ฟฝ[0m
    ๏ฟฝ[34;1mUsing app from: /bitrise/deploy/[REDACTED]-v3.20.0-1045849-release.aab๏ฟฝ[0m
    ๏ฟฝ[32;1mConfiguration read successfully๏ฟฝ[0m

๏ฟฝ[34;1mAuthenticating๏ฟฝ[0m
๏ฟฝ[32;1mAuthenticated client created๏ฟฝ[0m

๏ฟฝ[34;1mCreate new edit๏ฟฝ[0m
editID: 03498830440637202972
๏ฟฝ[32;1mEdit insert created๏ฟฝ[0m

๏ฟฝ[34;1mAvailable tracks on Google Play:๏ฟฝ[0m

  • production
  • beta
  • alpha
  • internal
  • 3.18.1 test track
  • test-bundle
    ๏ฟฝ[32;1mTracks listed๏ฟฝ[0m

๏ฟฝ[34;1mUpload apks or app bundles๏ฟฝ[0m
Uploading /bitrise/deploy/[REDACTED]-v3.20.0-1045849-release.aab 1/1
๏ฟฝ[34;1mUploaded app bundle version: 1045849๏ฟฝ[0m
๏ฟฝ[31;1mFailed to upload application(s): failed to upload mapping file, error: googleapi: got HTTP response code 400 with body: No file found in request.๏ฟฝ[0m
| |
+---+---------------------------------------------------------------+----------+
| ๏ฟฝ[31;1mx๏ฟฝ[0m | ๏ฟฝ[31;1mgoogle-play-deploy (exit code: 1)๏ฟฝ[0m | 41.81 sec|
+---+---------------------------------------------------------------+----------+
| Issue tracker: https://github.com/bitrise-io/steps-google-play-deploy/issues |
| Source: https://github.com/bitrise-io/steps-google-play-deploy |
+---+---------------------------------------------------------------+----------+

Steps to reproduce

Not sure if this is reproducible with just a clean project. With our project on Bitrise it is reproducible.

  1. Use the plugin to build :app:assembleRelease :app:bundleRelease
  2. See weird mapping<timestamp>.txt files and mapping.txt being empty.

Hopefully anyone has an idea what is going one here?

#50 broke our build

Is #50 intended to be a breaking change?

after

    - gradle-runner:
        inputs:
        - gradle_task: -p "../teacher" :app:assembleQaDebugAndroidTest
        - gradlew_path: "./gradle/gradlew"
        - cache_level: all
        - gradle_options: "--stacktrace"

before

    - gradle-runner:
        inputs:
        - gradle_task: -p "teacher" :app:assembleQaDebugAndroidTest
        - gradlew_path: "./gradle/gradlew"
        - cache_level: all
        - gradle_options: "--stacktrace"

error

Running gradle task...
./gradlew "-p" "teacher" ":app:assembleQaDebugAndroidTest" "--stacktrace"
Unzipping /root/.gradle/wrapper/dists/gradle-4.1-all/bzyivzo6n839fup2jbap0tjew/gradle-4.1-all.zip to /root/.gradle/wrapper/dists/gradle-4.1-all/bzyivzo6n839fup2jbap0tjew
Set executable permissions for: /root/.gradle/wrapper/dists/gradle-4.1-all/bzyivzo6n839fup2jbap0tjew/gradle-4.1/bin/gradle
Starting a Gradle Daemon (subsequent builds will be faster)
FAILURE: Build failed with an exception.
* What went wrong:
The specified project directory '/bitrise/src/gradle/teacher' does not exist.

note that the path is /bitrise/src/teacher but the update changed it to /bitrise/src/gradle/teacher

package.json (No such file or directory)

Please, any idea is welcome, I'm getting this error to every builds and has been kinda impossible find out what's happening.

Maybe, could be related the VM that has been created by bitrise through of vagrant like described into logs, with all the source files copied, anyways, could be related too with the own graddle-runner.

bitrise.yml:

---
format_version: '4'
default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git
project_type: react-native
trigger_map:
- push_branch: master
  workflow: primary
- push_branch: production
  workflow: deploy
- workflow: primary
  pull_request_target_branch: master
workflows:
  deploy:
    steps:
    - [email protected]:
        run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
    - [email protected]: {}
    - [email protected]: {}
    - [email protected]:
        title: Do anything with Script step
    - [email protected]:
        inputs:
        - command: install
    - [email protected]: {}
    - [email protected]:
        inputs:
        - gradle_file: "$GRADLE_BUILD_FILE_PATH"
        - gradle_task: assembleRelease
        - gradlew_path: "$GRADLEW_PATH"
    - [email protected]: {}
    - [email protected]:
        inputs:
        - project_path: "$BITRISE_PROJECT_PATH"
        - scheme: "$BITRISE_SCHEME"
        - export_method: "$BITRISE_EXPORT_METHOD"
        - configuration: Release
    - [email protected]:
        inputs:
        - compress_archive: 'true'
  primary:
    steps:
    - [email protected]:
        run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
    - [email protected]:
        inputs:
        - branch_dest: master
        - branch: master
    - [email protected]:
        inputs:
        - is_debug_mode: 'true'
    - [email protected]:
        inputs:
        - command: install
    - [email protected]:
        inputs:
        - content: |
            #!/usr/bin/env bash
            # fail if any commands fails
            set -e
            # debug log
            set -x

            # write your script here
            export APP_PACKAGE_VERSION=$(cat package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[\",]//g' | tr -d '[[:space:]]')
            export APP_PACKAGE_VERSION_CODE=$(cat package.json | grep versionCode | head -1 | awk -F: '{ print $2 }' | sed 's/[,]//g' | tr -d '[[:space:]]')
    - [email protected]: {}
    - [email protected]:
        inputs:
        - gradle_task: assembleRelease
        - apk_file_include_filter: "*release*.apk"
    - [email protected]:
        inputs:
        - compress_archive: 'true'
        - is_debug_mode: 'true'
    - [email protected]:
        inputs:
        - api_token: HOCKEY_APP_TOKEN
        - app_id: HOCKEY_APP_ID
        - notes: |-
            # $BITRISE_APP_TITLE

            $BITRISE_GIT_MESSAGE

            Bitrise automatic deploy through HockeyApp Deploy Step.
        - notes_type: '1'
        - mapping_path: "$BITRISE_MAPPING_PATH"
app:
  envs:
  - opts:
      is_expand: false
    GRADLE_BUILD_FILE_PATH: android/build.gradle
  - opts:
      is_expand: false
    GRADLEW_PATH: android/gradlew
  - opts:
      is_expand: false
    BITRISE_PROJECT_PATH: ios/LuvBook.xcodeproj
  - opts:
      is_expand: false
    BITRISE_SCHEME: LuvBook
  - opts:
      is_expand: false
    BITRISE_EXPORT_METHOD: development

Build logs

+------------------------------------------------------------------------------+

| (6) [email protected]                                                      |
+------------------------------------------------------------------------------+
| id: gradle-runner                                                            |
| version: 1.8.3                                                               |
| collection: https://github.com/bitrise-io/bitrise-steplib.git                |
| toolkit: go                                                                  |
| time: 2018-04-28T22:32:46-07:00                                              |
+------------------------------------------------------------------------------+
|                                                                              |
INFO[22:32:46]  * [OK] Step dependency (go) installed, available. 
Configs:
- GradlewPath: android/gradlew
- GradleFile: android/build.gradle
- GradleTasks: assembleRelease
- GradleOptions: --stacktrace --no-daemon
- ApkFileIncludeFilter: *release*.apk
- ApkFileExcludeFilter: *unaligned.apk
*Test*.apk
- TestApkFileIncludeFilter: *Test*.apk
- TestApkFileExcludeFilter: 
- MappingFileIncludeFilter: */mapping.txt
- MappingFileExcludeFilter: 
- DeployDir: /Users/vagrant/deploy
- CacheLevel: only_deps
Running gradle task...
/Users/vagrant/git/android/gradlew "--build-file" "android/build.gradle" "assembleRelease" "--stacktrace" "--no-daemon"
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/vagrant/git/android/build.gradle' line: 54
* What went wrong:
A problem occurred evaluating root project 'LuvBook'.
> ../package.json (No such file or directory)
* Try:
Run with --info or --debug option to get more log output.
* Exception is:
org.gradle.api.GradleScriptException: A problem occurred evaluating root project 'LuvBook'.
	at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:93)
	at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl$2.run(DefaultScriptPluginFactory.java:177)
	at org.gradle.configuration.ProjectScriptTarget.addConfiguration(ProjectScriptTarget.java:77)
	at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:182)
	at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:38)
	at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:25)
	at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34)
	at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:55)
	at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:540)
	at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:93)
	at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:42)
	at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35)
	at org.gradle.initialization.DefaultGradleLauncher$2.run(DefaultGradleLauncher.java:124)
	at org.gradle.internal.Factories$1.create(Factories.java:22)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)
	at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:121)
	at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
	at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)
	at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)
	at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)
	at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:99)
	at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
	at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:48)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
	at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
	at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
	at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
	at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
	at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
	at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:173)
	at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:239)
	at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:212)
	at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
	at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
	at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
	at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
	at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:205)
	at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
	at org.gradle.launcher.Main.doAction(Main.java:33)
	at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
	at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:55)
	at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:36)
	at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
	at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
	at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127)
	at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Caused by: java.io.FileNotFoundException: ../package.json (No such file or directory)
	at build_cp5u57185wrunyb0c23n3lvat.getNpmVersion(/Users/vagrant/git/android/build.gradle:54)
	at build_cp5u57185wrunyb0c23n3lvat$getNpmVersion.callCurrent(Unknown Source)
	at build_cp5u57185wrunyb0c23n3lvat.getNpmVersionArray(/Users/vagrant/git/android/build.gradle:65)
	at org.gradle.internal.metaobject.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:374)
	at org.gradle.internal.metaobject.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:169)
	at org.gradle.internal.metaobject.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:96)
	at org.gradle.api.internal.ExtensibleDynamicObject$InheritedDynamicObject.invokeMethod(ExtensibleDynamicObject.java:245)
	at org.gradle.internal.metaobject.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:96)
	at org.gradle.internal.metaobject.MixInClosurePropertiesAsMethodsDynamicObject.invokeMethod(MixInClosurePropertiesAsMethodsDynamicObject.java:30)
	at org.gradle.internal.metaobject.ConfigureDelegate.invokeMethod(ConfigureDelegate.java:59)
	at build_cp5u57185wrunyb0c23n3lvat$_run_closure2$_closure7.doCall(/Users/vagrant/git/android/build.gradle:43)
	at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:67)
	at org.gradle.api.internal.plugins.ExtensionsStorage$ExtensionHolder.configure(ExtensionsStorage.java:145)
	at org.gradle.api.internal.plugins.ExtensionsStorage.configureExtension(ExtensionsStorage.java:69)
	at org.gradle.api.internal.plugins.DefaultConvention$ExtensionsDynamicObject.invokeMethod(DefaultConvention.java:215)
	at org.gradle.internal.metaobject.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:96)
	at org.gradle.internal.metaobject.MixInClosurePropertiesAsMethodsDynamicObject.invokeMethod(MixInClosurePropertiesAsMethodsDynamicObject.java:30)
	at org.gradle.internal.metaobject.ConfigureDelegate.invokeMethod(ConfigureDelegate.java:59)
	at build_cp5u57185wrunyb0c23n3lvat$_run_closure2.doCall(/Users/vagrant/git/android/build.gradle:42)
	at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:67)
	at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:107)
	at org.gradle.api.internal.project.AbstractProject.configure(AbstractProject.java:888)
	at org.gradle.api.internal.project.AbstractProject.configure(AbstractProject.java:893)
	at org.gradle.api.internal.project.AbstractProject.subprojects(AbstractProject.java:876)
	at org.gradle.internal.metaobject.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:374)
	at org.gradle.internal.metaobject.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:169)
	at org.gradle.internal.metaobject.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:96)
	at org.gradle.internal.metaobject.MixInClosurePropertiesAsMethodsDynamicObject.invokeMethod(MixInClosurePropertiesAsMethodsDynamicObject.java:30)
	at org.gradle.internal.metaobject.AbstractDynamicObject.invokeMethod(AbstractDynamicObject.java:163)
	at org.gradle.groovy.scripts.BasicScript.methodMissing(BasicScript.java:79)
	at build_cp5u57185wrunyb0c23n3lvat.run(/Users/vagrant/git/android/build.gradle:41)
	at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:91)
	... 50 more
BUILD FAILED
Total time: 5.604 secs
Gradle task failed, error: exit status 1
|                                                                              |
+---+---------------------------------------------------------------+----------+
| x | [email protected] (exit code: 1)                            | 14 sec   |
+---+---------------------------------------------------------------+----------+
| Issue tracker: https://github.com/bitrise-io/steps-gradle-runner/issues      |
| Source: https://github.com/bitrise-io/steps-gradle-runner                    |
+---+---------------------------------------------------------------+----------+

APKs will be overritten with same name after build

If you generate APKs with the same name, the step will override them when it moves them to BITRISE_DEPLOY_DIR

๐Ÿš€  Copy ./app/build/outputs/apk/app-release.apk to /bitrise/deploy/app-release.apk
๐Ÿš€  Copy ./app/app-release.apk to /bitrise/deploy/app-release.apk

Exporting output: $BITRISE_APK_PATH => /bitrise/deploy/app-release.apk

Can't specify multiple APK include filters

In my project, I'm building an app bundle (.aab) and an APK. I'm trying to have them both be picked up (*.aab and *.apk) in the APK path list, but it looks like I can't add multiple options to the APK include filter. This is supported in the exclude filter, and it adds multiple ! -path arguments to find, but it doesn't seem to work for the include filter.

What is the best way to not export anything?

I'm using this step several times in a work flow. The first time I use it I want to export generated .apks. All other times I do not want to export generated .apks nor risk overwriting any previously exported apks. What is the best way to do this? I assume that I can hack something together by using some unrealistic filter in the later steps:

screen shot 2018-02-28 at 5 49 29 pm

Could not resolve all dependencies for configuration

A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugApk'.
   > A problem occurred configuring project ':printer'.
      > You have not accepted the license agreements of the following SDK components:
        [Android SDK Build-Tools 25.0.1].
        Before building your project, you need to accept the license agreements and complete the installation of the missing components using the Android Studio SDK Manager.
        Alternatively, to learn how to transfer the license agreements from one workstation to another, go to http://d.android.com/r/studio-ui/export-licenses.html

In workflow, i used below 4 commands in script but still error

android update sdk --no-ui --all --filter build-tools-25.0.2
android update sdk --no-ui --all --filter extra-android-m2repository
android update sdk --no-ui --all --filter extra-google-m2repository
./gradlew dependencies

Arguments are not correctly escaped

Setting input values with quotes get double quoted when executed.

Input values:

 --stacktrace -PappIcon=\"can_launcher\" -PappId="GDPC-4-3" -PappName="Be Ready" -PgaId="UA-abc-1" -PgcmId=1234 -PkeyAlias="gdpc - fa - can" -PkeyPassword=abc -Psociety=can

outputs fine from the gradle configuration debug, but when gets executed results in

+ ./gradlew --build-file Codebase/build.gradle assembleRelease --stacktrace '-PappIcon=\"can_launcher\"' '-PappId="GDPC-4-3"' '-PappName="Be' 'Ready"' '-PgaId="UA-abc-1"' -PgcmId=1234 '-PkeyAlias="gdpc' - fa - 'can"' -PkeyPassword=abc -Psociety=can

I've tried with single quotes, with double quotes, with escaped quotes, and all produce no solution

gradle-runner 1.9.8 - Step always fail

Troubleshooting

  • I've searched discuss.bitrise.io for possible solutions.
  • Which version of the step is effected? 1.9.8
  • Is the issue reproducible with the latest version? YES
  • Does the issue happen sporadically, or every time? EVERY TIME
  • Is the issue reproducible locally by following our local debug guide? YES

Useful information

Issue description

Bitrise info

  • Build URL: app.bitrise.io/build/61e73fc2051659b0
  • Bitrise Support enabled: YES / NO
  • Log: [21:42:29] Step (gradle-runner) failed: Failed to prepare the step for execution through the required toolkit (go), error: Failed to install package, error: exit status 2
+------------------------------------------------------------------------------+

| (8) gradle-runner |
+------------------------------------------------------------------------------+
| id: gradle-runner |
| version: 1.9.8 |
| collection: https://github.com/bitrise-io/bitrise-steplib.git |
| toolkit: go |
| time: 2021-06-02T21:42:28Z |
+------------------------------------------------------------------------------+
| |

github.com/bitrise-io/steps-gradle-runner/vendor/github.com/hashicorp/go-cleanhttp

src/github.com/bitrise-io/steps-gradle-runner/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go:35:3: unknown field 'ForceAttemptHTTP2' in struct literal of type http.Transport
| |
+---+---------------------------------------------------------------+----------+
| x | gradle-runner (exit code: 1) | 2.49 sec |
+---+---------------------------------------------------------------+----------+
ERRO[21:42:29] Step (gradle-runner) failed: Failed to prepare the step for execution through the required toolkit (go), error: Failed to install package, error: exit status 2
| Issue tracker: https://github.com/bitrise-io/steps-gradle-runner/issues |
| Source: https://github.com/bitrise-io/steps-gradle-runner |
+---+---------------------------------------------------------------+----------+

Steps to reproduce

  1. Update gradle-runner to 1.9.8 version
  2. gradle-runner step will fail with error

Fix

Downgrade to 1.9.7

Is there any way to provide specific folder pattern to search for APK and AAB?

Hi all,

Recently our team has switched to Google Play deployment using Android Bundles. For that to implement throw CI flow we needed to export *.aab files. We figured out that during build process gradle produces multiple .aab files (not only in output directory but also intermediate bundles in /build/intermediates/intermediary_bundle/_build_variant_name/). This causes step to deploy wrong .aab file.

So seems it will be nice to specify folder path under which step should find proper artifacts like /build/outputs/*.aab. Is this possible?

Support for Android Studio gradle plugin 4.0.0+

While trying to upgrade:

  • Android gradle plugin version to 4.0.0+

The below exception fails the build.

Thanks for the help.

Task :app:mergeReleaseResources
FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':app:generateJsonModelRelease'.

java.lang.NullPointerException (no error message)

  • Try:
    Run with --info or --debug option to get more log output. Run with --scan to get full insights.
  • Exception is:
    org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:generateJsonModelRelease'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:205)
    at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:263)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:203)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:184)
    at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
    at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
    at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
    at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:372)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:359)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:352)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:338)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
    at org.gradle.execution.plan.DefaultPlanExecutor.process(DefaultPlanExecutor.java:72)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.executeWithServices(DefaultTaskExecutionGraph.java:189)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.execute(DefaultTaskExecutionGraph.java:166)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:41)
    at org.gradle.execution.DefaultBuildWorkExecutor.execute(DefaultBuildWorkExecutor.java:40)
    at org.gradle.execution.DefaultBuildWorkExecutor.access$000(DefaultBuildWorkExecutor.java:24)
    at org.gradle.execution.DefaultBuildWorkExecutor$1.proceed(DefaultBuildWorkExecutor.java:48)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:49)
    at org.gradle.execution.DefaultBuildWorkExecutor.execute(DefaultBuildWorkExecutor.java:40)
    at org.gradle.execution.DefaultBuildWorkExecutor.execute(DefaultBuildWorkExecutor.java:33)
    at org.gradle.execution.IncludedBuildLifecycleBuildWorkExecutor.execute(IncludedBuildLifecycleBuildWorkExecutor.java:36)
    at org.gradle.execution.DeprecateUndefinedBuildWorkExecutor.execute(DeprecateUndefinedBuildWorkExecutor.java:39)
    at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor$ExecuteTasks.run(BuildOperationFiringBuildWorkerExecutor.java:57)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
    at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
    at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor.execute(BuildOperationFiringBuildWorkerExecutor.java:42)
    at org.gradle.initialization.DefaultGradleLauncher.runWork(DefaultGradleLauncher.java:244)
    at org.gradle.initialization.DefaultGradleLauncher.doClassicBuildStages(DefaultGradleLauncher.java:154)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:130)
    at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:110)
    at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:60)
    at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:57)
    at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:85)
    at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:78)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:189)
    at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:40)
    at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:78)
    at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:57)
    at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:31)
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:63)
    at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
    at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:39)
    at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:51)
    at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:45)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
    at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
    at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:45)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:50)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:47)
    at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:80)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:47)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:31)
    at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:42)
    at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:28)
    at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78)
    at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:52)
    at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:60)
    at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:38)
    at org.gradle.tooling.internal.provider.SessionScopeBuildActionExecuter.execute(SessionScopeBuildActionExecuter.java:68)
    at org.gradle.tooling.internal.provider.SessionScopeBuildActionExecuter.execute(SessionScopeBuildActionExecuter.java:38)
    at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:37)
    at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:26)
    at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
    at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
    at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:60)
    at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:32)
    at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:55)
    at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:41)
    at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:48)
    at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:32)
    at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:68)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:39)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:27)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:78)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:75)
    at org.gradle.util.Swapper.swap(Swapper.java:38)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:75)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:50)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52)
    at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    Caused by: java.lang.NullPointerException
    at com.android.build.gradle.tasks.CmakeServerExternalNativeJsonGenerator.getNativeLibraryValue(CmakeServerExternalNativeJsonGenerator.java:475)
    at com.android.build.gradle.tasks.CmakeServerExternalNativeJsonGenerator.getNativeLibraryValue(CmakeServerExternalNativeJsonGenerator.java:439)
    at com.android.build.gradle.tasks.CmakeServerExternalNativeJsonGenerator.getNativeBuildConfigValue(CmakeServerExternalNativeJsonGenerator.java:420)
    at com.android.build.gradle.tasks.CmakeServerExternalNativeJsonGenerator.generateAndroidGradleBuild(CmakeServerExternalNativeJsonGenerator.java:348)
    at com.android.build.gradle.tasks.CmakeServerExternalNativeJsonGenerator.executeProcessAndGetOutput(CmakeServerExternalNativeJsonGenerator.java:223)
    at com.android.build.gradle.tasks.CmakeExternalNativeJsonGenerator.executeProcess(CmakeExternalNativeJsonGenerator.kt:102)
    at com.android.build.gradle.tasks.ExternalNativeJsonGenerator.buildForOneConfiguration(ExternalNativeJsonGenerator.java:383)
    at com.android.build.gradle.tasks.ExternalNativeJsonGenerator.buildAndPropagateException(ExternalNativeJsonGenerator.java:246)
    at com.android.build.gradle.tasks.ExternalNativeJsonGenerator.build(ExternalNativeJsonGenerator.java:158)
    at com.android.build.gradle.tasks.ExternalNativeBuildJsonTask.doTaskAction(ExternalNativeBuildJsonTask.java:63)
    at com.android.build.gradle.internal.tasks.UnsafeOutputsTask$taskAction$$inlined$recordTaskAction$1.invoke(AndroidVariantTask.kt:73)
    at com.android.build.gradle.internal.tasks.UnsafeOutputsTask$taskAction$$inlined$recordTaskAction$1.invoke(AndroidVariantTask.kt:34)
    at com.android.build.gradle.internal.tasks.Blocks.recordSpan(Blocks.java:91)
    at com.android.build.gradle.internal.tasks.UnsafeOutputsTask.taskAction(UnsafeOutputsTask.kt:52)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:49)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:42)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:727)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:694)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.run(ExecuteActionsTaskExecuter.java:568)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
    at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:553)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:536)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:109)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:276)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:265)
    at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$1(ExecuteStep.java:33)
    at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:33)
    at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
    at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:63)
    at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:35)
    at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:49)
    at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:34)
    at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:43)
    at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
    at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
    at org.gradle.internal.execution.steps.CatchExceptionStep.execute(CatchExceptionStep.java:34)
    at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:44)
    at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:54)
    at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:38)
    at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:49)
    at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:153)
    at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:67)
    at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:41)
    at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:44)
    at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:33)
    at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
    at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:92)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:85)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
    at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:76)
    at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
    at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:94)
    at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49)
    at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:79)
    at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:53)
    at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
    at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:78)
    at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78)
    at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39)
    at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40)
    at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28)
    at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:192)
    ... 125 more

Licences Issue for Android SDK Build Tools 23.0.2

Checking the license for package Android SDK Build-Tools 23.0.2 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Build-Tools 23.0.2 not accepted.

FAILURE: Build failed with an exception.

  • What went wrong:
    A problem occurred configuring project ':apptuse'.

You have not accepted the license agreements of the following SDK components:
[Android SDK Build-Tools 23.0.2].
Before building your project, you need to accept the license agreements and complete the installation of the missing components using the Android Studio SDK Manager.
Alternatively, to learn how to transfer the license agreements from one workstation to another, go to http://d.android.com/r/studio-ui/export-licenses.html

  • Try:
    Run with --info or --debug option to get more log output.

  • Exception is:
    org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':apptuse'.
    at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:79)
    at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:74)
    at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61)
    at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:540)
    at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:93)
    at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:47)
    at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35)
    at org.gradle.initialization.DefaultGradleLauncher$2.run(DefaultGradleLauncher.java:124)
    at org.gradle.internal.Factories$1.create(Factories.java:22)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:121)
    at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:99)
    at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:48)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
    at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
    at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
    at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
    at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:173)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:239)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:212)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:205)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
    at org.gradle.launcher.Main.doAction(Main.java:33)
    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:55)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:36)
    at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
    at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
    Caused by: java.lang.RuntimeException: You have not accepted the license agreements of the following SDK components:
    [Android SDK Build-Tools 23.0.2].
    Before building your project, you need to accept the license agreements and complete the installation of the missing components using the Android Studio SDK Manager.
    Alternatively, to learn how to transfer the license agreements from one workstation to another, go to http://d.android.com/r/studio-ui/export-licenses.html
    at com.android.builder.sdk.DefaultSdkLoader.checkResults(DefaultSdkLoader.java:593)
    at com.android.builder.sdk.DefaultSdkLoader.getTargetInfo(DefaultSdkLoader.java:154)
    at com.android.build.gradle.internal.SdkHandler.initTarget(SdkHandler.java:136)
    at com.android.build.gradle.BasePlugin.ensureTargetSetup(BasePlugin.java:760)
    at com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.java:657)
    at com.android.build.gradle.BasePlugin$10.call(BasePlugin.java:608)
    at com.android.build.gradle.BasePlugin$10.call(BasePlugin.java:605)
    at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:156)
    at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:120)
    at com.android.build.gradle.BasePlugin.lambda$createTasks$1(BasePlugin.java:603)
    at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:93)
    at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:82)
    at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:44)
    at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:79)
    at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:30)
    at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
    at com.sun.proxy.$Proxy11.afterEvaluate(Unknown Source)
    at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:67)
    ... 44 more

BUILD FAILED

Feature Request

Hi, this may not really a bug, but rather a feature request
I'm using this gradle step inside my workflow for build and deploy my apk to crashlytics(./gradlew crashlyticsUploadDistributionRelease), but since this step automatically copy the generated apk and mapping file to bitrise artifact directory, the artifact is double on my case.
Could you help me to create a flag to enable/disable copy to artifact dir?

[email protected] (exit code: 1)

=> Switching to specified workdir
$ cd /bitrise/src
=== CONFIGURATION ===

  • Using gradle tool: ./gradlew assemble
  • Gradle build file: ../build.gradle
  • Gradle task: app:assemble
  • Gradle options: --stacktrace
    => Running gradle task ...

Gradle 4.1 RC-1 fails to build

Im getting an issue with the latest version of the runner

Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain
Gradle task failed, error: exit status 1

currently using the latest version of Gradle https://services.gradle.org/distributions/gradle-4.1-rc-1-all.zip

I also have another project that builds fine using the older version "milestone-1" https://services.gradle.org/distributions/gradle-4.1-milestone-1-all.zip

This is the only difference I can see between the two projects where one fails and one doesnt

A problem occurred starting process 'command '/opt/android-ndk/toolchains/mips64el-linux-android-4.9/prebuilt/linux-x86_64/bin/mips64el-linux-android-strip''

I don't think this issue is related with my own code.
What is this about?

------------------------------------------------------------------------------+

| (4) gradle-runner |
+------------------------------------------------------------------------------+
| id: gradle-runner |
| version: 1.8.3 |
| collection: https://github.com/bitrise-io/bitrise-steplib.git |
| toolkit: go |
| time: 2018-05-14T23:23:24Z |
+------------------------------------------------------------------------------+
| |
INFO[23:23:24] Start installing (golang) with apt-get
INFO[23:23:24] * [OK] Step dependency (go) installed, available.
Configs:

  • GradlewPath: ./gradlew
  • GradleFile: build.gradle
  • GradleTasks: assemble
  • GradleOptions: --stacktrace --no-daemon
  • ApkFileIncludeFilter: *.apk
  • ApkFileExcludeFilter: *unaligned.apk
    Test.apk
  • TestApkFileIncludeFilter: Test.apk
  • TestApkFileExcludeFilter:
  • MappingFileIncludeFilter: */mapping.txt
  • MappingFileExcludeFilter:
  • DeployDir: /bitrise/deploy
  • CacheLevel: only_deps
    Running gradle task...
    /bitrise/src/gradlew "--build-file" "build.gradle" "assemble" "--stacktrace" "--no-daemon"

...

:app:compileDevelopmentDebugNdk NO-SOURCE
:app:compileDevelopmentDebugSources
:app:transformClassesWithDexBuilderForDevelopmentDebug UP-TO-DATE
:app:transformClassesWithMultidexlistForDevelopmentDebug UP-TO-DATE
:app:transformDexArchiveWithDexMergerForDevelopmentDebug UP-TO-DATE
:app:mergeDevelopmentDebugJniLibFolders UP-TO-DATE
:app:transformNativeLibsWithMergeJniLibsForDevelopmentDebug UP-TO-DATE
:app:transformNativeLibsWithStripDebugSymbolForDevelopmentDebug FAILED
FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':app:transformNativeLibsWithStripDebugSymbolForDevelopmentDebug'.

A problem occurred starting process 'command '/opt/android-ndk/toolchains/mips64el-linux-android-4.9/prebuilt/linux-x86_64/bin/mips64el-linux-android-strip''

  • Try:
    Run with --info or --debug option to get more log output.
  • Exception is:
    org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformNativeLibsWithStripDebugSymbolForDevelopmentDebug'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
    at org.gradle.api.internal.tasks.execution.SkipCachedTaskExecuter.execute(SkipCachedTaskExecuter.java:106)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:63)
    at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ResolveBuildCacheKeyExecuter.execute(ResolveBuildCacheKeyExecuter.java:60)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
    at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:124)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:80)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:105)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:99)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:580)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:99)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
    Caused by: org.gradle.process.internal.ExecException: A problem occurred starting process 'command '/opt/android-ndk/toolchains/mips64el-linux-android-4.9/prebuilt/linux-x86_64/bin/mips64el-linux-android-strip''
    at org.gradle.process.internal.DefaultExecHandle.execExceptionFor(DefaultExecHandle.java:220)
    at org.gradle.process.internal.DefaultExecHandle.setEndStateInfo(DefaultExecHandle.java:204)
    at org.gradle.process.internal.DefaultExecHandle.failed(DefaultExecHandle.java:340)
    at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:86)
    at org.gradle.internal.operations.BuildOperationIdentifierPreservingRunnable.run(BuildOperationIdentifierPreservingRunnable.java:39)
    ... 3 more
    Caused by: net.rubygrapefruit.platform.NativeException: Could not start '/opt/android-ndk/toolchains/mips64el-linux-android-4.9/prebuilt/linux-x86_64/bin/mips64el-linux-android-strip'
    at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:27)
    at net.rubygrapefruit.platform.internal.WrapperProcessLauncher.start(WrapperProcessLauncher.java:36)
    at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:68)
    ... 4 more
    Caused by: java.io.IOException: Cannot run program "/opt/android-ndk/toolchains/mips64el-linux-android-4.9/prebuilt/linux-x86_64/bin/mips64el-linux-android-strip" (in directory "/bitrise/src/app"): error=2, No such file or directory
    at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)
    ... 6 more
    Caused by: java.io.IOException: error=2, No such file or directory
    ... 7 more
  • Get more help at https://help.gradle.org
    BUILD FAILED in 43s
    73 actionable tasks: 6 executed, 67 up-to-date
    Gradle task failed, error: exit status 1

Says buildToolsVersion is not specified, but it is in the gradle file...

Failed to notify ProjectEvaluationListener.afterEvaluate(), but primary configuration failure takes precedence.
java.lang.IllegalStateException: buildToolsVersion is not specified.
        at com.google.common.base.Preconditions.checkState(Preconditions.java:173)
	at com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.java:645)
	at com.android.build.gradle.BasePlugin$10.call(BasePlugin.java:608)
	at com.android.build.gradle.BasePlugin$10.call(BasePlugin.java:605)

Task :mobile:crashlyticsUploadDistributionProductionRelease FAILED | gradle-runner@1 (exit code: 1)

> Task :mobile:crashlyticsUploadDistributionProductionRelease FAILED
Uploading /bitrise/src/mobile/build/outputs/apk/production/release/mobile-production-release.apk to Crashlytics...
 WARN - The upload distribution task failed because it received invalid input. Contact [email protected] for help.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':mobile:crashlyticsUploadDistributionProductionRelease'.
> Distribution upload failed.
* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':mobile:crashlyticsUploadDistributionProductionRelease'.
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:110)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77)
	at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
	at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
	at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
	at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)
	at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
	at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)
	at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
	at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
	at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:51)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:46)
	at org.gradle.execution.taskgraph.LocalTaskInfoExecutor.execute(LocalTaskInfoExecutor.java:42)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:277)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:262)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:135)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:130)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.execute(DefaultTaskPlanExecutor.java:200)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.executeWithWork(DefaultTaskPlanExecutor.java:191)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.run(DefaultTaskPlanExecutor.java:130)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: org.gradle.api.GradleException: Distribution upload failed.
	at com.crashlytics.tools.gradle.tasks.FabricTaskBuilder.callDevtoolsWrappingRuntimeExceptions(FabricTaskBuilder.groovy:383)
	at com.crashlytics.tools.gradle.tasks.FabricTaskBuilder.this$2$callDevtoolsWrappingRuntimeExceptions(FabricTaskBuilder.groovy)
	at com.crashlytics.tools.gradle.tasks.FabricTaskBuilder$_crashlyticsUploadDistribution_closure17.doCall(FabricTaskBuilder.groovy:283)
	at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:739)
	at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:712)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99)
	... 31 more
Caused by: com.crashlytics.tools.android.exception.PluginException: Distribution upload failed.
	at com.crashlytics.tools.android.DeveloperTools.processProperties(DeveloperTools.java:671)
	at com.crashlytics.tools.android.DeveloperTools.processArgsInternal(DeveloperTools.java:348)
	at com.crashlytics.tools.android.DeveloperTools.gradleMain(DeveloperTools.java:292)
	at com.crashlytics.tools.gradle.tasks.FabricTaskBuilder.callDevtoolsWrappingRuntimeExceptions(FabricTaskBuilder.groovy:367)
	... 43 more
Caused by: com.crashlytics.tools.android.exception.DistributionException: The upload distribution task failed because it received invalid input. Contact [email protected] for help.
	at com.crashlytics.tools.android.DistributionTasks.uploadDistribution(DistributionTasks.java:87)
	at com.crashlytics.tools.android.DeveloperTools.processProperties(DeveloperTools.java:669)
	... 46 more
* Get more help at https://help.gradle.org
BUILD FAILED in 1m 1s
47 actionable tasks: 8 executed, 39 up-to-date
Gradle task failed, error: exit status 1
|                                                                              |
+---+---------------------------------------------------------------+----------+
| x | gradle-runner@1 (exit code: 1)                                | 1.1 min  |
+---+---------------------------------------------------------------+----------+
| Issue tracker: https://github.com/bitrise-io/steps-gradle-runner/issues      |
| Source: https://github.com/bitrise-io/steps-gradle-runner                    |
+---+---------------------------------------------------------------+----------+

Reaching out to Fabric as well for this, but this step started causing builds to fail today. I've tried updating the step to latest 1.9.4. Please advise on next steps.

Step duplicates artifact files

Here is the output for our assemble and bundle task:

Move APK and AAB files...
copy app/build/intermediates/intermediary_bundle/productionStoreRelease/app-production-store-release.aab to /bitrise/deploy/app-production-store-release.aab
copy app/build/outputs/apk/productionStore/release/myapp-app-productionStoreRelease.apk to /bitrise/deploy/myapp-app-productionStoreRelease.apk
  1 attempt failed:
file already exists at: /bitrise/deploy/app-production-store-release.aab
  Retrying...
copy app/build/outputs/bundle/productionStoreRelease/app-production-store-release.aab to /bitrise/deploy/app-production-store-release20200513235957.aab

As you can see there seems to be a timing issue when moving files to the bitrise path.

We face this issue every build.

Build Failed: Failed to install SDK components.

This is actually an issue with the SDK tool from Google, which reports that installation of ConstraintLayout libraries fail although they are actually installed, but it fails the build as a result. Is there a work-around available?

    Caused by: java.lang.RuntimeException: Failed to install the following SDK components:
[Solver for ConstraintLayout 1.0.0-beta4, ConstraintLayout for Android 1.0.0-beta4]
Please install the missing components using the SDK manager in Android Studio.
	at com.android.builder.sdk.DefaultSdkLoader.checkResults(DefaultSdkLoader.java:542)
	at com.android.builder.sdk.DefaultSdkLoader.updateRepositories(DefaultSdkLoader.java:419)
	at com.android.build.gradle.internal.DependencyManager.collectArtifacts(DependencyManager.java:525)
	at com.android.build.gradle.internal.DependencyManager.gatherDependencies(DependencyManager.java:379)
	at com.android.build.gradle.internal.DependencyManager.resolveDependencyForConfig(DependencyManager.java:282)
	at com.android.build.gradle.internal.DependencyManager.resolveDependencies(DependencyManager.java:159)
	at com.android.build.gradle.internal.TaskManager.resolveDependencies(TaskManager.java:364)
	at com.android.build.gradle.internal.VariantManager$9.call(VariantManager.java:636)
	at com.android.build.gradle.internal.VariantManager$9.call(VariantManager.java:633)
	at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:156)
	at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:120)
	at com.android.build.gradle.internal.profile.SpanRecorders.record(SpanRecorders.java:44)
	at com.android.build.gradle.internal.VariantManager.createVariantData(VariantManager.java:629)
	at com.android.build.gradle.internal.VariantManager.createVariantDataForProductFlavors(VariantManager.java:823)
	at com.android.build.gradle.internal.VariantManager.populateVariantDataList(VariantManager.java:494)
	at com.android.build.gradle.internal.VariantManager$1.call(VariantManager.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.