Source code
Revision control
Copy as Markdown
Other Tools
# 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
---
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:
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
- linux64-jdk
build-fat-aar:
- target.maven.tar.xz
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:
- ':{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