Skip to content

Commit

Permalink
Bug 1252928 - Part 3: Replace android-gradle-build-dependencies with …
Browse files Browse the repository at this point in the history
…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
  • Loading branch information
ncalexan committed Mar 8, 2016
1 parent 1dbcfec commit 65d4c28
Show file tree
Hide file tree
Showing 8 changed files with 194 additions and 76 deletions.
14 changes: 14 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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()
}
}
}
}
Original file line number Diff line number Diff line change
@@ -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"
Original file line number Diff line number Diff line change
@@ -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
}
]
Original file line number Diff line number Diff line change
@@ -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'],
],
}
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down
76 changes: 0 additions & 76 deletions testing/taskcluster/tasks/android-gradle-build-dependencies.yml

This file was deleted.

6 changes: 6 additions & 0 deletions testing/taskcluster/tasks/branches/base_jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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/**'
Original file line number Diff line number Diff line change
@@ -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'

0 comments on commit 65d4c28

Please sign in to comment.