Bug 1014247 - Build omni.ja from within Eclipse. r=rnewman

This commit is contained in:
Nick Alexander 2014-06-24 19:14:36 -07:00
parent 73a9284da7
commit 97dae57493
2 changed files with 31 additions and 0 deletions

View File

@ -377,6 +377,22 @@ fennec_ids.txt: generated/org/mozilla/gecko/R.java fennec-ids-generator.py
# Override the Java settings with some specific android settings
include $(topsrcdir)/config/android-common.mk
# This target is only used by the Eclipse integration. It rebuilds
# resources that end up in omni.ja, does most of the packaging step,
# and then updates omni.ja in place. If you're not using Eclipse, you
# should be using |mach build mobile/android && mach package|.
$(abspath $(DIST)/fennec/$(OMNIJAR_NAME)): FORCE
$(REPORT_BUILD)
$(MAKE) -C ../locales
$(MAKE) -C ../chrome
$(MAKE) -C ../components
$(MAKE) -C ../modules
$(MAKE) -C ../app
$(MAKE) -C ../themes/core
$(MAKE) -C ../installer stage-package
rsync --update $(DIST)/fennec/$(notdir $(OMNIJAR_NAME)) $@
$(RM) $(DIST)/fennec/$(notdir $(OMNIJAR_NAME))
libs:: geckoview_resources.zip classes.dex jni-stubs.inc GeneratedJNIWrappers.cpp fennec_ids.txt
$(INSTALL) geckoview_resources.zip $(FINAL_TARGET)
$(INSTALL) classes.dex $(FINAL_TARGET)

View File

@ -605,6 +605,21 @@ resources.recursive_make_targets += generated_recursive_make_targets
# The resources are included in the Fennec APK.
main.included_projects += ['../' + resources.name]
omnijar = add_android_eclipse_library_project('FennecOmnijar')
omnijar.package_name = 'org.mozilla.fennec.omnijar'
# This is delicate. We write into OBJDIR, and write triggers a new build of the
# Fennec project, because the omni.ja timestamp is always updated. (The target
# is FORCE and the installer does not track dependencies.) However, Eclipse only
# triggers a new build (of FennecOmnijar) when something actually changes, so
# we're not constantly rebuilding the FennecOmnijar (or Fennec) project.
omnijar.recursive_make_targets += [TOPOBJDIR + '/dist/fennec/assets/omni.ja']
for d in ['app', 'chrome', 'components', 'locales', 'modules', 'themes']:
omnijar.add_classpathentry(d, TOPSRCDIR + '/mobile/android/' + d, dstdir=d)
# The omnijar is included in the Fennec APK (although it's empty,
# having no resources, assets, or Java code).
main.included_projects += [omnijar.name]
if CONFIG['MOZ_CRASHREPORTER']:
crashreporter = add_android_eclipse_library_project('FennecResourcesCrashReporter')
crashreporter.package_name = 'org.mozilla.fennec.resources.crashreporter'