# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. --- loader: android_taskgraph.loader.build_config:components_loader transforms: - android_taskgraph.transforms.build_components:transforms - gecko_taskgraph.transforms.build_schedules:transforms - gecko_taskgraph.transforms.job:transforms - gecko_taskgraph.transforms.task:transforms not-for-components: - samples-browser # Their configs are too different, so they're handled in a specific kind kind-dependencies: - toolchain - build-fat-aar job-defaults: artifact-template: type: file name: public/build/{artifact_file_name} path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/maven/org/mozilla/components/{component}/{version}/{artifact_file_name}' tests-artifact-template: type: directory name: public/reports/tests path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/tests' lint-artifact-template: type: file name: public/reports/lint-results-release.html path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/lint-results-release.html' jacoco-coverage-template: type: directory name: public/reports/jacoco path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/jacoco' description: Execute Gradle tasks for component "{component}" fetches: toolchain: - android-sdk-linux - android-gradle-dependencies - android-gradle-python-envs - linux64-jdk build-fat-aar: - target.maven.tar.xz dependencies: build-fat-aar: by-build-type: release|nightly|beta: build-fat-aar-android-geckoview-fat-aar-shippable/opt default: build-fat-aar-android-geckoview-fat-aar/opt include-coverage: by-build-type: release: false beta: false nightly: false default: true run: gradlew: by-build-type: release: - ':{component}:assembleRelease' - ':{component}:testRelease' - ':{component}:lintRelease' - ':{component}:publish' beta: # /!\ Beta builds are considered Release in gradle - ':{component}:assembleRelease' - ':{component}:testRelease' - ':{component}:lintRelease' - ':{component}:publish' nightly: - '-PnightlyVersion={nightlyVersion}' - ':{component}:assembleRelease' - ':{component}:testRelease' - ':{component}:lintRelease' - ':{component}:publish' default: by-component: # No lintRelease on this task, gradle task isn't defined tooling-lint: - ':{component}:assemble' - ':{component}:assembleAndroidTest' - ':{component}:test' - ':{component}:lint' # No testRelease on this task, gradle task isn't defined tooling-detekt: - ':{component}:assemble' - ':{component}:assembleAndroidTest' - ':{component}:test' - ':{component}:lintRelease' # No publish on these tasks tooling-fetch-tests|samples-.*: - ':{component}:assemble' - ':{component}:assembleAndroidTest' - ':{component}:testRelease' - ':{component}:lintRelease' default: - ':{component}:assemble' - ':{component}:assembleAndroidTest' - ':{component}:testRelease' - ':{component}:lintRelease' - ':{component}:publish' pre-gradlew: - ["cd", "mobile/android/android-components"] using: gradlew use-caches: false run-on-projects: by-build-type: release: [] beta: [] nightly: [] default: [all] shipping-phase: by-build-type: (nightly|beta|release): promote default: null shipping-product: firefox-android treeherder: kind: build symbol: by-build-type: release: '{treeherder_group}(BR)' beta: '{treeherder_group}(BB)' nightly: '{treeherder_group}(BN)' default: '{treeherder_group}(B)' platform: AC-android-all/opt tier: 1 worker-type: b-linux-medium-gcp worker: chain-of-trust: true docker-image: {in-tree: android-components} max-run-time: 1200 env: ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux