import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo

This commit is contained in:
Roy Tam 2018-01-19 03:59:58 +08:00
commit dcd9973243
150858 changed files with 23884658 additions and 0 deletions

View file

@ -0,0 +1,20 @@
#! /bin/sh
# 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
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# Wrapper for running SpiderMonkey js shell in automation with correct
# LD_LIBRARY_PATH.
# We don't have a reference to topsrcdir at this point, but we are invoked as
# "$topsrcdir/mobile/android/config/js_wrapper.sh" so we can extract topsrcdir
# from $0.
topsrcdir=`cd \`dirname $0\`/../../..; pwd`
JS_BINARY="$topsrcdir/jsshell/js"
LD_LIBRARY_PATH="$topsrcdir/jsshell${LD_LIBRARY_PATH+:$LD_LIBRARY_PATH}"
export LD_LIBRARY_PATH
# Pass through all arguments and exit with status from js shell.
exec "$JS_BINARY" "$@"

View file

@ -0,0 +1,43 @@
# 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
NO_CACHE=1
NO_NDK=1
. "$topsrcdir/mobile/android/config/mozconfigs/common"
ac_add_options --with-gradle="$topsrcdir/gradle-dist/bin/gradle"
export GRADLE_MAVEN_REPOSITORY="file://$topsrcdir/jcentral"
unset HOST_CC
unset HOST_CXX
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
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,45 @@
# 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
NO_CACHE=1
NO_NDK=1
. "$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/"
# From here on, just like ../android-api-15-frontend/nightly.
ac_add_options --disable-compile-environment
unset HOST_CC
unset HOST_CXX
ac_add_options --disable-tests
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
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,23 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
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
ac_add_options --with-gradle="$topsrcdir/gradle-dist/bin/gradle"
export GRADLE_MAVEN_REPOSITORY="file://$topsrcdir/jcentral"
# From here on, just like ../android-api-15/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
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,16 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# Global options
ac_add_options --enable-debug
ENABLE_MARIONETTE=1
# Android
ac_add_options --with-android-min-sdk=15
ac_add_options --target=arm-linux-androideabi
export MOZILLA_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1
ac_add_options --with-branding=mobile/android/branding/official
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,27 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# L10n
ac_add_options --with-l10n-base=..
# Global options
ac_add_options --disable-tests
# Android
ac_add_options --with-android-min-sdk=15
ac_add_options --target=arm-linux-androideabi
ac_add_options --with-system-zlib
ac_add_options --enable-updater
ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
export MOZILLA_OFFICIAL=1
ac_add_options --with-branding=mobile/android/branding/official
ac_add_options --disable-stdcxx-compat
# Don't autoclobber l10n, as this can lead to missing binaries and broken builds
# Bug 1283438
mk_add_options AUTOCLOBBER=
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,28 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# L10n
ac_add_options --with-l10n-base=..
# Global options
ac_add_options --disable-tests
# Android
ac_add_options --with-android-min-sdk=15
ac_add_options --target=arm-linux-androideabi
ac_add_options --with-system-zlib
ac_add_options --enable-updater
ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
export MOZILLA_OFFICIAL=1
ac_add_options --enable-official-branding
ac_add_options --with-branding=mobile/android/branding/official
ac_add_options --disable-stdcxx-compat
# Don't autoclobber l10n, as this can lead to missing binaries and broken builds
# Bug 1283438
mk_add_options AUTOCLOBBER=
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,18 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# Android
ac_add_options --with-android-min-sdk=15
ac_add_options --target=arm-linux-androideabi
ac_add_options --with-branding=mobile/android/branding/official
# 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
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,16 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# Android
ac_add_options --with-android-min-sdk=15
ac_add_options --target=arm-linux-androideabi
ac_add_options --with-branding=mobile/android/branding/official
ac_add_options --enable-updater
export MOZILLA_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1
ac_add_options --enable-official-branding
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,15 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# Global options
ac_add_options --enable-debug
# Android
ac_add_options --target=i386-linux-android
ac_add_options --with-android-min-sdk=15
export MOZILLA_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1
ac_add_options --with-branding=mobile/android/branding/official
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,26 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# L10n
ac_add_options --with-l10n-base=..
# Global options
ac_add_options --disable-tests
# Android
ac_add_options --target=i386-linux-android
ac_add_options --with-android-min-sdk=15
ac_add_options --enable-updater
ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
export MOZILLA_OFFICIAL=1
ac_add_options --with-branding=mobile/android/branding/official
ac_add_options --disable-stdcxx-compat
# Don't autoclobber l10n, as this can lead to missing binaries and broken builds
# Bug 1283438
mk_add_options AUTOCLOBBER=
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,27 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# L10n
ac_add_options --with-l10n-base=..
# Global options
ac_add_options --disable-tests
# Android
ac_add_options --target=i386-linux-android
ac_add_options --with-android-min-sdk=15
ac_add_options --enable-updater
ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
export MOZILLA_OFFICIAL=1
ac_add_options --enable-official-branding
ac_add_options --with-branding=mobile/android/branding/official
ac_add_options --disable-stdcxx-compat
# Don't autoclobber l10n, as this can lead to missing binaries and broken builds
# Bug 1283438
mk_add_options AUTOCLOBBER=
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,17 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
ac_add_options --target=i386-linux-android
ac_add_options --with-android-min-sdk=15
ac_add_options --with-branding=mobile/android/branding/official
# 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
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,16 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# Android
ac_add_options --target=i386-linux-android
ac_add_options --with-android-min-sdk=15
ac_add_options --enable-updater
ac_add_options --with-branding=mobile/android/branding/official
export MOZILLA_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1
ac_add_options --enable-official-branding
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,83 @@
# 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
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# This file is included at the top of all native android mozconfigs
if [ "x$IS_NIGHTLY" = "xyes" ]; then
MOZ_AUTOMATION_UPLOAD_SYMBOLS=${MOZ_AUTOMATION_UPLOAD_SYMBOLS-1}
fi
MOZ_AUTOMATION_L10N_CHECK=0
. "$topsrcdir/build/mozconfig.common"
# In TaskCluster, the Java JRE/JDK are installed from tooltool, but that
# install doesn't work on the old Buildbot mock builders (CentOS 6.2), so
# the relevant env vars are not set up in that case, leaving the build to
# run from the JRE/JDK in /usr/lib/jvm.
if [ ! -f /etc/redhat-release ] || [ "$(< /etc/redhat-release)" != "CentOS release 6.2 (Final)" ]; then
# set JAVA_HOME to find the JRE/JDK from tooltool. Several scripts in the JDK
# assume `java` is in PATH, so set that too. To see how this tarball is built,
# see taskcluster/scripts/misc/repackage-jdk.sh
export JAVA_HOME="$topsrcdir/java_home"
export PATH="$PATH:$topsrcdir/java_home/bin"
mk_add_options "export JAVA_HOME=$topsrcdir/java_home"
mk_add_options "export PATH=$PATH:$topsrcdir/java_home/bin"
fi
ac_add_options --enable-elf-hack
ANDROID_NDK_VERSION="r10e"
ANDROID_NDK_VERSION_32BIT="r8c"
# Build Fennec
ac_add_options --enable-application=mobile/android
ac_add_options --with-android-sdk="$topsrcdir/android-sdk-linux"
if [ -z "$NO_NDK" ]; then
ac_add_options --with-android-ndk="$topsrcdir/android-ndk"
ac_add_options --with-android-gnu-compiler-version=4.9
fi
ac_add_options --with-system-zlib
ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
ac_add_options --with-mozilla-api-keyfile=/builds/mozilla-fennec-geoloc-api.key
# MOZ_INSTALL_TRACKING does not guarantee MOZ_UPDATE_CHANNEL will be set so we
# provide a default state. Currently, the default state provides a default
# keyfile because an assertion will be thrown if MOZ_INSTALL_TRACKING is
# specified but a keyfile is not. This assertion can catch if we misconfigure a
# release or beta build and it does not have a valid keyfile.
#
# However, by providing a default keyfile, if we misconfigure beta or release,
# the default keyfile may be used instead and the assertion won't catch the
# error. Therefore, it would be ideal to have MOZ_INSTALL_TRACKING guarantee
# MOZ_UPDATE_CHANNEL was set so we can remove the default case. This may occur
# when release promotion is implemented on Android.
#
# In all cases, we don't upload Adjust pings in automation.
if test "$MOZ_UPDATE_CHANNEL" = "release" ; then
ac_add_options --with-adjust-sdk-keyfile=/builds/adjust-sdk.token
elif test "$MOZ_UPDATE_CHANNEL" = "beta" ; then
ac_add_options --with-adjust-sdk-keyfile=/builds/adjust-sdk-beta.token
else
ac_add_options --with-adjust-sdk-keyfile="$topsrcdir/mobile/android/base/adjust-sdk-sandbox.token"
fi
export SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE=/builds/crash-stats-api.token
# Package js shell.
export MOZ_PACKAGE_JSSHELL=1
# Use ccache
. "$topsrcdir/build/mozconfig.cache"
HOST_CC="$topsrcdir/gcc/bin/gcc"
HOST_CXX="$topsrcdir/gcc/bin/g++"
. "$topsrcdir/build/unix/mozconfig.stdcxx"
# Use libc++ as our C++ standard library
ac_add_options --with-android-cxx-stl=libc++
JS_BINARY="$topsrcdir/mobile/android/config/js_wrapper.sh"

