зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1252928 - Part 2: Turn android-gradle-build into a desktop-build clone. r=dustin
This container formerly defined a special Gradle project for fetching dependencies. This patch lays the ground-work to use the in-tree Gradle project instead. Using the in-tree project looks like first starting a local Nexus repository to collect downloaded dependencies (before.sh); then running a build which populates that repository; and then packaging up the downloaded dependencies (after.sh). The patch after this will define the build which populates the repository. Sadly there's no easy way to *inherit* from desktop-build, so this is a copy-paste-modify clone. MozReview-Commit-ID: Dd5Hj8hkJVk --HG-- extra : rebase_source : dcfe245b23eb28e99b1506eebe053142c9e242b3 extra : histedit_source : f21014636de958c5ddf27ca2a1eb156e3c88bd78
This commit is contained in:
Родитель
dedaa7d47c
Коммит
1dbcfec457
|
@ -1,6 +1,34 @@
|
|||
FROM centos:centos7
|
||||
FROM taskcluster/centos6-build-upd:0.1.3.20160222133000
|
||||
MAINTAINER Nick Alexander <nalexander@mozilla.com>
|
||||
|
||||
# BEGIN ../desktop-build/Dockerfile
|
||||
|
||||
# Add build scripts; these are the entry points from the taskcluster worker, and
|
||||
# operate on environment variables
|
||||
ADD bin /home/worker/bin
|
||||
RUN chmod +x /home/worker/bin/*
|
||||
|
||||
# Generate machine uuid file
|
||||
RUN dbus-uuidgen --ensure=/var/lib/dbus/machine-id
|
||||
|
||||
# Stubbed out credentials; mozharness looks for this file an issues a WARNING
|
||||
# if it's not found, which causes the build to fail. Note that this needs to
|
||||
# be in the parent of the workspace directory and in the directory where
|
||||
# mozharness is run (not its --work-dir). See Bug 1169652.
|
||||
ADD oauth.txt /home/worker/
|
||||
|
||||
# stubbed out buildprops, which keeps mozharness from choking
|
||||
# Note that this needs to be in the parent of the workspace directory and in
|
||||
# the directory where mozharness is run (not its --work-dir)
|
||||
ADD buildprops.json /home/worker/
|
||||
|
||||
# install tooltool directly from github where tooltool_wrapper.sh et al. expect
|
||||
# to find it
|
||||
RUN wget -O /builds/tooltool.py https://raw.githubusercontent.com/mozilla/build-tooltool/master/tooltool.py
|
||||
RUN chmod +x /builds/tooltool.py
|
||||
|
||||
# END ../desktop-build/Dockerfile
|
||||
|
||||
# Reset user/workdir from parent image so we can install software.
|
||||
WORKDIR /
|
||||
USER root
|
||||
|
@ -24,6 +52,7 @@ RUN yum install -y \
|
|||
&& yum clean all
|
||||
|
||||
ENV NEXUS_VERSION 2.12.0-01
|
||||
ENV NEXUS_SHA1SUM 1a9aaad8414baffe0a2fd46eed1f41b85f4049e6
|
||||
|
||||
RUN mkdir -p /opt/sonatype/nexus
|
||||
|
||||
|
@ -31,11 +60,10 @@ WORKDIR /tmp
|
|||
RUN curl --fail --silent --location --retry 3 \
|
||||
https://download.sonatype.com/nexus/oss/nexus-${NEXUS_VERSION}-bundle.tar.gz \
|
||||
-o /tmp/nexus-${NEXUS_VERSION}-bundle.tar.gz
|
||||
RUN curl --fail --silent --location --retry 3 \
|
||||
https://download.sonatype.com/nexus/oss/nexus-${NEXUS_VERSION}-bundle.tar.gz.sha1 \
|
||||
-o /tmp/nexus-${NEXUS_VERSION}-bundle.tar.gz.sha1
|
||||
|
||||
RUN echo $(cat nexus-${NEXUS_VERSION}-bundle.tar.gz.sha1) nexus-${NEXUS_VERSION}-bundle.tar.gz | sha1sum -c
|
||||
# Observe the two spaces below. Seriously.
|
||||
RUN echo "${NEXUS_SHA1SUM} nexus-${NEXUS_VERSION}-bundle.tar.gz" > nexus-${NEXUS_VERSION}-bundle.tar.gz.sha1
|
||||
RUN sha1sum --check nexus-${NEXUS_VERSION}-bundle.tar.gz.sha1
|
||||
|
||||
RUN tar zxf nexus-${NEXUS_VERSION}-bundle.tar.gz \
|
||||
&& mv /tmp/nexus-${NEXUS_VERSION}/* /opt/sonatype/nexus/ \
|
||||
|
@ -47,11 +75,5 @@ RUN mkdir /build
|
|||
ADD https://raw.githubusercontent.com/mozilla/build-tooltool/master/tooltool.py /build/tooltool.py
|
||||
RUN chmod +rx /build/tooltool.py
|
||||
|
||||
# Add build scripts.
|
||||
ADD build.sh /build/
|
||||
RUN chmod +x /build/*
|
||||
|
||||
ADD project /project
|
||||
|
||||
# Invoke our build scripts by default, but allow other commands.
|
||||
CMD /build/build.sh
|
||||
# Back to the centos6-build workdir, matching desktop-build.
|
||||
WORKDIR /home/worker
|
||||
|
|
|
@ -7,23 +7,6 @@ set -x -e
|
|||
|
||||
set -v
|
||||
|
||||
# Frowned upon, but simplest.
|
||||
RUN_AS_USER=root NEXUS_WORK=${WORKSPACE}/nexus /opt/sonatype/nexus/bin/nexus start
|
||||
|
||||
# Wait "a while" for Nexus to actually start. Don't fail if this fails.
|
||||
wget --quiet --retry-connrefused --waitretry=2 --tries=100 \
|
||||
http://localhost:8081/nexus/service/local/status || true
|
||||
rm -rf status
|
||||
|
||||
# Verify Nexus has actually started. Fail if this fails.
|
||||
curl --fail --silent --location http://localhost:8081/nexus/service/local/status | grep '<state>STARTED</state>'
|
||||
|
||||
export JAVA_HOME=/usr/lib/jvm/jre-1.7.0-openjdk
|
||||
|
||||
pushd /project
|
||||
./gradlew tasks
|
||||
popd
|
||||
|
||||
# Package everything up.
|
||||
pushd ${WORKSPACE}
|
||||
# Not yet. See notes on tooltool below.
|
||||
|
@ -34,26 +17,26 @@ cp -R /workspace/nexus/storage/central jcentral
|
|||
tar cJf jcentral.tar.xz jcentral
|
||||
|
||||
# The Gradle wrapper will have downloaded and verified the hash of exactly one
|
||||
# Gradle distribution. It will be located at
|
||||
# Gradle distribution. It will be located in $GRADLE_USER_HOME, like
|
||||
# ~/.gradle/wrapper/dists/gradle-2.7-all/$PROJECT_HASH/gradle-2.7-all.zip. We
|
||||
# want to remove the version from the internal directory for use via tooltool
|
||||
# in a mozconfig.
|
||||
cp ~/.gradle/wrapper/dists/gradle-${GRADLE_VERSION}-all/*/gradle-${GRADLE_VERSION}-all.zip gradle-${GRADLE_VERSION}-all.zip
|
||||
# want to remove the version from the internal directory for use via tooltool in
|
||||
# a mozconfig.
|
||||
cp $GRADLE_USER_HOME/wrapper/dists/gradle-${GRADLE_VERSION}-all/*/gradle-${GRADLE_VERSION}-all.zip gradle-${GRADLE_VERSION}-all.zip
|
||||
unzip -q gradle-${GRADLE_VERSION}-all.zip
|
||||
mv gradle-${GRADLE_VERSION} gradle
|
||||
tar cJf gradle.tar.xz gradle
|
||||
|
||||
mkdir -p /artifacts
|
||||
mkdir -p /home/worker/artifacts
|
||||
# We can't redistribute the Android SDK publicly just yet. We'll
|
||||
# upload to (internal) tooltool eventually. mv
|
||||
# android-sdk-linux.tar.xz /artifacts
|
||||
mv jcentral.tar.xz /artifacts
|
||||
mv gradle.tar.xz /artifacts
|
||||
# android-sdk-linux.tar.xz /home/worker/artifacts
|
||||
mv jcentral.tar.xz /home/worker/artifacts
|
||||
mv gradle.tar.xz /home/worker/artifacts
|
||||
popd
|
||||
|
||||
# Bug 1245170: at some point in the future, we'll be able to upload
|
||||
# things directly to tooltool.
|
||||
# pushd /artifacts
|
||||
# pushd /home/worker/artifacts
|
||||
# /build/tooltool.py add --visibility=public jcentral.tar.xz
|
||||
# /build/tooltool.py add --visibility=public gradle.tar.xz
|
||||
# /build/tooltool.py add --visibility=internal android-sdk-linux.tar.xz
|
|
@ -0,0 +1,21 @@
|
|||
#!/bin/bash -vex
|
||||
|
||||
set -x -e
|
||||
|
||||
: WORKSPACE ${WORKSPACE:=/workspace}
|
||||
: GRADLE_VERSION ${GRADLE_VERSION:=2.7}
|
||||
|
||||
set -v
|
||||
|
||||
# Frowned upon, but simplest.
|
||||
RUN_AS_USER=root NEXUS_WORK=${WORKSPACE}/nexus /opt/sonatype/nexus/bin/nexus restart
|
||||
|
||||
# Wait "a while" for Nexus to actually start. Don't fail if this fails.
|
||||
wget --quiet --retry-connrefused --waitretry=2 --tries=100 \
|
||||
http://localhost:8081/nexus/service/local/status || true
|
||||
rm -rf status
|
||||
|
||||
# Verify Nexus has actually started. Fail if this fails.
|
||||
curl --fail --silent --location http://localhost:8081/nexus/service/local/status | grep '<state>STARTED</state>'
|
||||
|
||||
export JAVA_HOME=/usr/lib/jvm/jre-1.7.0-openjdk.x86_64
|
|
@ -0,0 +1,29 @@
|
|||
#! /bin/bash -vex
|
||||
|
||||
set -x -e -v
|
||||
|
||||
# TODO: when bug 1093833 is solved and tasks can run as non-root, reduce this
|
||||
# to a simple fail-if-root check
|
||||
if [ $(id -u) = 0 ]; then
|
||||
# each of the caches we have mounted are owned by root, so update that ownership
|
||||
# to 'worker'
|
||||
for cache in /home/worker/.tc-vcs /home/worker/workspace /home/worker/tooltool-cache; do
|
||||
if [ -d $cache ]; then
|
||||
# -R probably isn't necessary forever, but it fixes some poisoned
|
||||
# caches for now
|
||||
chown -R worker:worker $cache
|
||||
fi
|
||||
done
|
||||
|
||||
# ..then drop privileges by re-running this script
|
||||
exec su worker /home/worker/bin/build.sh
|
||||
fi
|
||||
|
||||
####
|
||||
# The default build works for any fx_desktop_build based mozharness job:
|
||||
# via linux-build.sh
|
||||
####
|
||||
|
||||
. $HOME/bin/checkout-sources.sh
|
||||
|
||||
. $WORKSPACE/build/src/testing/taskcluster/scripts/builder/build-linux.sh
|
|
@ -0,0 +1,17 @@
|
|||
#! /bin/bash -vex
|
||||
|
||||
set -x -e
|
||||
|
||||
# Inputs, with defaults
|
||||
|
||||
: GECKO_HEAD_REPOSITORY ${GECKO_HEAD_REPOSITORY:=https://hg.mozilla.org/mozilla-central}
|
||||
: GECKO_HEAD_REV ${GECKO_HEAD_REV:=default}
|
||||
|
||||
: SCRIPT_DOWNLOAD_PATH ${SCRIPT_DOWNLOAD_PATH:=$PWD}
|
||||
: SCRIPT_PATH ${SCRIPT_PATH:?"script path must be set"}
|
||||
set -v
|
||||
|
||||
# download script from the gecko repository
|
||||
url=${GECKO_HEAD_REPOSITORY}/raw-file/${GECKO_HEAD_REV}/${SCRIPT_PATH}
|
||||
wget --directory-prefix=${SCRIPT_DOWNLOAD_PATH} $url
|
||||
chmod +x `basename ${SCRIPT_PATH}`
|
|
@ -0,0 +1,55 @@
|
|||
#! /bin/bash -vex
|
||||
|
||||
set -x -e
|
||||
|
||||
# Inputs, with defaults
|
||||
|
||||
# mozharness builds use three repositories: gecko (source), mozharness (build
|
||||
# scripts) and tools (miscellaneous) for each, specify *_REPOSITORY. If the
|
||||
# revision is not in the standard repo for the codebase, specify *_BASE_REPO as
|
||||
# the canonical repo to clone and *_HEAD_REPO as the repo containing the
|
||||
# desired revision. For Mercurial clones, only *_HEAD_REV is required; for Git
|
||||
# clones, specify the branch name to fetch as *_HEAD_REF and the desired sha1
|
||||
# as *_HEAD_REV.
|
||||
|
||||
: GECKO_REPOSITORY ${GECKO_REPOSITORY:=https://hg.mozilla.org/mozilla-central}
|
||||
: GECKO_BASE_REPOSITORY ${GECKO_BASE_REPOSITORY:=${GECKO_REPOSITORY}}
|
||||
: GECKO_HEAD_REPOSITORY ${GECKO_HEAD_REPOSITORY:=${GECKO_REPOSITORY}}
|
||||
: GECKO_HEAD_REV ${GECKO_HEAD_REV:=default}
|
||||
: GECKO_HEAD_REF ${GECKO_HEAD_REF:=${GECKO_HEAD_REV}}
|
||||
|
||||
: TOOLS_REPOSITORY ${TOOLS_REPOSITORY:=https://hg.mozilla.org/build/tools}
|
||||
: TOOLS_BASE_REPOSITORY ${TOOLS_BASE_REPOSITORY:=${TOOLS_REPOSITORY}}
|
||||
: TOOLS_HEAD_REPOSITORY ${TOOLS_HEAD_REPOSITORY:=${TOOLS_REPOSITORY}}
|
||||
: TOOLS_HEAD_REV ${TOOLS_HEAD_REV:=default}
|
||||
: TOOLS_HEAD_REF ${TOOLS_HEAD_REF:=${TOOLS_HEAD_REV}}
|
||||
: TOOLS_DISABLE ${TOOLS_DISABLE:=false}
|
||||
|
||||
: WORKSPACE ${WORKSPACE:=/home/worker/workspace}
|
||||
|
||||
set -v
|
||||
|
||||
# check out tools where mozharness expects it to be ($PWD/build/tools and $WORKSPACE/build/tools)
|
||||
if [ ! "$TOOLS_DISABLE" = true ]
|
||||
then
|
||||
tc-vcs checkout $WORKSPACE/build/tools $TOOLS_BASE_REPOSITORY $TOOLS_HEAD_REPOSITORY $TOOLS_HEAD_REV $TOOLS_HEAD_REF
|
||||
|
||||
if [ ! -d build ]; then
|
||||
mkdir -p build
|
||||
ln -s $WORKSPACE/build/tools build/tools
|
||||
fi
|
||||
fi
|
||||
|
||||
# TODO - include tools repository in EXTRA_CHECKOUT_REPOSITORIES list
|
||||
for extra_repo in $EXTRA_CHECKOUT_REPOSITORIES; do
|
||||
BASE_REPO="${extra_repo}_BASE_REPOSITORY"
|
||||
HEAD_REPO="${extra_repo}_HEAD_REPOSITORY"
|
||||
HEAD_REV="${extra_repo}_HEAD_REV"
|
||||
HEAD_REF="${extra_repo}_HEAD_REF"
|
||||
DEST_DIR="${extra_repo}_DEST_DIR"
|
||||
|
||||
tc-vcs checkout ${!DEST_DIR} ${!BASE_REPO} ${!HEAD_REPO} ${!HEAD_REV} ${!HEAD_REF}
|
||||
done
|
||||
|
||||
export GECKO_DIR=$WORKSPACE/build/src
|
||||
tc-vcs checkout $GECKO_DIR $GECKO_BASE_REPOSITORY $GECKO_HEAD_REPOSITORY $GECKO_HEAD_REV $GECKO_HEAD_REF
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"properties": {
|
||||
"buildername": ""
|
||||
},
|
||||
"sourcestamp": {
|
||||
"changes": []
|
||||
},
|
||||
"comments": "TaskCluster Job"
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
taskcluster_clientId = None
|
||||
taskcluster_accessToken = None
|
|
@ -1,6 +0,0 @@
|
|||
This Gradle project exists only to list dependencies used to build Firefox for
|
||||
Android. Eventually, this definition will live in ``mobile/android``, or it
|
||||
will just *be* ``mobile/android/app/build.gradle``.
|
||||
|
||||
Until we determine the best Docker and Taskcluster patterns for dependency
|
||||
gathering and toolchain producing like this, this can live here.
|
|
@ -1,73 +0,0 @@
|
|||
buildscript {
|
||||
repositories {
|
||||
maven {
|
||||
url 'http://localhost:8081/nexus/content/repositories/central/'
|
||||
}
|
||||
|
||||
maven {
|
||||
url 'https://jitpack.io'
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:1.3.0'
|
||||
classpath('com.stanfy.spoon:spoon-gradle-plugin:1.0.4') {
|
||||
// Without these, we get errors linting.
|
||||
exclude module: 'guava'
|
||||
}
|
||||
|
||||
// See
|
||||
// https://github.com/JakeWharton/sdk-manager-plugin/issues/73#issuecomment-106747867
|
||||
// and
|
||||
// https://github.com/JakeWharton/sdk-manager-plugin/issues/99#issuecomment-166438751.
|
||||
classpath 'com.github.JakeWharton:sdk-manager-plugin:220bf7a88a7072df3ed16dc8466fb144f2817070'
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
maven {
|
||||
url 'http://localhost:8081/nexus/content/repositories/central/'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
apply plugin: 'android-sdk-manager'
|
||||
|
||||
// Optionally, require an emulator.
|
||||
// sdkManager {
|
||||
// emulatorVersion 'android-19'
|
||||
// emulatorArchitecture 'armeabi-v7a' // Optional, defaults to ARM.
|
||||
// }
|
||||
|
||||
apply plugin: 'com.android.application'
|
||||
|
||||
android {
|
||||
compileSdkVersion 23
|
||||
buildToolsVersion "23.0.1"
|
||||
|
||||
defaultConfig {
|
||||
targetSdkVersion 23
|
||||
minSdkVersion 15
|
||||
}
|
||||
}
|
||||
|
||||
// These are extracted from mobile/android/**/*.gradle.
|
||||
dependencies {
|
||||
compile 'com.android.support:appcompat-v7:23.0.1'
|
||||
compile 'com.android.support:design:23.0.1'
|
||||
compile 'com.android.support:mediarouter-v7:23.0.1'
|
||||
compile 'com.android.support:recyclerview-v7:23.0.1'
|
||||
compile 'com.android.support:support-v4:23.0.1'
|
||||
compile 'com.google.android.gms:play-services-base:8.1.0'
|
||||
compile 'com.google.android.gms:play-services-basement:8.1.0'
|
||||
compile 'com.google.android.gms:play-services-cast:8.1.0'
|
||||
compile 'com.google.android.gms:play-services-gcm:8.1.0'
|
||||
compile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta1'
|
||||
compile 'com.squareup.leakcanary:leakcanary-android:1.4-beta1'
|
||||
testCompile 'junit:junit:4.12'
|
||||
testCompile 'org.mockito:mockito-core:1.10.19'
|
||||
testCompile 'org.robolectric:robolectric:3.0'
|
||||
testCompile 'org.simpleframework:simple-http:6.0.1'
|
||||
androidTestCompile 'com.jayway.android.robotium:robotium-solo:4.3.1'
|
||||
}
|
Двоичные данные
testing/docker/android-gradle-build/project/gradle/wrapper/gradle-wrapper.jar
поставляемый
Двоичные данные
testing/docker/android-gradle-build/project/gradle/wrapper/gradle-wrapper.jar
поставляемый
Двоичный файл не отображается.
|
@ -1,7 +0,0 @@
|
|||
#Tue Jan 26 20:42:06 PST 2016
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-2.7-all.zip
|
||||
distributionSha256Sum=2ba0aaa11a3e96ec0af31d532d808e1f09cc6dcad0954e637902a1ab544b9e60
|
|
@ -1,160 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Gradle start up script for UN*X
|
||||
##
|
||||
##############################################################################
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS=""
|
||||
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD="maximum"
|
||||
|
||||
warn ( ) {
|
||||
echo "$*"
|
||||
}
|
||||
|
||||
die ( ) {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
case "`uname`" in
|
||||
CYGWIN* )
|
||||
cygwin=true
|
||||
;;
|
||||
Darwin* )
|
||||
darwin=true
|
||||
;;
|
||||
MINGW* )
|
||||
msys=true
|
||||
;;
|
||||
esac
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
# Resolve links: $0 may be a link
|
||||
PRG="$0"
|
||||
# Need this for relative symlinks.
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`"/$link"
|
||||
fi
|
||||
done
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >/dev/null
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD="java"
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
|
||||
MAX_FD_LIMIT=`ulimit -H -n`
|
||||
if [ $? -eq 0 ] ; then
|
||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||
MAX_FD="$MAX_FD_LIMIT"
|
||||
fi
|
||||
ulimit -n $MAX_FD
|
||||
if [ $? -ne 0 ] ; then
|
||||
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||
fi
|
||||
else
|
||||
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||
fi
|
||||
fi
|
||||
|
||||
# For Darwin, add options to specify how the application appears in the dock
|
||||
if $darwin; then
|
||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
SEP=""
|
||||
for dir in $ROOTDIRSRAW ; do
|
||||
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||
SEP="|"
|
||||
done
|
||||
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||
# Add a user-defined pattern to the cygpath arguments
|
||||
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||
fi
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
i=0
|
||||
for arg in "$@" ; do
|
||||
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||
|
||||
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=$((i+1))
|
||||
done
|
||||
case $i in
|
||||
(0) set -- ;;
|
||||
(1) set -- "$args0" ;;
|
||||
(2) set -- "$args0" "$args1" ;;
|
||||
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
|
||||
function splitJvmOpts() {
|
||||
JVM_OPTS=("$@")
|
||||
}
|
||||
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
|
||||
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
|
||||
|
||||
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
|
|
@ -1,90 +0,0 @@
|
|||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS=
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto init
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto init
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:init
|
||||
@rem Get command-line arguments, handling Windowz variants
|
||||
|
||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||
if "%@eval[2+2]" == "4" goto 4NT_args
|
||||
|
||||
:win9xME_args
|
||||
@rem Slurp the command line arguments.
|
||||
set CMD_LINE_ARGS=
|
||||
set _SKIP=2
|
||||
|
||||
:win9xME_args_slurp
|
||||
if "x%~1" == "x" goto execute
|
||||
|
||||
set CMD_LINE_ARGS=%*
|
||||
goto execute
|
||||
|
||||
:4NT_args
|
||||
@rem Get arguments from the 4NT Shell from JP Software
|
||||
set CMD_LINE_ARGS=%$
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
|
@ -1,6 +0,0 @@
|
|||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.mozilla.gecko">
|
||||
<!-- THIS IS NOT THE REAL MANIFEST! This is for Gradle only. See
|
||||
AndroidManifest.xml.in. -->
|
||||
|
||||
</manifest>
|
|
@ -47,6 +47,16 @@ task:
|
|||
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}}'
|
||||
|
|
Загрузка…
Ссылка в новой задаче