Bug 1252928 - Part 3: Replace android-gradle-build-dependencies with android-api-15-gradle-dependencies. r=dustin

The existing task's outcome is best achieved with a special purpose
build task, so here it is.

MozReview-Commit-ID: 3gYnAb69TdK

--HG--
rename : mobile/android/config/mozconfigs/android-api-15-frontend/nightly => mobile/android/config/mozconfigs/android-api-15-gradle-dependencies/nightly
rename : mobile/android/config/tooltool-manifests/android-frontend/releng.manifest => mobile/android/config/tooltool-manifests/android-gradle-dependencies/releng.manifest
extra : rebase_source : 252c283553d64bac17c2b922773023a349c297ea
extra : histedit_source : 2d8becbcdfa5d37829552e55b50fb7f9cbf56dea
This commit is contained in:
Nick Alexander 2016-03-08 13:06:59 -08:00
Родитель 1dbcfec457
Коммит 65d4c28a45
8 изменённых файлов: 194 добавлений и 76 удалений

Просмотреть файл

@ -123,3 +123,17 @@ idea {
task wrapper(type: Wrapper) {
}
// From http://jdpgrailsdev.github.io/blog/2014/10/28/gradle_resolve_all_dependencies.html.
task resolveDependencies {
doLast {
project.rootProject.allprojects.each { subProject ->
subProject.buildscript.configurations.each { configuration ->
configuration.resolve()
}
subProject.configurations.each { configuration ->
configuration.resolve()
}
}
}
}

Просмотреть файл

@ -0,0 +1,41 @@
# Many things aren't appropriate for a frontend-only build.
MOZ_AUTOMATION_BUILD_SYMBOLS=0
MOZ_AUTOMATION_INSTALLER=0
MOZ_AUTOMATION_L10N_CHECK=0
MOZ_AUTOMATION_PACKAGE=0
MOZ_AUTOMATION_PACKAGE_TESTS=0
MOZ_AUTOMATION_SDK=0
MOZ_AUTOMATION_UPDATE_PACKAGING=0
MOZ_AUTOMATION_UPLOAD=0
MOZ_AUTOMATION_UPLOAD_SYMBOLS=0
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# We want to download Gradle.
ac_add_options --with-gradle
# We want to use (and populate!) the local Nexus repository.
export GRADLE_MAVEN_REPOSITORY="http://localhost:8081/nexus/content/repositories/central/"
ac_add_options --disable-compile-environment
ac_add_options --disable-tests
# From here on, like ../android-api-15/nightly.
ac_add_options --enable-profiling
# Android
ac_add_options --with-android-min-sdk=15
ac_add_options --target=arm-linux-androideabi
ac_add_options --with-branding=mobile/android/branding/nightly
# This will overwrite the default of stripping everything and keep the symbol table.
# This is useful for profiling with eideticker. See bug 788680
STRIP_FLAGS="--strip-debug"
export MOZILLA_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1
MOZ_ANDROID_GECKOLIBS_AAR=1
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

Просмотреть файл

@ -0,0 +1,41 @@
[
{
"versions": [
"Android SDK 6.0 / API 23",
"Android tools r24.4",
"Android build tools 23.0.1",
"Android Support Repository (Support Library 23.0.1)",
"Google Support Repository (Google Play Services 8.1.0)"
],
"size": 535625068,
"visibility": "internal",
"digest": "0627515046a23c1d109e2782865b1b3b546c1d552955e4156317f76cbb195eb630aa25feea3f4edd1c685f129da0c2a5169d4d6349c1c31d8a95158a4569a478",
"algorithm": "sha512",
"filename": "android-sdk-linux.tar.xz",
"unpack": true
},
{
"size": 167175,
"visibility": "public",
"digest": "0b71a936edf5bd70cf274aaa5d7abc8f77fe8e7b5593a208f805cc9436fac646b9c4f0b43c2b10de63ff3da671497d35536077ecbc72dba7f8159a38b580f831",
"algorithm": "sha512",
"filename": "sccache.tar.bz2",
"unpack": true
},
{
"size": 30899096,
"visibility": "public",
"digest": "ac9f5f95d11580d3dbeff87e80a585fe4d324b270dabb91b1165686acab47d99fa6651074ab0be09420239a5d6af38bb2c539506962a7b44e0ed4d080bba2953",
"algorithm": "sha512",
"unpack": true,
"filename": "java_home-1.7.0-openjdk-1.7.0.85.x86_64.tar.xz"
},
{
"algorithm": "sha512",
"visibility": "public",
"filename": "dotgradle-online.tar.xz",
"unpack": true,
"digest": "0979eb1dcd9349a9c3f51f24747bb6e19e803226d7150fcf6846889ae24a8df925d03edfac038a5330822703c51130d4f5757d9f4caff7bcb2b6f71858c024d3",
"size": 512
}
]

Просмотреть файл

@ -0,0 +1,11 @@
config = {
'base_name': 'Android armv7 API 15+ Gradle dependencies %(branch)s',
'stage_platform': 'android-api-15-gradle-dependencies',
'build_type': 'api-15-opt',
'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15-gradle-dependencies/nightly',
'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android-gradle-dependencies/releng.manifest',
'multi_locale_config_platform': 'android',
'postflight_build_mach_commands': [
['gradle', 'resolveDependencies'],
],
}

Просмотреть файл

@ -358,6 +358,7 @@ class BuildOptionParser(object):
'api-9': 'builds/releng_sub_%s_configs/%s_api_9.py',
'api-11': 'builds/releng_sub_%s_configs/%s_api_11.py',
'api-15-frontend': 'builds/releng_sub_%s_configs/%s_api_15_frontend.py',
'api-15-gradle-dependencies': 'builds/releng_sub_%s_configs/%s_api_15_gradle_dependencies.py',
'api-15': 'builds/releng_sub_%s_configs/%s_api_15.py',
'api-9-debug': 'builds/releng_sub_%s_configs/%s_api_9_debug.py',
'api-11-debug': 'builds/releng_sub_%s_configs/%s_api_11_debug.py',

Просмотреть файл

@ -1,76 +0,0 @@
# A task to fetch Android Gradle dependencies from jcentral and package them
# for consumption by tooltool users. Normally invoked manually.
---
taskId: {{build_slugid}}
task:
created: '{{now}}'
deadline: '{{#from_now}}24 hours{{/from_now}}'
metadata:
name: '[TC] - Android Gradle build dependencies'
description: 'Fetch and package Android Gradle build dependencies'
owner: nalexander@mozilla.com
source: http://todo.com/soon
tags:
createdForUser: {{owner}}
workerType: b2gtest
provisionerId: aws-provisioner-v1
schedulerId: task-graph-scheduler
routes:
- 'index.gecko.v1.{{project}}.revision.linux.{{head_rev}}.{{build_name}}.{{build_type}}'
- 'index.gecko.v1.{{project}}.latest.linux.{{build_name}}.{{build_type}}'
scopes:
- 'docker-worker:cache:level-{{level}}-{{project}}-tc-vcs'
payload:
image:
type: 'task-image'
path: 'public/image.tar'
taskId: '{{#task_id_for_image}}android-gradle-build{{/task_id_for_image}}'
command:
- bash
- /build/build.sh
maxRunTime: 1800
cache:
level-{{level}}-{{project}}-tc-vcs: '/home/worker/.tc-vcs'
artifacts:
'public/build':
type: directory
path: '/artifacts/'
expires: '{{#from_now}}1 year{{/from_now}}'
env:
# Common environment variables for checking out gecko
GECKO_BASE_REPOSITORY: '{{base_repository}}'
GECKO_HEAD_REPOSITORY: '{{head_repository}}'
GECKO_HEAD_REV: '{{head_rev}}'
GECKO_HEAD_REF: '{{head_ref}}'
TOOLTOOL_REPO: 'https://git.mozilla.org/build/tooltool.git'
TOOLTOOL_REV: 'master'
MOZ_BUILD_DATE: '{{pushdate}}'
extra:
build_product: '{{build_product}}'
build_name: '{{build_name}}'
build_type: '{{build_type}}'
index:
rank: {{pushlog_id}}
locations:
build: null
tests: null
treeherder:
machine:
platform: lint
groupSymbol: tc
symbol: AG
treeherderEnv:
- production
- staging

Просмотреть файл

@ -351,3 +351,9 @@ tasks:
- 'testing/eslint-plugin-mozilla/**'
# Other misc lint related files.
- 'tools/lint/**'
android-api-15-gradle-dependencies:
task: tasks/builds/android_api_15_gradle_dependencies.yml
root: true
when:
file_patterns:
- 'testing/docker/android-gradle-build/**'

Просмотреть файл

@ -0,0 +1,80 @@
# A build-like task to fetch Android Gradle dependencies from jcentral and
# package them for consumption by tooltool users. Normally invoked manually.
$inherits:
from: 'tasks/builds/mobile_base.yml'
variables:
build_name: 'android-api-15-gradle-dependencies'
build_type: 'opt'
task:
metadata:
name: '[TC] Android armv7 API 15+ gradle dependencies'
description: 'Android armv7 API 15+ gradle dependencies'
workerType: android-api-15
routes:
- 'index.buildbot.branches.{{project}}.android-api-15-gradle-dependencies'
- 'index.buildbot.revisions.{{head_rev}}.{{project}}.android-api-15-gradle-dependencies'
scopes:
- 'docker-worker:cache:level-{{level}}-{{project}}-build-android-api-15-gradle-dependencies-workspace'
- 'docker-worker:cache:tooltool-cache'
- 'docker-worker:relengapi-proxy:tooltool.download.internal'
- 'docker-worker:relengapi-proxy:tooltool.download.public'
payload:
cache:
level-{{level}}-{{project}}-build-android-api-15-gradle-dependencies-workspace: '/home/worker/workspace'
tooltool-cache: '/home/worker/tooltool-cache'
features:
relengAPIProxy: true
env:
# inputs to mozharness
MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
# TODO: make these additional configuration files go away
MOZHARNESS_CONFIG: >
builds/releng_base_android_64_builds.py
disable_signing.py
platform_supports_post_upload_to_latest.py
MH_CUSTOM_BUILD_VARIANT_CFG: api-15-gradle-dependencies
MH_BRANCH: {{project}}
MH_BUILD_POOL: taskcluster
GRADLE_USER_HOME: '/home/worker/workspace/build/src/dotgradle-online'
maxRunTime: 36000
image:
type: 'task-image'
path: 'public/image.tar'
taskId: '{{#task_id_for_image}}android-gradle-build{{/task_id_for_image}}'
command:
- /bin/bash
- -c
- >
/home/worker/bin/before.sh &&
/home/worker/bin/build.sh &&
/home/worker/bin/after.sh &&
true
extra:
treeherderEnv:
- production
- staging
treeherder:
machine:
# see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
platform: android-4-0-armv7-api15
groupSymbol: tc
groupName: Submitted by taskcluster
symbol: Deps
tier: 2
# Rather then enforcing particular conventions we require that all build
# tasks provide the "build" extra field to specify where the build and tests
# files are located.
locations:
build: 'public/build/target.linux-x86_64.tar.bz2'
tests: 'public/build/target.tests.zip'