View file

@ -0,0 +1,11 @@
# 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
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# This file is included at the bottom of all native android mozconfigs
#
# Disable enforcing that add-ons are signed by the trusted root
MOZ_REQUIRE_SIGNING=0
. "$topsrcdir/build/mozconfig.common.override"
. "$topsrcdir/build/mozconfig.cache"

View file

@ -0,0 +1,21 @@
# currently a copy of mobile/android/config/mozconfigs/android-api-15/nightly
. "$topsrcdir/mobile/android/config/mozconfigs/common"
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
ac_add_options --with-android-distribution-directory=/home/worker/workspace/build/partner
# 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
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,20 @@
# Rules to make the Adjust install tracking library work.
# via https://github.com/adjust/android_sdk#5-add-permissions
-keep class com.adjust.sdk.plugin.MacAddressUtil {
java.lang.String getMacAddress(android.content.Context);
}
-keep class com.adjust.sdk.plugin.AndroidIdUtil {
java.lang.String getAndroidId(android.content.Context);
}
-keep class com.google.android.gms.common.ConnectionResult {
int SUCCESS;
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {
com.google.android.gms.ads.identifier.AdvertisingIdClient$Info
getAdvertisingIdInfo (android.content.Context);
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info {
java.lang.String getId ();
boolean isLimitAdTrackingEnabled();
}

View file

@ -0,0 +1,11 @@
# Avoid https://code.google.com/p/android/issues/detail?id=187611 and
# http://stackoverflow.com/q/32813894 when building with Gradle. Why
# these aren't defined in appcompat-v7.aar/proguard.txt is beyond me.
-keep public class android.support.v7.widget.** { *; }
-keep public class android.support.v7.internal.widget.** { *; }
-keep public class android.support.v7.internal.view.menu.** { *; }
-keep public class * extends android.support.v4.view.ActionProvider {
public <init>(android.content.Context);
}

View file

@ -0,0 +1,7 @@
# LeakCanary
-keep class org.eclipse.mat.** { *; }
-keep class com.squareup.leakcanary.** { *; }
-keep class com.squareup.haha.** { *; }
# With LeakCanary 1.4-beta1 this creates a pile of warnings
-dontwarn com.squareup.haha.**

View file

@ -0,0 +1,19 @@
# Rules to prevent Google Play Services from exploding
# (From http://developer.android.com/google/play-services/setup.html#Proguard
# With the reference to "Object" changed so it'll actually *work*...)
-keep class * extends java.util.ListResourceBundle {
protected java.lang.Object[][] getContents();
}
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}

View file

@ -0,0 +1,78 @@
# This is a configuration file for ProGuard.
# http://proguard.sourceforge.net/index.html#manual/usage.html
#
# Starting with version 2.2 of the Android plugin for Gradle, these files are no longer used. Newer
# versions are distributed with the plugin and unpacked at build time. Files in this directory are
# no longer maintained.
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose
# Optimization is turned off by default. Dex does not like code run
# through the ProGuard optimize and preverify steps (and performs some
# of these optimizations on its own).
-dontoptimize
-dontpreverify
# Note that if you want to enable optimization, you cannot just
# include optimization flags in your own project configuration file;
# instead you will need to point to the
# "proguard-android-optimize.txt" file instead of this one from your
# project.properties file.
-keepattributes *Annotation*
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService
# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
-keepclasseswithmembernames class * {
native <methods>;
}
# keep setters in Views so that animations can still work.
# see http://proguard.sourceforge.net/manual/examples.html#beans
-keepclassmembers public class * extends android.view.View {
void set*(***);
*** get*();
}
# We want to keep methods in Activity that could be used in the XML attribute onClick
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keepclassmembers class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator CREATOR;
}
-keepclassmembers class **.R$* {
public static <fields>;
}
# The support library contains references to newer platform versions.
# Don't warn about those in case this app is linking against an older
# platform version. We know about them, and they are safe.
-dontwarn android.support.**
# Understand the @Keep support annotation.
-keep class android.support.annotation.Keep
-keep @android.support.annotation.Keep class * {*;}
-keepclasseswithmembers class * {
@android.support.annotation.Keep <methods>;
}
-keepclasseswithmembers class * {
@android.support.annotation.Keep <fields>;
}
-keepclasseswithmembers class * {
@android.support.annotation.Keep <init>(...);
}

