--- a/mobile/android/base/Makefile.in
+++ b/mobile/android/base/Makefile.in
@@ -387,43 +387,16 @@ res/raw/browsersearch.json: .locales.dep
res/raw/suggestedsites.json: .locales.deps ;
all_resources = \
$(DEPTH)/mobile/android/base/AndroidManifest.xml \
$(android_res_files) \
$(ANDROID_GENERATED_RESFILES) \
$(NULL)
-# For GeckoView, we want a zip of an Android res/ directory that
-# merges the contents of all the ANDROID_RES_DIRS. The inner res/
-# directory must have the Android resource two-layer hierarchy.
-
-# The following helper zips files in a directory into a zip file while
-# maintaining the directory structure rooted below the directory.
-# (adding or creating said file as appropriate). For example, if the
-# dir contains dir/subdir/file, calling with directory dir would
-# create a zip containing subdir/file. Note: the trailing newline is
-# necessary.
-
-# $(1): zip file to add to (or create).
-# $(2): directory to zip contents of.
-define zip_directory_with_relative_paths
-cd $(2) && zip -q $(1) -r * -x $(subst *,\*,$(not_android_res_files))
-
-endef
-
-ifndef MOZ_DISABLE_GECKOVIEW
-# We delete the archive before updating so that resources removed from
-# the filesystem are removed from the archive.
-geckoview_resources.zip: $(all_resources) $(GLOBAL_DEPS)
- $(REPORT_BUILD)
- $(RM) -rf $@
- $(foreach dir,$(ANDROID_RES_DIRS),$(call zip_directory_with_relative_paths,$(CURDIR)/$@,$(dir)))
-endif
-
# All of generated/org/mozilla/gecko/R.java, gecko.ap_, and R.txt are
# produced by aapt; this saves aapt invocations. The trailing
# semi-colon defines an empty recipe; defining no recipe at all causes
# Make to treat the target differently, in a way that defeats our
# dependencies.
generated/org/mozilla/gecko/R.java: .aapt.deps ;
@@ -544,21 +517,16 @@ ifndef MOZILLA_OFFICIAL
gradle-omnijar: $(abspath $(DIST)/fennec/$(OMNIJAR_NAME))
else
# In automation, omni.ja is built only during packaging.
gradle-omnijar:
endif
.PHONY: gradle-targets gradle-omnijar
-ifndef MOZ_DISABLE_GECKOVIEW
-libs:: geckoview_resources.zip
- $(INSTALL) geckoview_resources.zip $(FINAL_TARGET)
-endif
-
# GeneratedJNIWrappers.cpp target also generates
# GeneratedJNIWrappers.h and GeneratedJNINatives.h
ifndef MOZ_BUILD_MOBILE_ANDROID_WITH_GRADLE
libs:: jni-stubs.inc GeneratedJNIWrappers.cpp
@(diff jni-stubs.inc $(topsrcdir)/mozglue/android/jni-stubs.inc >/dev/null && \
diff GeneratedJNIWrappers.cpp $(topsrcdir)/widget/android/GeneratedJNIWrappers.cpp >/dev/null && \
diff GeneratedJNIWrappers.h $(topsrcdir)/widget/android/GeneratedJNIWrappers.h >/dev/null && \
diff GeneratedJNINatives.h $(topsrcdir)/widget/android/GeneratedJNINatives.h >/dev/null) || \
--- a/mobile/android/config/mozconfigs/android-api-15-frontend/nightly
+++ b/mobile/android/config/mozconfigs/android-api-15-frontend/nightly
@@ -35,11 +35,9 @@ ac_add_options --with-branding=mobile/an
# 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"
--- a/mobile/android/config/mozconfigs/android-api-15-gradle-dependencies/nightly
+++ b/mobile/android/config/mozconfigs/android-api-15-gradle-dependencies/nightly
@@ -37,11 +37,9 @@ ac_add_options --with-branding=mobile/an
# 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"
--- a/mobile/android/config/mozconfigs/android-api-15/l10n-nightly
+++ b/mobile/android/config/mozconfigs/android-api-15/l10n-nightly
@@ -10,17 +10,16 @@ ac_add_options --disable-tests
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
-export MOZ_DISABLE_GECKOVIEW=1
ac_add_options --with-branding=mobile/android/branding/nightly
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=
--- a/mobile/android/config/mozconfigs/android-api-15/l10n-release
+++ b/mobile/android/config/mozconfigs/android-api-15/l10n-release
@@ -10,17 +10,16 @@ ac_add_options --disable-tests
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
-export MOZ_DISABLE_GECKOVIEW=1
ac_add_options --enable-official-branding
ac_add_options --with-branding=mobile/android/branding/beta
ac_add_options --disable-stdcxx-compat
# Don't autoclobber l10n, as this can lead to missing binaries and broken builds
# Bug 1283438
--- a/mobile/android/config/mozconfigs/android-api-15/nightly
+++ b/mobile/android/config/mozconfigs/android-api-15/nightly
@@ -10,11 +10,9 @@ ac_add_options --with-branding=mobile/an
# 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"
--- a/mobile/android/config/mozconfigs/android-x86/l10n-nightly
+++ b/mobile/android/config/mozconfigs/android-x86/l10n-nightly
@@ -9,17 +9,16 @@ 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
-export MOZ_DISABLE_GECKOVIEW=1
ac_add_options --with-branding=mobile/android/branding/nightly
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=
--- a/mobile/android/config/mozconfigs/android-x86/l10n-release
+++ b/mobile/android/config/mozconfigs/android-x86/l10n-release
@@ -9,17 +9,16 @@ 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
-export MOZ_DISABLE_GECKOVIEW=1
ac_add_options --enable-official-branding
ac_add_options --with-branding=mobile/android/branding/beta
ac_add_options --disable-stdcxx-compat
# Don't autoclobber l10n, as this can lead to missing binaries and broken builds
# Bug 1283438
--- a/mobile/android/config/mozconfigs/public-partner/distribution_sample/mozconfig1
+++ b/mobile/android/config/mozconfigs/public-partner/distribution_sample/mozconfig1
@@ -13,11 +13,9 @@ ac_add_options --with-android-distributi
# 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"
deleted file mode 100644
--- a/mobile/android/geckoview_library/.classpath
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="gen"/>
- <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
- <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES">
- <attributes>
- <attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="geckoview_library/libs/armeabi-v7a"/>
- </attributes>
- </classpathentry>
- <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
- <classpathentry kind="output" path="bin/classes"/>
-</classpath>
deleted file mode 100644
--- a/mobile/android/geckoview_library/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>GeckoView</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.ApkBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
deleted file mode 100644
--- a/mobile/android/geckoview_library/AndroidManifest.xml.in
+++ /dev/null
@@ -1,13 +0,0 @@
-#filter substitution
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="org.mozilla.gecko"
- android:versionCode="1"
- android:versionName="1.0" >
-
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
- <uses-permission android:name="android.permission.INTERNET"/>
- <uses-sdk
- android:minSdkVersion="8"
- android:targetSdkVersion="@ANDROID_TARGET_SDK@" />
-
-</manifest>
deleted file mode 100644
--- a/mobile/android/geckoview_library/Makefile.in
+++ /dev/null
@@ -1,44 +0,0 @@
-# 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/.
-
-GARBAGE_DIRS = \
- bin \
- libs \
- src \
- .deps \
- gen \
- res \
- $(NULL)
-
-include $(topsrcdir)/config/rules.mk
-
-dist_files = $(addprefix $(ABS_DIST)/bin/, libmozglue.so $(MOZ_CHILD_PROCESS_NAME) $(MOZ_CHILD_PROCESS_NAME_PIE))
-
-package: local.properties project.properties AndroidManifest.xml FORCE
- # Make directory for the zips
- $(MKDIR) -p $(ABS_DIST)/geckoview_library
-
- # Zip the assets into $(DIST)/geckoview_library/geckoview_assets.zip
- $(call py_action,zip,-C $(ABS_DIST)/$(MOZ_APP_NAME) $(ABS_DIST)/geckoview_library/geckoview_assets.zip assets)
-
- # Make empty directories to fit an Android project structure
- $(MKDIR) -p bin gen libs/$(ANDROID_CPU_ARCH) src
-
- # Copy the JARs, except for the jar containing org.mozilla.gecko.R.
- # org.mozilla.gecko.R will be provided by the embedding application.
- cp $(DEPTH)/mobile/android/base/*.jar libs/
- $(RM) libs/gecko-R.jar
-
- # Copy the SOs.
- cp $(dist_files) libs/$(ANDROID_CPU_ARCH)/
-
- # Copy the resources
- $(RM) -rf res
- $(MKDIR) -p res
- cd res && \
- $(UNZIP) -q -u -o $(ABS_DIST)/bin/geckoview_resources.zip
-
- # Zip the directory
- cd $(DEPTH)/mobile/android && \
- $(ZIP) -q -r $(ABS_DIST)/geckoview_library/geckoview_library.zip geckoview_library -x geckoview_library/backend.mk geckoview_library/Makefile
deleted file mode 100644
--- a/mobile/android/geckoview_library/build.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="GeckoView" default="help">
-
- <!-- The local.properties file is created and updated by the 'android' tool.
- It contains the path to the SDK. It should *NOT* be checked into
- Version Control Systems. -->
- <property file="local.properties" />
-
- <!-- The ant.properties file can be created by you. It is only edited by the
- 'android' tool to add properties to it.
- This is the place to change some Ant specific build properties.
- Here are some properties you may want to change/update:
-
- source.dir
- The name of the source directory. Default is 'src'.
- out.dir
- The name of the output directory. Default is 'bin'.
-
- For other overridable properties, look at the beginning of the rules
- files in the SDK, at tools/ant/build.xml
-
- Properties related to the SDK location or the project target should
- be updated using the 'android' tool with the 'update' action.
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems.
-
- -->
- <!--<property file="ant.properties" />-->
-
- <!-- if sdk.dir was not set from one of the property file, then
- get it from the ANDROID_HOME env var.
- This must be done before we load project.properties since
- the proguard config can use sdk.dir -->
- <property environment="env" />
- <condition property="sdk.dir" value="${env.ANDROID_HOME}">
- <isset property="env.ANDROID_HOME" />
- </condition>
-
- <!-- The project.properties file is created and updated by the 'android'
- tool, as well as ADT.
-
- This contains project specific properties such as project target, and library
- dependencies. Lower level build properties are stored in ant.properties
- (or in .classpath for Eclipse projects).
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems. -->
- <loadproperties srcFile="project.properties" />
-
- <!-- quick check on sdk.dir -->
- <fail
- message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
- unless="sdk.dir"
- />
-
- <!--
- Import per project custom build rules if present at the root of the project.
- This is the place to put custom intermediary targets such as:
- -pre-build
- -pre-compile
- -post-compile (This is typically used for code obfuscation.
- Compiled code location: ${out.classes.absolute.dir}
- If this is not done in place, override ${out.dex.input.absolute.dir})
- -post-package
- -post-build
- -pre-clean
- -->
- <import file="custom_rules.xml" optional="true" />
-
- <!-- Import the actual build file.
-
- To customize existing targets, there are two options:
- - Customize only one target:
- - copy/paste the target into this file, *before* the
- <import> task.
- - customize it to your needs.
- - Customize the whole content of build.xml
- - copy/paste the content of the rules files (minus the top node)
- into this file, replacing the <import> task.
- - customize to your needs.
-
- ***********************
- ****** IMPORTANT ******
- ***********************
- In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
- in order to avoid having your file be overridden by tools such as "android update project"
- -->
- <!-- version-tag: 1 -->
- <import file="${sdk.dir}/tools/ant/build.xml" />
-
-</project>
deleted file mode 100644
--- a/mobile/android/geckoview_library/geckolibs/AndroidManifest.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="org.mozilla.gecko.libs">
-
-</manifest>
deleted file mode 100644
index 09af11bda0c895e33494d4aac83c1171c3267ab8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
--- a/mobile/android/geckoview_library/geckoview/AndroidManifest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="org.mozilla.gecko">
-
- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
- <uses-permission android:name="android.permission.INTERNET"/>
-
-</manifest>
deleted file mode 100644
--- a/mobile/android/geckoview_library/local.properties.in
+++ /dev/null
@@ -1,11 +0,0 @@
-#filter substitution
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must *NOT* be checked into Version Control Systems,
-# as it contains information specific to your local configuration.
-
-# location of the SDK. This is only used by Ant
-# For customization when using a Version Control System, please read the
-# header note.
-sdk.dir=@ANDROID_SDK_ROOT@
deleted file mode 100644
--- a/mobile/android/geckoview_library/moz.build
+++ /dev/null
@@ -1,20 +0,0 @@
-# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
-# 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/.
-
-DEFINES['ANDROID_SDK'] = CONFIG['ANDROID_SDK']
-DEFINES['ANDROID_SDK_ROOT'] = CONFIG['ANDROID_SDK_ROOT']
-
-OBJDIR_FILES.mobile.android.geckoview_library += [
- '.classpath',
- '.project',
- 'build.xml',
-]
-
-OBJDIR_PP_FILES.mobile.android.geckoview_library += [
- 'AndroidManifest.xml.in',
- 'local.properties.in',
- 'project.properties.in',
-]
deleted file mode 100644
--- a/mobile/android/geckoview_library/project.properties.in
+++ /dev/null
@@ -1,16 +0,0 @@
-#filter substitution
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system edit
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-#
-# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
-#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
-
-# Project target.
-target=android-@ANDROID_TARGET_SDK@
-android.library=true
--- a/mobile/android/moz.build
+++ b/mobile/android/moz.build
@@ -19,17 +19,16 @@ DIRS += [
'base',
'chrome',
'components',
'extensions',
'modules',
'themes/core',
'app',
'fonts',
- 'geckoview_library',
]
if CONFIG['MOZ_ANDROID_PACKAGE_INSTALL_BOUNCER']:
DIRS += ['bouncer'] # No ordering implied with respect to base.
TEST_DIRS += [
'tests',
]
--- a/old-configure.in
+++ b/old-configure.in
@@ -6180,18 +6180,16 @@ AC_SUBST(MOZ_D3D_CPU_SUFFIX)
AC_SUBST(MOZ_HAS_WINSDK_WITH_D3D)
AC_SUBST(MOZ_D3DCOMPILER_VISTA_DLL)
AC_SUBST(MOZ_D3DCOMPILER_VISTA_DLL_PATH)
AC_SUBST(MOZ_DIRECTX_SDK_PATH)
AC_SUBST(MOZ_D3DCOMPILER_XP_DLL)
AC_SUBST(MOZ_D3DCOMPILER_XP_CAB)
AC_SUBST(MOZ_WEBSMS_BACKEND)
-AC_SUBST(MOZ_DISABLE_GECKOVIEW)
-AC_SUBST(MOZ_ANDROID_GECKOLIBS_AAR)
AC_SUBST(MOZ_ANDROID_APPLICATION_CLASS)
AC_SUBST(MOZ_ANDROID_BROWSER_INTENT_CLASS)
AC_SUBST(MOZ_ANDROID_SEARCH_INTENT_CLASS)
AC_SUBST(MOZ_EXCLUDE_HYPHENATION_DICTIONARIES)
AC_SUBST(MOZ_INSTALL_TRACKING)
AC_SUBST(ENABLE_STRIP)
AC_SUBST(PKG_SKIP_STRIP)
AC_SUBST(STRIP_FLAGS)
deleted file mode 100644
--- a/python/mozbuild/mozbuild/action/package_geckolibs_aar.py
+++ /dev/null
@@ -1,267 +0,0 @@
-# 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/.
-
-'''
-Script to produce an Android ARchive (.aar) containing the compiled
-Gecko library binaries. The AAR file is intended for use by local
-developers using Gradle.
-'''
-
-from __future__ import absolute_import, print_function
-
-import argparse
-import hashlib
-import os
-import shutil
-import sys
-import zipfile
-
-from mozbuild import util
-from mozpack.copier import Jarrer
-from mozpack.files import (
- File,
- FileFinder,
- JarFinder,
-)
-from mozpack.mozjar import JarReader
-
-MAVEN_POM_TEMPLATE = r'''
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <groupId>{groupId}</groupId>
- <artifactId>{artifactId}</artifactId>
- <version>{version}</version>
- <packaging>{packaging}</packaging>
- <dependencies>
- {dependencies}
- </dependencies>
-</project>
-'''.lstrip()
-
-MAVEN_POM_DEPENDENCY_TEMPLATE = r'''
- <dependency>
- <groupId>{groupId}</groupId>
- <artifactId>{artifactId}</artifactId>
- <version>{version}</version>
- <type>{packaging}</type>
- </dependency>
-'''.lstrip()
-
-IVY_XML_TEMPLATE = r'''
-<?xml version="1.0" encoding="UTF-8"?>
-<ivy-module version="2.0">
- <info organisation="{organisation}" module="{module}" revision="{revision}" status="integration" publication="{publication}"/>
- <configurations/>
- <publications>
- <artifact name="{name}" type="{type}" ext="{ext}"/>
- </publications>
- <dependencies>
- {dependencies}
- </dependencies>
-</ivy-module>
-'''.lstrip()
-
-IVY_XML_DEPENDENCY_TEMPLATE = r'''
-<dependency org="{organisation}" name="{name}" rev="{revision}" />
-'''.lstrip()
-
-def _zipdir(path, output_file):
- zip = zipfile.ZipFile(output_file, "w")
- for root, dirs, files in os.walk(path, topdown=True):
- archive_root = root.replace(path, '')
- for file in files:
- zip.write(os.path.join(root, file), os.path.join(archive_root, file))
-
-def _generate_geckoview_classes_jar(distdir, base_path):
- base_folder = FileFinder(base_path, ignore=['gecko-R.jar'])
-
- # Unzip all jar files into $(DISTDIR)/geckoview_aar_classes.
- geckoview_aar_classes_path = os.path.join(distdir, 'geckoview_aar_classes')
- shutil.rmtree(geckoview_aar_classes_path, ignore_errors=True)
- util.ensureParentDir(geckoview_aar_classes_path)
-
- for p, f in base_folder.find('*.jar'):
- with zipfile.ZipFile(f.path) as zf:
- zf.extractall(geckoview_aar_classes_path)
-
- # Rezip them into a single classes.jar file.
- classes_jar_path = os.path.join(distdir, 'classes.jar')
- _zipdir(geckoview_aar_classes_path, classes_jar_path)
- return File(classes_jar_path)
-
-def package_geckolibs_aar(topsrcdir, distdir, appname, output_file):
- jarrer = Jarrer(optimize=False)
-
- srcdir = os.path.join(topsrcdir, 'mobile', 'android', 'geckoview_library', 'geckolibs')
- jarrer.add('AndroidManifest.xml', File(os.path.join(srcdir, 'AndroidManifest.xml')))
- jarrer.add('classes.jar', File(os.path.join(srcdir, 'classes.jar')))
-
- jni = FileFinder(os.path.join(distdir, appname, 'lib'))
- for p, f in jni.find('**/*.so'):
- jarrer.add(os.path.join('jni', p), f)
-
- # Include the buildinfo JSON as an asset, to give future consumers at least
- # a hope of determining where this AAR came from.
- json = FileFinder(distdir, ignore=['*.mozinfo.json'])
- for p, f in json.find('*.json'):
- jarrer.add(os.path.join('assets', p), f)
-
- # This neatly ignores omni.ja.
- assets = FileFinder(os.path.join(distdir, appname, 'assets'))
- for p, f in assets.find('**/*.so'):
- jarrer.add(os.path.join('assets', p), f)
-
- jarrer.copy(output_file)
- return 0
-
-def package_geckoview_aar(topsrcdir, distdir, appname, output_file):
- jarrer = Jarrer(optimize=False)
- app_path = os.path.join(distdir, appname)
- assets = FileFinder(os.path.join(app_path, 'assets'), ignore=['*.so'])
- for p, f in assets.find('omni.ja'):
- jarrer.add(os.path.join('assets', p), f)
-
- # The folder that contains Fennec's JAR files and resources.
- base_path = os.path.join(distdir, '..', 'mobile', 'android', 'base')
-
- # The resource set is packaged during Fennec's build.
- resjar = JarReader(os.path.join(base_path, 'geckoview_resources.zip'))
- for p, f in JarFinder(base_path, resjar).find('*'):
- jarrer.add(os.path.join('res', p), f)
-
- # Package the contents of all Fennec JAR files into classes.jar.
- classes_jar_file = _generate_geckoview_classes_jar(distdir, base_path)
- jarrer.add('classes.jar', classes_jar_file)
-
- # Add R.txt.
- jarrer.add('R.txt', File(os.path.join(base_path, 'R.txt')))
-
- # Finally add AndroidManifest.xml.
- srcdir = os.path.join(topsrcdir, 'mobile', 'android', 'geckoview_library', 'geckoview')
- jarrer.add('AndroidManifest.xml', File(os.path.join(srcdir, 'AndroidManifest.xml')))
-
- jarrer.copy(output_file)
- return 0
-
-def main(args):
- parser = argparse.ArgumentParser()
- parser.add_argument(dest='dir',
- metavar='DIR',
- help='Path to write Android ARchives and metadata to.')
- parser.add_argument('--verbose', '-v', default=False, action='store_true',
- help='be verbose')
- parser.add_argument('--revision',
- help='Revision identifier to write.')
- parser.add_argument('--topsrcdir',
- help='Top source directory.')
- parser.add_argument('--distdir',
- help='Distribution directory (usually $OBJDIR/dist).')
- parser.add_argument('--appname',
- help='Application name (usually $MOZ_APP_NAME, like "fennec").')
- parser.add_argument('--purge-old', default=False, action='store_true',
- help='Delete any existing output files in the output directory.')
- args = parser.parse_args(args)
-
- # An Ivy 'publication' date must be given in the form yyyyMMddHHmmss, and Mozilla buildids are in this format.
- if len(args.revision) != 14:
- raise ValueError('Revision must be in yyyyMMddHHmmss format: %s' % args.revision)
-
- paths_to_hash = []
-
- groupId='org.mozilla'
- packaging_type='aar'
- gecklibs_aar = os.path.join(args.dir, 'geckolibs-{revision}.aar').format(revision=args.revision)
- paths_to_hash.append(gecklibs_aar)
- geckoview_aar = os.path.join(args.dir, 'geckoview-{revision}.aar').format(revision=args.revision)
- paths_to_hash.append(geckoview_aar)
-
- if args.purge_old:
- old_output_finder = FileFinder(args.dir, find_executables=False)
- for p, f in old_output_finder.find('geckoview-*.*'):
- os.remove(f.path)
- for p, f in old_output_finder.find('geckolibs-*.*'):
- os.remove(f.path)
- for p, f in old_output_finder.find('ivy-*.*'):
- os.remove(f.path)
-
- package_geckolibs_aar(args.topsrcdir, args.distdir, args.appname, gecklibs_aar)
- package_geckoview_aar(args.topsrcdir, args.distdir, args.appname, geckoview_aar)
-
- geckolibs_pom_path = os.path.join(args.dir, 'geckolibs-{revision}.pom').format(revision=args.revision)
- paths_to_hash.append(geckolibs_pom_path)
- geckolibs_pom = MAVEN_POM_TEMPLATE.format(
- groupId=groupId,
- artifactId='geckolibs',
- version=args.revision,
- packaging=packaging_type,
- dependencies=''
- )
-
- with open(geckolibs_pom_path, 'wt') as f:
- f.write(geckolibs_pom)
-
- geckoview_pom_path = os.path.join(args.dir, 'geckoview-{revision}.pom').format(revision=args.revision)
- paths_to_hash.append(geckoview_pom_path)
- geckoview_pom = MAVEN_POM_TEMPLATE.format(
- groupId=groupId,
- artifactId='geckoview',
- version=args.revision,
- packaging=packaging_type,
- dependencies=MAVEN_POM_DEPENDENCY_TEMPLATE.format(
- groupId=groupId,
- artifactId='geckolibs',
- version=args.revision,
- packaging=packaging_type
- )
- )
-
- with open(geckoview_pom_path, 'wt') as f:
- f.write(geckoview_pom)
-
- geckolibs_ivy_path = os.path.join(args.dir, 'ivy-geckolibs-{revision}.xml').format(revision=args.revision)
- paths_to_hash.append(geckolibs_ivy_path)
- with open(geckolibs_ivy_path, 'wt') as f:
- f.write(IVY_XML_TEMPLATE.format(
- organisation=groupId,
- module='geckolibs',
- revision=args.revision,
- publication=args.revision, # A white lie.
- name='geckolibs',
- type=packaging_type,
- ext=packaging_type,
- dependencies=''
- ))
-
- geckoview_ivy_path = os.path.join(args.dir, 'ivy-geckoview-{revision}.xml').format(revision=args.revision)
- paths_to_hash.append(geckoview_ivy_path)
- with open(geckoview_ivy_path, 'wt') as f:
- f.write(IVY_XML_TEMPLATE.format(
- organisation=groupId,
- module='geckoview',
- revision=args.revision,
- publication=args.revision, # A white lie.
- name='geckoview',
- type=packaging_type,
- ext=packaging_type,
- dependencies=IVY_XML_DEPENDENCY_TEMPLATE.format(
- organisation=groupId,
- name='geckolibs',
- revision=args.revision)
- ))
-
- for p in paths_to_hash:
- sha = "%s.sha1" % p
- with open(sha, 'wt') as f:
- f.write(util.hash_file(p, hasher=hashlib.sha1()))
- if args.verbose:
- print(p)
- print(sha)
-
- return 0
-
-
-if __name__ == '__main__':
- sys.exit(main(sys.argv[1:]))
--- a/toolkit/mozapps/installer/upload-files-APK.mk
+++ b/toolkit/mozapps/installer/upload-files-APK.mk
@@ -20,18 +20,16 @@ ROOT_FILES := \
$(NULL)
GECKO_APP_AP_PATH = $(topobjdir)/mobile/android/base
ifdef ENABLE_TESTS
INNER_ROBOCOP_PACKAGE=true
ifeq ($(MOZ_BUILD_APP),mobile/android)
UPLOAD_EXTRA_FILES += robocop.apk
-UPLOAD_EXTRA_FILES += geckoview_library/geckoview_library.zip
-UPLOAD_EXTRA_FILES += geckoview_library/geckoview_assets.zip
# Robocop/Robotium tests, Android Background tests, and Fennec need to
# be signed with the same key, which means release signing them all.
ifndef MOZ_BUILD_MOBILE_ANDROID_WITH_GRADLE
robocop_apk := $(topobjdir)/mobile/android/tests/browser/robocop/robocop-debug-unsigned-unaligned.apk
else
robocop_apk := $(topobjdir)/gradle/build/mobile/android/app/outputs/apk/app-automation-debug-androidTest-unaligned.apk
@@ -65,65 +63,16 @@ INNER_INSTALL_BOUNCER_PACKAGE=\
(echo "*** Error: The permissions of the bouncer package differ from the permissions of the main package. Ensure the bouncer and main package Android manifests agree, rebuild mobile/android, and re-package." && exit 1))
else
INNER_INSTALL_BOUNCER_PACKAGE=echo 'Testing is disabled, so the install bouncer is disabled - No trampolines for you'
endif # ENABLE_TESTS
else
INNER_INSTALL_BOUNCER_PACKAGE=echo 'Install bouncer is disabled - No trampolines for you'
endif # MOZ_ANDROID_PACKAGE_INSTALL_BOUNCER
-# Create geckoview_library/geckoview_{assets,library}.zip for third-party GeckoView consumers.
-ifdef NIGHTLY_BUILD
-ifndef MOZ_DISABLE_GECKOVIEW
-INNER_MAKE_GECKOVIEW_LIBRARY= \
- $(MAKE) -C ../mobile/android/geckoview_library package
-else
-INNER_MAKE_GECKOVIEW_LIBRARY=echo 'GeckoView library packaging is disabled'
-endif
-else
-INNER_MAKE_GECKOVIEW_LIBRARY=echo 'GeckoView library packaging is only enabled on Nightly'
-endif
-
-# Create Android ARchives and metadata for download by local
-# developers using Gradle.
-ifdef MOZ_ANDROID_GECKOLIBS_AAR
-ifndef MOZ_DISABLE_GECKOVIEW
-geckoaar-revision := $(BUILDID)
-
-UPLOAD_EXTRA_FILES += \
- geckolibs-$(geckoaar-revision).aar \
- geckolibs-$(geckoaar-revision).aar.sha1 \
- geckolibs-$(geckoaar-revision).pom \
- geckolibs-$(geckoaar-revision).pom.sha1 \
- ivy-geckolibs-$(geckoaar-revision).xml \
- ivy-geckolibs-$(geckoaar-revision).xml.sha1 \
- geckoview-$(geckoaar-revision).aar \
- geckoview-$(geckoaar-revision).aar.sha1 \
- geckoview-$(geckoaar-revision).pom \
- geckoview-$(geckoaar-revision).pom.sha1 \
- ivy-geckoview-$(geckoaar-revision).xml \
- ivy-geckoview-$(geckoaar-revision).xml.sha1 \
- $(NULL)
-
-INNER_MAKE_GECKOLIBS_AAR= \
- $(PYTHON) -m mozbuild.action.package_geckolibs_aar \
- --verbose \
- --revision $(geckoaar-revision) \
- --topsrcdir '$(topsrcdir)' \
- --distdir '$(ABS_DIST)' \
- --appname '$(MOZ_APP_NAME)' \
- --purge-old \
- '$(ABS_DIST)'
-else
-INNER_MAKE_GECKOLIBS_AAR=echo 'Android geckolibs.aar packaging requires packaging geckoview'
-endif # MOZ_DISABLE_GECKOVIEW
-else
-INNER_MAKE_GECKOLIBS_AAR=echo 'Android geckolibs.aar packaging is disabled'
-endif # MOZ_ANDROID_GECKOLIBS_AAR
-
# Fennec's OMNIJAR_NAME can include a directory; for example, it might
# be "assets/omni.ja". This path specifies where the omni.ja file
# lives in the APK, but should not root the resources it contains
# under assets/ (i.e., resources should not live at chrome://assets/).
# packager.py writes /omni.ja in order to be consistent with the
# layout expected by language repacks. Therefore, we move it to the
# correct path here, in INNER_MAKE_PACKAGE. See comment about
# OMNIJAR_NAME in configure.in.
@@ -155,19 +104,17 @@ INNER_FENNEC_PACKAGE = \
--root-files $(foreach f,$(ROOT_FILES),$(STAGEPATH)$(MOZ_PKG_DIR)/$(f)) \
--output $(PACKAGE:.apk=-unsigned-unaligned.apk) && \
$(call RELEASE_SIGN_ANDROID_APK,$(PACKAGE:.apk=-unsigned-unaligned.apk),$(PACKAGE))
# Packaging produces many optional artifacts.
package_fennec = \
$(INNER_FENNEC_PACKAGE) && \
$(INNER_ROBOCOP_PACKAGE) && \
- $(INNER_INSTALL_BOUNCER_PACKAGE) && \
- $(INNER_MAKE_GECKOLIBS_AAR) && \
- $(INNER_MAKE_GECKOVIEW_LIBRARY)
+ $(INNER_INSTALL_BOUNCER_PACKAGE)
# Re-packaging only replaces Android resources and the omnijar before
# (re-)signing.
repackage_fennec = \
$(MAKE) -C $(GECKO_APP_AP_PATH) gecko-nodeps.ap_ && \
$(PYTHON) -m mozbuild.action.package_fennec_apk \
--verbose \
--inputs \