diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /media/webrtc/trunk/build/android/ant/sdk-targets.xml | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'media/webrtc/trunk/build/android/ant/sdk-targets.xml')
-rw-r--r-- | media/webrtc/trunk/build/android/ant/sdk-targets.xml | 284 |
1 files changed, 284 insertions, 0 deletions
diff --git a/media/webrtc/trunk/build/android/ant/sdk-targets.xml b/media/webrtc/trunk/build/android/ant/sdk-targets.xml new file mode 100644 index 000000000..b692f6ec6 --- /dev/null +++ b/media/webrtc/trunk/build/android/ant/sdk-targets.xml @@ -0,0 +1,284 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (c) 2012 The Chromium Authors. All rights reserved. + Use of this source code is governed by a BSD-style license that can be + found in the LICENSE file. +--> +<project name="chrome_sdk_overrides" > + <!-- + Redefinition of targets used by SDK tools. + Supported version: SDK tools revision 20. + + SDK tools do not allow easy way of extending classpaths + for aidl and javac. This file defines targets which can be used to + override targets used by tools. + --> + <target name="-pre-compile"> + <!-- + Remove all .class files from the output directory. This prevents inclusion of incorrect .class + files in the final apk. For example, if a .java file was deleted, the apk should not contain + the .class files for that .java from previous builds. + --> + <delete> + <fileset dir="${out.classes.absolute.dir}" includes="**/*.class"/> + </delete> + </target> + + <!-- + Override the -compile target. + This target requires 'javac.custom.classpath' to be set to reference + of classpath to be used for javac. Also accepts custom path for + sources: 'javac.custom.sourcepath'. + --> + <target + name="-compile" + depends="-build-setup, -pre-build, -code-gen, -pre-compile"> + <do-only-if-manifest-hasCode elseText="hasCode = false. Skipping..." > + <!-- If javac.srcdirs.additional isn't set, set it to an empty path. --> + <if> + <condition> + <not> + <isreference refid="javac.srcdirs.additional"/> + </not> + </condition> + <then> + <path id="javac.srcdirs.additional"/> + </then> + </if> + <javac + bootclasspathref="project.target.class.path" + classpathref="javac.custom.classpath" + debug="true" + destdir="${out.classes.absolute.dir}" + encoding="${java.encoding}" + extdirs="" + fork="${need.javac.fork}" + includeantruntime="false" + source="${java.source}" + target="${java.target}" + verbose="${verbose}"> + <src path="${source.absolute.dir}"/> + <src path="${gen.absolute.dir}"/> + <src> + <path refid="javac.srcdirs.additional"/> + </src> + <compilerarg line="${java.compilerargs}"/> + </javac> + <!-- + If the project is instrumented, then instrument the classes + TODO(shashishekhar): Add option to override emma filter. + --> + <if condition="${build.is.instrumented}"> + <then> + <echo level="info"> + Instrumenting classes from ${out.absolute.dir}/classes... + </echo> + <!-- build the default filter to remove R, Manifest, BuildConfig --> + <getemmafilter + appPackage="${project.app.package}" + filterOut="emma.default.filter" + libraryPackagesRefId="project.library.packages"/> + <!-- + Define where the .em file is output. + This may have been setup already if this is a library. + --> + <property name="emma.coverage.absolute.file" + location="${out.absolute.dir}/coverage.em"/> + <!-- It only instruments class files, not any external libs --> + + <emma enabled="true"> + <instr + instrpath="${out.absolute.dir}/classes" + metadatafile="${emma.coverage.absolute.file}" + mode="overwrite" + outdir="${out.absolute.dir}/classes" + verbosity="${verbosity}"> + <filter excludes="${emma.default.filter}"/> + <filter value="${emma.filter}"/> + </instr> + </emma> + </then> + </if> + <!-- + If the project needs a test jar then generate a jar containing + all compiled classes and referenced jars. + project.is.testapp is set by Android's ant build system based on the + target's manifest. It is true only for instrumentation apks. + --> + <if condition="${project.is.testapp}"> + <then> + <echo level="info">Creating test jar file: + ${ant.project.name}-debug.jar</echo> + <property-location name="create.test.jar.file" + location="${CHROMIUM_SRC}/build/android/ant/create-test-jar.js"/> + <script language="javascript" src="${create.test.jar.file}"/> + </then> + </if> + + </do-only-if-manifest-hasCode> + </target> + + <!-- + For debug builds, the Android SDK tools create a key in ~/.android and sign the build with it. + This has caused all kinds of issues. Instead, the debug build should be signed with a key in + build/android/ant. The SDK tools do not provide any support for overriding that behavior and so + instead one must use the hack below. + --> + + <!-- Disables automatic signing. --> + <property name="build.is.signing.debug" value="false"/> + + <!-- TODO(cjhopman): Remove this property when all gyp files define the CHROMIUM_SRC property. --> + <property name="CHROMIUM_SRC" value="${PRODUCT_DIR}/../.." /> + + <property name="key.store" value="${CHROMIUM_SRC}/build/android/ant/chromium-debug.keystore"/> + <property name="key.store.password" value="chromium"/> + <property name="key.alias" value="chromiumdebugkey"/> + <property name="key.alias.password" value="chromium"/> + + <!-- SDK tools assume that out.packaged.file is signed and name it "...-unaligned" --> + <property name="out.packaged.file" + value="${apks.dir}/${ant.project.name}-debug-unsigned.apk" /> + <property name="out.unaligned.file" + value="${apks.dir}/${ant.project.name}-debug-unaligned.apk" /> + + <!-- By default, the SDK tools build only aligns the APK in the -do-debug target. --> + <target name="-do-debug" + depends="-set-debug-mode, -debug-obfuscation-check, -package, -post-package"> + <!-- only create apk if *not* a library project --> + <do-only-if-not-library elseText="Library project: do not create apk..." > + <sequential> + <!-- Signs the APK --> + <echo level="info">Signing final apk...</echo> + <signapk + input="${out.packaged.file}" + output="${out.unaligned.file}" + keystore="${key.store}" + storepass="${key.store.password}" + alias="${key.alias}" + keypass="${key.alias.password}"/> + + <!-- Zip aligns the APK --> + <zipalign-helper + in.package="${out.unaligned.file}" + out.package="${out.final.file}" /> + <echo level="info">Release Package: ${out.final.file}</echo> + </sequential> + </do-only-if-not-library> + <record-build-info /> + </target> + + <path id="native.libs.gdbserver"> + <fileset file="${android.gdbserver}"/> + </path> + + <target name="-post-compile"> + <!-- + Copy gdbserver to main libs directory if building a non-instrumentation debug apk. + TODO(jrg): For now, Chrome on Android always builds native code + as Release and java/ant as Debug, which means we always install + gdbserver. Resolve this discrepancy, possibly by making this + Release Official build java/ant as Release. + --> + <if> + <condition> + <and> + <equals arg1="${build.target}" arg2="debug"/> + <isfalse value="${project.is.testapp}"/> + </and> + </condition> + <then> + <echo message="Copying gdbserver to the apk to enable native debugging"/> + <copy todir="${out.dir}/libs/${target.abi}"> + <path refid="native.libs.gdbserver"/> + </copy> + </then> + </if> + + <!-- Package all the compiled .class files into a .jar. --> + <jar + jarfile="${lib.java.dir}/chromium_apk_${PACKAGE_NAME}.jar" + basedir="${out.classes.absolute.dir}" + /> + </target> + + <!-- + Override obfuscate target to pass javac.custom.classpath to Proguard. SDK tools do not provide + any way to pass custom class paths to Proguard. + --> + <target name="-obfuscate"> + <if condition="${proguard.enabled}"> + <then> + <property name="obfuscate.absolute.dir" location="${out.absolute.dir}/proguard"/> + <property name="preobfuscate.jar.file" value="${obfuscate.absolute.dir}/original.jar"/> + <property name="obfuscated.jar.file" value="${obfuscate.absolute.dir}/obfuscated.jar"/> + <!-- input for dex will be proguard's output --> + <property name="out.dex.input.absolute.dir" value="${obfuscated.jar.file}"/> + + <!-- Add Proguard Tasks --> + <property name="proguard.jar" location="${android.tools.dir}/proguard/lib/proguard.jar"/> + <taskdef name="proguard" classname="proguard.ant.ProGuardTask" classpath="${proguard.jar}"/> + + <!-- Set the android classpath Path object into a single property. It'll be + all the jar files separated by a platform path-separator. + Each path must be quoted if it contains spaces. + --> + <pathconvert property="project.target.classpath.value" refid="project.target.class.path"> + <firstmatchmapper> + <regexpmapper from='^([^ ]*)( .*)$$' to='"\1\2"'/> + <identitymapper/> + </firstmatchmapper> + </pathconvert> + + <!-- Build a path object with all the jar files that must be obfuscated. + This include the project compiled source code and any 3rd party jar + files. --> + <path id="project.all.classes.path"> + <pathelement location="${preobfuscate.jar.file}"/> + <path refid="project.all.jars.path"/> + <!-- Pass javac.custom.classpath for apks. --> + <path refid="javac.custom.classpath"/> + </path> + <!-- Set the project jar files Path object into a single property. It'll be + all the jar files separated by a platform path-separator. + Each path must be quoted if it contains spaces. + --> + <pathconvert property="project.all.classes.value" refid="project.all.classes.path"> + <firstmatchmapper> + <regexpmapper from='^([^ ]*)( .*)$$' to='"\1\2"'/> + <identitymapper/> + </firstmatchmapper> + </pathconvert> + + <!-- Turn the path property ${proguard.config} from an A:B:C property + into a series of includes: -include A -include B -include C + suitable for processing by the ProGuard task. Note - this does + not include the leading '-include "' or the closing '"'; those + are added under the <proguard> call below. + --> + <path id="proguard.configpath"> + <pathelement path="${proguard.config}"/> + </path> + <pathconvert pathsep='" -include "' property="proguard.configcmd" + refid="proguard.configpath"/> + + <mkdir dir="${obfuscate.absolute.dir}"/> + <delete file="${preobfuscate.jar.file}"/> + <delete file="${obfuscated.jar.file}"/> + <jar basedir="${out.classes.absolute.dir}" + destfile="${preobfuscate.jar.file}"/> + <proguard> + -include "${proguard.configcmd}" + -include "${out.absolute.dir}/proguard.txt" + -injars ${project.all.classes.value} + -outjars "${obfuscated.jar.file}" + -libraryjars ${project.target.classpath.value} + -dump "${obfuscate.absolute.dir}/dump.txt" + -printseeds "${obfuscate.absolute.dir}/seeds.txt" + -printusage "${obfuscate.absolute.dir}/usage.txt" + -printmapping "${obfuscate.absolute.dir}/mapping.txt" + </proguard> + </then> + </if> + </target> +</project> |