View file

@ -0,0 +1,185 @@
# Dalvik renders preverification unuseful (Would just slightly bloat the file).
-dontpreverify
# Uncomment to have Proguard list dead code detected during the run - useful for cleaning up the codebase.
# -printusage
-dontskipnonpubliclibraryclassmembers
-verbose
-allowaccessmodification
# Preserve all fundamental application classes.
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.preference.Preference
-keep public class * extends org.mozilla.gecko.fxa.sync.FxAccountSyncAdapter
-keep class org.mozilla.gecko.fxa.sync.FxAccountSyncAdapter
-keep public class * extends android.support.v4.app.Fragment
# Preserve all native method names and the names of their classes.
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
# Keep setters in Views so that animations can still work.
# See http://proguard.sourceforge.net/manual/examples.html#beans
# From tools/proguard/proguard-android.txt.
-keepclassmembers public class * extends android.view.View {
void set*(***);
*** get*();
}
# Keep setters in support Fragment so that Robocop tests work,
# specifically testBrowserSearchVisibility.
-keepclassmembers public class * extends android.support.v4.app.Fragment {
void set*(***);
*** get*();
}
# Preserve enums. (For awful reasons, the runtime accesses them using introspection...)
-keepclassmembers enum * {
*;
}
#
# Rules from ProGuard's Android example:
# http://proguard.sourceforge.net/manual/examples.html#androidapplication
#
# Keep a fixed source file attribute and all line number tables to get line
# numbers in the stack traces.
# You can comment this out if you're not interested in stack traces.
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
# RemoteViews might need annotations.
-keepattributes *Annotation*
# Preserve all View implementations, their special context constructors, and
# their setters.
-keep public class * extends android.view.View {
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
public void set*(...);
}
# Preserve all classes that have special context constructors, and the
# constructors themselves.
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
# Preserve the special fields of all Parcelable implementations.
-keepclassmembers class * implements android.os.Parcelable {
static android.os.Parcelable$Creator CREATOR;
}
# Preserve static fields of inner classes of R classes that might be accessed
# through introspection.
-keepclassmembers class **.R$* {
public static <fields>;
}
# Preserve the required interface from the License Verification Library
# (but don't nag the developer if the library is not used at all).
-keep public interface com.android.vending.licensing.ILicensingService
-dontnote com.android.vending.licensing.ILicensingService
# The Android Compatibility library references some classes that may not be
# present in all versions of the API, but we know that's ok.
-dontwarn android.support.**
# Preserve all native method names and the names of their classes.
-keepclasseswithmembernames class * {
native <methods>;
}
#
# Mozilla-specific rules
#
# Merging classes can generate dex warnings about anonymous inner classes.
-optimizations !class/merging/horizontal
-optimizations !class/merging/vertical
# This optimisation causes corrupt bytecode if we run more than two passes.
# Testing shows that running the extra passes of everything else saves us
# more than this optimisation does, so bye bye!
-optimizations !code/allocation/variable
# Keep miscellaneous targets.
# Keep Robocop targets. TODO: Can omit these from release builds. Also, Bug 916507.
# Same formula as above...
-keep @interface org.mozilla.gecko.annotation.RobocopTarget
-keep @org.mozilla.gecko.annotation.RobocopTarget class *
-keepclassmembers class * {
@org.mozilla.gecko.annotation.RobocopTarget *;
}
-keepclassmembers @org.mozilla.gecko.annotation.RobocopTarget class * {
*;
}
-keepclasseswithmembers class * {
@org.mozilla.gecko.annotation.RobocopTarget <methods>;
}
-keepclasseswithmembers class * {
@org.mozilla.gecko.annotation.RobocopTarget <fields>;
}
-keep class **.R$*
# Keep all interfaces that might be dynamically required by Java Addons.
-keep class org.mozilla.javaaddons.* {
*;
}
-keep class org.mozilla.javaaddons.*$* {
*;
}
# Disable obfuscation because it makes exception stack traces more difficult to read.
-dontobfuscate
# Suppress warnings about missing descriptor classes.
#-dontnote **,!ch.boye.**,!org.mozilla.gecko.sync.**
-include "play-services-keeps.cfg"
# Don't print spurious warnings from the support library.
# See: http://stackoverflow.com/questions/22441366/note-android-support-v4-text-icucompatics-cant-find-dynamically-referenced-cl
-dontnote android.support.**
-include "adjust-keeps.cfg"
-include "leakcanary-keeps.cfg"
-include "appcompat-v7-keeps.cfg"
-include "proguard-android.cfg"
-include "../../geckoview/proguard-rules.txt"

