# 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 task-defaults: run-on-repo-type: [hg] artifact-template: type: file name: public/build/{artifact_file_name} path: '/builds/worker/workspace/obj-build/gradle/maven/org/mozilla/components/{component}/{version}/{artifact_file_name}' tests-artifact-template: type: directory name: public/reports/tests path: '/builds/worker/workspace/obj-build/gradle/build/mobile/android/android-components/{component_path}/reports/tests' lint-artifact-template: type: file name: public/reports/lint-results-release.html path: '/builds/worker/workspace/obj-build/gradle/build/mobile/android/android-components/{component_path}/reports/lint-results-release.html' jacoco-coverage-template: type: directory name: public/reports/jacoco path: '/builds/worker/workspace/obj-build/gradle/build/mobile/android/android-components/{component_path}/reports/jacoco' description: Execute Gradle tasks for component "{component}" fetches: toolchain: - android-sdk-linux - linux64-embedded-uniffi-bindgen - linux64-nimbus-fml - android-gradle-dependencies - linux64-jdk build-fat-aar: - target.maven.zip attributes: build_platform: android 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: - ':components:{component}:assembleRelease' - ':components:{component}:testRelease' - ':components:{component}:lintRelease' - ':components:{component}:publish' beta: # /!\ Beta builds are considered Release in gradle - ':components:{component}:assembleRelease' - ':components:{component}:testRelease' - ':components:{component}:lintRelease' - ':components:{component}:publish' nightly: - '-PnightlyVersion={nightlyVersion}' - ':components:{component}:assembleRelease' - ':components:{component}:testRelease' - ':components:{component}:lintRelease' - ':components:{component}:publish' default: by-component: tooling-(lint|detekt): # No android code in these components - ':components:{component}:assemble' - ':components:{component}:test' tooling-fetch-tests|samples-.*: # No publish of these components - ':components:{component}:assemble' - ':components:{component}:assembleAndroidTest' - ':components:{component}:testRelease' - ':components:{component}:lintRelease' default: - ':components:{component}:assemble' - ':components:{component}:assembleAndroidTest' - ':components:{component}:testRelease' - ':components:{component}:lintRelease' - ':components:{component}:publish' pre-gradlew: - ["cd", "mobile/android/android-components"] using: gradlew 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 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