author | Shane Tully <stully@mozilla.com> |
Fri, 23 Aug 2013 16:36:01 -0700 | |
changeset 145845 | cb3a85808d774c3ed97c6c7c4a2474788540d22b |
parent 145844 | 0fa38163e3bf0b70c6cc571b5fd805dd482d334e |
child 145846 | b7396ea8f5482f786d99a3cc864eb85bb27e6228 |
push id | 33404 |
push user | mfinkle@mozilla.com |
push date | Fri, 06 Sep 2013 12:04:44 +0000 |
treeherder | mozilla-inbound@fff320870b20 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | cpeterson, glandium |
bugs | 880118 |
milestone | 26.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
new file mode 100644 --- /dev/null +++ b/mobile/android/geckoview_library/.classpath @@ -0,0 +1,13 @@ +<?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>
new file mode 100644 --- /dev/null +++ b/mobile/android/geckoview_library/.project @@ -0,0 +1,33 @@ +<?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>
new file mode 100644 --- /dev/null +++ b/mobile/android/geckoview_library/AndroidManifest.xml @@ -0,0 +1,17 @@ +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="org.mozilla.geckoview" + android:versionCode="1" + android:versionName="1.0" > + + <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> + <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"/> + <uses-permission android:name="android.permission.GET_ACCOUNTS"/> + + <uses-sdk + android:minSdkVersion="8" + android:targetSdkVersion="17" /> + +</manifest>
new file mode 100644 --- /dev/null +++ b/mobile/android/geckoview_library/Makefile.in @@ -0,0 +1,45 @@ +# 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/. + +DEPTH = @DEPTH@ +topsrcdir = @top_srcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +include $(DEPTH)/config/autoconf.mk + +INSTALL_TARGETS += GECKOVIEW_LIBRARY +GECKOVIEW_LIBRARY_DEST = $(CURDIR) +GECKOVIEW_LIBRARY_FILES := \ + .classpath \ + .project \ + AndroidManifest.xml \ + project.properties \ + $(NULL) + +include $(topsrcdir)/config/rules.mk + +package: + # Make directory for the zips + $(MKDIR) -p $(DIST)/geckoview_library + + # Zip the assets + cd $(DIST)/fennec; \ + $(ZIP) -r ../geckoview_library/geckoview_assets.zip assets + + # Make empty directories to fit an Android project structure + $(MKDIR) -p bin gen libs/$(ABI_DIR) src + + # Copy the JARs + cp ../base/jars/* libs/ + + # Copy the SOs + cp $(DIST)/bin/libmozglue.so $(DIST)/bin/lib/libplugin-container.so libs/$(ABI_DIR)/ + + # Copy the resources + cp -R ../base/res . + + # Zip the directory + cd ..; \ + $(ZIP) -r ../../dist/geckoview_library/geckoview_library.zip geckoview_library --exclude geckoview_library/backend.mk geckoview_library/Makefile
new file mode 100644 --- /dev/null +++ b/mobile/android/geckoview_library/moz.build @@ -0,0 +1,5 @@ +# -*- Mode: python; c-basic-offset: 4; 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/.
new file mode 100644 --- /dev/null +++ b/mobile/android/geckoview_library/project.properties @@ -0,0 +1,15 @@ +# 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-17 +android.library=true
--- a/mobile/android/moz.build +++ b/mobile/android/moz.build @@ -11,13 +11,14 @@ DIRS += [ 'locales', 'base', 'chrome', 'components', 'modules', 'themes/core', 'app', 'fonts', + 'geckoview_library', ] if not CONFIG['LIBXUL_SDK']: PARALLEL_DIRS += ['../../xulrunner/tools/redit']
--- a/toolkit/mozapps/installer/packager.mk +++ b/toolkit/mozapps/installer/packager.mk @@ -339,16 +339,20 @@ INNER_ROBOCOP_PACKAGE= \ cp $(ROBOCOP_PATH)/robocop-debug-unsigned-unaligned.apk $(_ABS_DIST)/robocop-unaligned.apk && \ $(RELEASE_JARSIGNER) $(_ABS_DIST)/robocop-unaligned.apk && \ $(ZIPALIGN) -f -v 4 $(_ABS_DIST)/robocop-unaligned.apk $(_ABS_DIST)/robocop.apk endif else INNER_ROBOCOP_PACKAGE=echo 'Testing is disabled - No Robocop for you' endif +# Create geckoview_library/geckoview_{assets,library}.zip for third-party GeckoView consumers. +INNER_MAKE_GECKOVIEW_LIBRARY= \ + $(MAKE) -C ../mobile/android/geckoview_library package ABI_DIR=$(ABI_DIR) + ifdef MOZ_OMX_PLUGIN DIST_FILES += libomxplugin.so libomxplugingb.so libomxplugingb235.so libomxpluginhc.so libomxpluginfroyo.so endif SO_LIBRARIES := $(filter %.so,$(DIST_FILES)) # These libraries are placed in the assets/ directory by packager.py. ASSET_SO_LIBRARIES := $(addprefix assets/,$(filter-out libmozglue.so $(MOZ_CHILD_PROCESS_NAME),$(SO_LIBRARIES))) @@ -389,17 +393,18 @@ INNER_MAKE_PACKAGE = \ mkdir -p $(OMNIJAR_DIR) && mv $(OMNIJAR_NAME) $(OMNIJAR_DIR) && ) \ $(ZIP) -0 $(_ABS_DIST)/gecko.ap_ $(OMNIJAR_DIR)$(OMNIJAR_NAME)) && \ rm -f $(_ABS_DIST)/gecko.apk && \ cp $(_ABS_DIST)/gecko.ap_ $(_ABS_DIST)/gecko.apk && \ $(ZIP) -j0 $(_ABS_DIST)/gecko.apk $(STAGEPATH)$(MOZ_PKG_DIR)$(_BINPATH)/classes.dex && \ cp $(_ABS_DIST)/gecko.apk $(_ABS_DIST)/gecko-unsigned-unaligned.apk && \ $(RELEASE_JARSIGNER) $(_ABS_DIST)/gecko.apk && \ $(ZIPALIGN) -f -v 4 $(_ABS_DIST)/gecko.apk $(PACKAGE) && \ - $(INNER_ROBOCOP_PACKAGE) + $(INNER_ROBOCOP_PACKAGE) && \ + $(INNER_MAKE_GECKOVIEW_LIBRARY) # Language repacks root the resources contained in assets/omni.ja # under assets/, but the repacks expect them to be rooted at /. # Therefore, we we move the omnijar back to / so the resources are # under the root here, in INNER_UNMAKE_PACKAGE. See comments about # OMNIJAR_NAME earlier in this file and in configure.in. INNER_UNMAKE_PACKAGE = \