View file

@ -0,0 +1,41 @@
# Proguard step for stripping debug information.
#
# This is useful to work around a bug in the way Proguard handles debug information: it
# sometimes corrupts it. Classes with corrupt debug information cannot be dexed, but
# classes with *no* debug information can be. There's no way to configure Proguard to
# delete debug information on a per-class basis, so we need this special extra step for
# stripping debug information only from those classes for which the Proguard bug is
# encountered.
#
# Currently, this pass is applied to all bundled library jars for which we are not
# compiling the source. This is slightly more than is strictly necessary to work around
# the Proguard bug, but such debug information is of negligible value and stripping it
# too slightly simplifies the makefile and saves us a handful of kilobytes of binary size.
#
# Configuring Proguard to do nothing except strip metadata is done by having it run only
# the obfuscation pass, but with a configuration that prevents it from renaming any classes.
# It then attempts to delete class metadata, so we further configure it not to do so for
# anything except the problematic debug information.
# Run only the obfuscator.
-dontoptimize
-dontshrink
-dontpreverify
-verbose
# Don't rename anything.
-keeppackagenames
# Seriously, don't rename anything.
-keep class *
-keepclassmembers class * {
*;
}
# Don't delete other useful metadata.
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,*Annotation*,EnclosingMethod
# Don't print spurious warnings from the support library.
# See: http://stackoverflow.com/questions/22441366/note-android-support-v4-text-icucompatics-cant-find-dynamically-referenced-cl
-dontnote android.support.**
-dontwarn android.support.**

View file

@ -0,0 +1,57 @@
[
{
"versions": [
"Android SDK 6.0 / API 23",
"Android tools r24.4",
"Android build tools 23.0.3",
"Android Support Repository (Support Library 23.0.1)",
"Google Support Repository (Google Play Services 8.1.0)"
],
"size": 573952124,
"visibility": "internal",
"digest": "1d495d7a7386af3f27b14982e0ff7b0963fd1a63a08040b9b1db0e94c9681fa3704c195ba8be23b5f73e15101b2b767293bc8f96e0584e17867ef13b074e5038",
"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",
"filename": "java_home-1.7.0-openjdk-1.7.0.85.x86_64.tar.xz",
"unpack": true
},
{
"algorithm": "sha512",
"visibility": "public",
"filename": "jcentral.tar.xz",
"unpack": true,
"digest": "8e50f0993e129d3447b228d7da77d661d4ae3d490d791630dabb73e7d8021920f765317a258fd6e819aca48daaa8d0d86ec07cb6c30736199bbf2c4f92270cb5",
"size": 47164284
},
{
"algorithm": "sha512",
"visibility": "public",
"filename": "gradle-dist.tar.xz",
"unpack": true,
"digest": "e3cfe7f8259ad97722243d4e873d5a05c014bfc24d637427f89d804bf5073290229c778ea303142cf06c2dc79e0492f23521f57d3a73825f55b8db587317646f",
"size": 51753660
},
{
"algorithm": "sha512",
"visibility": "public",
"filename": "dotgradle.tar.xz",
"unpack": true,
"digest": "9f082ccd71ad18991eb71fcad355c6990f50a72a09ab9b79696521485656083a72faf5a8d4714de9c4b901ee2319b6786a51964846bb7075061642a8505501c2",
"size": 512
}
]

View file

@ -0,0 +1,41 @@
[
{
"versions": [
"Android SDK 6.0 / API 23",
"Android tools r24.4",
"Android build tools 23.0.3",
"Android Support Repository (Support Library 23.0.1)",
"Google Support Repository (Google Play Services 8.1.0)"
],
"size": 573952124,
"visibility": "internal",
"digest": "1d495d7a7386af3f27b14982e0ff7b0963fd1a63a08040b9b1db0e94c9681fa3704c195ba8be23b5f73e15101b2b767293bc8f96e0584e17867ef13b074e5038",
"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
}
]

View file

@ -0,0 +1,72 @@
[
{
"version": "Android NDK r11c",
"size": 138388708,
"visibility": "internal",
"digest": "2dc605644e84fadf399a4e5cb60dfb3b42518803f80de15ef310ead4d0084a01dce3052bbf7d9dfb8bbe027019250235afe0a1e4ffdc87babc0f2bdbf2403232",
"algorithm": "sha512",
"filename": "android-ndk.tar.bz2",
"unpack": true
},
{
"versions": [
"Android SDK 6.0 / API 23",
"Android tools r24.4",
"Android build tools 23.0.3",
"Android Support Repository (Support Library 23.0.1)",
"Google Support Repository (Google Play Services 8.1.0)"
],
"size": 573952124,
"visibility": "internal",
"digest": "1d495d7a7386af3f27b14982e0ff7b0963fd1a63a08040b9b1db0e94c9681fa3704c195ba8be23b5f73e15101b2b767293bc8f96e0584e17867ef13b074e5038",
"algorithm": "sha512",
"filename": "android-sdk-linux.tar.xz",
"unpack": true
},
{
"size": 167175,
"digest": "0b71a936edf5bd70cf274aaa5d7abc8f77fe8e7b5593a208f805cc9436fac646b9c4f0b43c2b10de63ff3da671497d35536077ecbc72dba7f8159a38b580f831",
"algorithm": "sha512",
"filename": "sccache.tar.bz2",
"unpack": true
},
{
"size": 4906080,
"digest": "d735544e039da89382c53b2302b7408d4610247b4f8b5cdc5a4d5a8ec5470947b19e8ea7f7a37e78222e661347e394e0030d81f41534138b527b14e9c4e55634",
"algorithm": "sha512",
"filename": "jsshell.tar.xz",
"unpack": true
},
{
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": true
},
{
"algorithm": "sha512",
"visibility": "public",
"filename": "jcentral.tar.xz",
"unpack": true,
"digest": "8e50f0993e129d3447b228d7da77d661d4ae3d490d791630dabb73e7d8021920f765317a258fd6e819aca48daaa8d0d86ec07cb6c30736199bbf2c4f92270cb5",
"size": 47164284
},
{
"algorithm": "sha512",
"visibility": "public",
"filename": "gradle-dist.tar.xz",
"unpack": true,
"digest": "e3cfe7f8259ad97722243d4e873d5a05c014bfc24d637427f89d804bf5073290229c778ea303142cf06c2dc79e0492f23521f57d3a73825f55b8db587317646f",
"size": 51753660
},
{
"size": 30899096,
"visibility": "public",
"digest": "ac9f5f95d11580d3dbeff87e80a585fe4d324b270dabb91b1165686acab47d99fa6651074ab0be09420239a5d6af38bb2c539506962a7b44e0ed4d080bba2953",
"algorithm": "sha512",
"filename": "java_home-1.7.0-openjdk-1.7.0.85.x86_64.tar.xz",
"unpack": true
}
]

View file

@ -0,0 +1,90 @@
[
{
"version": "Android NDK r11c",
"size": 138388708,
"visibility": "internal",
"digest": "2dc605644e84fadf399a4e5cb60dfb3b42518803f80de15ef310ead4d0084a01dce3052bbf7d9dfb8bbe027019250235afe0a1e4ffdc87babc0f2bdbf2403232",
"algorithm": "sha512",
"filename": "android-ndk.tar.bz2",
"unpack": true
},
{
"versions": [
"Android SDK 6.0 / API 23",
"Android tools r24.4",
"Android build tools 23.0.3",
"Android Support Repository (Support Library 23.0.1)",
"Google Support Repository (Google Play Services 8.1.0)"
],
"size": 573952124,
"visibility": "internal",
"digest": "1d495d7a7386af3f27b14982e0ff7b0963fd1a63a08040b9b1db0e94c9681fa3704c195ba8be23b5f73e15101b2b767293bc8f96e0584e17867ef13b074e5038",
"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": 4906080,
"visibility": "public",
"unpack": true,
"digest": "d735544e039da89382c53b2302b7408d4610247b4f8b5cdc5a4d5a8ec5470947b19e8ea7f7a37e78222e661347e394e0030d81f41534138b527b14e9c4e55634",
"algorithm": "sha512",
"filename": "jsshell.tar.xz"
},
{
"version": "gcc 4.8.5 + PR64905",
"size": 80160264,
"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": true
},
{
"size": 30899096,
"visibility": "public",
"digest": "ac9f5f95d11580d3dbeff87e80a585fe4d324b270dabb91b1165686acab47d99fa6651074ab0be09420239a5d6af38bb2c539506962a7b44e0ed4d080bba2953",
"algorithm": "sha512",
"filename": "java_home-1.7.0-openjdk-1.7.0.85.x86_64.tar.xz",
"unpack": true
},
{
"algorithm": "sha512",
"visibility": "public",
"filename": "jcentral.tar.xz",
"unpack": true,
"digest": "8e50f0993e129d3447b228d7da77d661d4ae3d490d791630dabb73e7d8021920f765317a258fd6e819aca48daaa8d0d86ec07cb6c30736199bbf2c4f92270cb5",
"size": 47164284
},
{
"algorithm": "sha512",
"visibility": "public",
"filename": "gradle-dist.tar.xz",
"unpack": true,
"digest": "e3cfe7f8259ad97722243d4e873d5a05c014bfc24d637427f89d804bf5073290229c778ea303142cf06c2dc79e0492f23521f57d3a73825f55b8db587317646f",
"size": 51753660
},
{
"version": "rustc 1.12.0 (3191fbae9 2016-09-23) repack",
"size": 102120320,
"digest": "f821e5ef00d758e45ecf4e10fea20b59035737d83b2e6a0f399932795ba27212883256c0c1bf23e55fcad05e377214d646290c6c7f78d5a6fe8149c0ac0ad0a9",
"algorithm": "sha512",
"filename": "rustc.tar.xz",
"unpack": true
},
{
"algorithm": "sha512",
"visibility": "public",
"filename": "dotgradle.tar.xz",
"unpack": true,
"digest": "9f082ccd71ad18991eb71fcad355c6990f50a72a09ab9b79696521485656083a72faf5a8d4714de9c4b901ee2319b6786a51964846bb7075061642a8505501c2",
"size": 512
}
]