Bug 925185 - Part 2: Use add_java_jar and restrict JAVA_JAR_TARGETS to moz.build. r=gps
☠☠ backed out by 55ffecb3e3b8 ☠ ☠
authorNick Alexander <nalexander@mozilla.com>
Thu, 24 Oct 2013 15:38:22 -0700
changeset 166033 2a368c09333a56c45518bc2b4a623e322a3f4903
parent 166032 ceaf4e435c8680161c5f6c91728cf3a9cfa9f645
child 166034 635f44f658402620bba407c5107b9ac838644168
push id3066
push userakeybl@mozilla.com
push dateMon, 09 Dec 2013 19:58:46 +0000
treeherdermozilla-beta@a31a0dce83aa [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgps
bugs925185
milestone27.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
Bug 925185 - Part 2: Use add_java_jar and restrict JAVA_JAR_TARGETS to moz.build. r=gps
build/annotationProcessors/Makefile.in
build/annotationProcessors/moz.build
config/config.mk
js/src/config/config.mk
mobile/android/base/Makefile.in
mobile/android/base/android-services-files.mk
mobile/android/base/android-services.mozbuild
mobile/android/base/moz.build
mobile/android/geckoview_library/Makefile.in
mobile/android/tests/background/junit3/Makefile.in
--- a/build/annotationProcessors/Makefile.in
+++ b/build/annotationProcessors/Makefile.in
@@ -1,25 +1,12 @@
 # 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/.
 
-JAVA_JAR_TARGETS += annotationProcessors
-annotationProcessors_DEST := annotationProcessors.jar
-annotationProcessors_JAVAFILES := \
-  AnnotationProcessor.java \
-  CodeGenerator.java \
-  MethodWithAnnotationInfo.java \
-  classloader/IterableJarLoadingURLClassLoader.java \
-  classloader/JarClassIterator.java \
-  utils/AlphabeticMethodComparator.java \
-  utils/GeneratableEntryPointIterator.java \
-  utils/Utils.java \
-  $(NULL)
-
 include $(topsrcdir)/config/rules.mk
 
 JAVA_CLASSPATH := $(ANDROID_SDK)/android.jar
 
 # Include Android specific java flags, instead of what's in rules.mk.
 include $(topsrcdir)/config/android-common.mk
 
 libs:: annotationProcessors.jar
--- a/build/annotationProcessors/moz.build
+++ b/build/annotationProcessors/moz.build
@@ -1,5 +1,17 @@
 # -*- 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/.
+
+jar = add_java_jar('annotationProcessors')
+jar.sources += [
+    'AnnotationProcessor.java',
+    'CodeGenerator.java',
+    'MethodWithAnnotationInfo.java',
+    'classloader/IterableJarLoadingURLClassLoader.java',
+    'classloader/JarClassIterator.java',
+    'utils/AlphabeticMethodComparator.java',
+    'utils/GeneratableEntryPointIterator.java',
+    'utils/Utils.java',
+]
--- a/config/config.mk
+++ b/config/config.mk
@@ -42,16 +42,17 @@ endif
   EXTRA_PP_COMPONENTS \
   EXTRA_PP_JS_MODULES \
   GTEST_CMMSRCS \
   GTEST_CPPSRCS \
   GTEST_CSRCS \
   HOST_CSRCS \
   HOST_LIBRARY_NAME \
   IS_COMPONENT \
+  JAVA_JAR_TARGETS \
   JS_MODULES_PATH \
   LIBRARY_NAME \
   LIBXUL_LIBRARY \
   MODULE \
   MSVC_ENABLE_PGO \
   NO_DIST_INSTALL \
   PARALLEL_DIRS \
   SDK_HEADERS \
--- a/js/src/config/config.mk
+++ b/js/src/config/config.mk
@@ -42,16 +42,17 @@ endif
   EXTRA_PP_COMPONENTS \
   EXTRA_PP_JS_MODULES \
   GTEST_CMMSRCS \
   GTEST_CPPSRCS \
   GTEST_CSRCS \
   HOST_CSRCS \
   HOST_LIBRARY_NAME \
   IS_COMPONENT \
+  JAVA_JAR_TARGETS \
   JS_MODULES_PATH \
   LIBRARY_NAME \
   LIBXUL_LIBRARY \
   MODULE \
   MSVC_ENABLE_PGO \
   NO_DIST_INSTALL \
   PARALLEL_DIRS \
   SDK_HEADERS \
--- a/mobile/android/base/Makefile.in
+++ b/mobile/android/base/Makefile.in
@@ -1,330 +1,20 @@
 # 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/.
 
 DIST_FILES = package-name.txt
 
 include $(topsrcdir)/mobile/android/base/android-services-files.mk
 
-MOZGLUE_JAVA_FILES := \
-  mozglue/ByteBufferInputStream.java \
-  mozglue/DirectBufferAllocator.java \
-  mozglue/GeneratableAndroidBridgeTarget.java \
-  mozglue/NativeReference.java \
-  mozglue/NativeZip.java \
-  mozglue/OptionalGeneratedParameter.java \
-  $(NULL)
-
-MOZGLUE_PP_JAVA_FILES := \
-  mozglue/GeckoLoader.java \
-  $(NULL)
-
-UTIL_JAVA_FILES := \
-  util/ActivityResultHandler.java \
-  util/ActivityResultHandlerMap.java \
-  util/Clipboard.java \
-  util/EventDispatcher.java \
-  util/FloatUtils.java \
-  util/GamepadUtils.java \
-  util/GeckoBackgroundThread.java \
-  util/GeckoEventListener.java \
-  util/GeckoEventResponder.java \
-  util/GeckoJarReader.java \
-  util/HardwareUtils.java \
-  util/INIParser.java \
-  util/INISection.java \
-  util/JSONUtils.java \
-  util/StringUtils.java \
-  util/ThreadUtils.java \
-  util/UiAsyncTask.java \
-  $(NULL)
-
-FENNEC_JAVA_FILES = \
-  ANRReporter.java \
-  ActivityHandlerHelper.java \
-  AlertNotification.java \
-  AlignRightLinkPreference.java \
-  AllCapsTextView.java \
-  AndroidImport.java \
-  AndroidImportPreference.java \
-  AnimatedHeightLayout.java \
-  AppNotificationClient.java \
-  AutocompleteHandler.java \
-  animation/AnimatorProxy.java \
-  animation/HeightChangeAnimation.java \
-  animation/PropertyAnimator.java \
-  animation/Rotate3DAnimation.java \
-  animation/ViewHelper.java \
-  BackButton.java \
-  BaseGeckoInterface.java \
-  BrowserApp.java \
-  BrowserToolbar.java \
-  BrowserToolbarBackground.java \
-  CameraImageResultHandler.java \
-  CameraVideoResultHandler.java \
-  CanvasDelegate.java \
-  CheckableLinearLayout.java \
-  ClickableWhenDisabledEditText.java \
-  ContactService.java \
-  ContextGetter.java \
-  CustomEditText.java \
-  db/BrowserDB.java \
-  db/LocalBrowserDB.java \
-  db/DBUtils.java \
-  DataReportingNotification.java \
-  Distribution.java \
-  DoorHanger.java \
-  DoorHangerPopup.java \
-  EditBookmarkDialog.java \
-  favicons/cache/FaviconCache.java \
-  favicons/cache/FaviconCacheElement.java \
-  favicons/cache/FaviconsForURL.java \
-  favicons/Favicons.java \
-  favicons/LoadFaviconTask.java \
-  favicons/OnFaviconLoadedListener.java \
-  FilePickerResultHandler.java \
-  FilePickerResultHandlerSync.java \
-  FindInPageBar.java \
-  FlowLayout.java \
-  FontSizePreference.java \
-  FormAssistPopup.java \
-  ForwardButton.java \
-  GeckoAccessibility.java \
-  GeckoApplication.java \
-  GeckoApp.java \
-  GeckoAppShell.java \
-  GeckoActivity.java \
-  GeckoBatteryManager.java \
-  GeckoConnectivityReceiver.java \
-  GeckoEditable.java \
-  GeckoEvent.java \
-  GeckoHalDefines.java \
-  GeckoInputConnection.java \
-  GeckoMessageReceiver.java \
-  GeckoPreferences.java \
-  GeckoPreferenceFragment.java \
-  GeckoProfile.java \
-  GeckoSmsManager.java \
-  GeckoThread.java \
-  GeckoJavaSampler.java \
-  GlobalHistory.java \
-  GeckoView.java \
-  health/BrowserHealthRecorder.java \
-  health/BrowserHealthReporter.java \
-  InputMethods.java \
-  JavaAddonManager.java \
-  LightweightTheme.java \
-  LightweightThemeDrawable.java \
-  LinkPreference.java \
-  MemoryMonitor.java \
-  MotionEventInterceptor.java \
-  MultiChoicePreference.java \
-  NotificationClient.java \
-  NotificationHandler.java \
-  NotificationHelper.java \
-  NotificationService.java \
-  NSSBridge.java \
-  OrderedBroadcastHelper.java \
-  PageActionLayout.java \
-  PrefsHelper.java \
-  PrivateDataPreference.java \
-  PrivateTab.java \
-  prompts/Prompt.java \
-  prompts/PromptInput.java \
-  prompts/PromptService.java \
-  prompts/IconGridInput.java \
-  Restarter.java \
-  sqlite/ByteBufferInputStream.java \
-  sqlite/MatrixBlobCursor.java \
-  sqlite/SQLiteBridge.java \
-  sqlite/SQLiteBridgeException.java \
-  ReaderModeUtils.java \
-  RemoteTabs.java \
-  RobocopAPI.java \
-  ServiceNotificationClient.java \
-  ScrollAnimator.java \
-  SessionParser.java \
-  ShapedButton.java \
-  SharedPreferencesHelper.java \
-  SiteIdentityPopup.java \
-  SmsManager.java \
-  SurfaceBits.java \
-  SyncPreference.java \
-  Tab.java \
-  TabCounter.java \
-  Tabs.java \
-  TabsPanel.java \
-  TabsTray.java \
-  TabsAccessor.java \
-  Telemetry.java \
-  TextSelection.java \
-  TextSelectionHandle.java \
-  ThumbnailHelper.java \
-  TouchEventInterceptor.java \
-  VideoPlayer.java \
-  WebAppAllocator.java \
-  WebAppImpl.java \
-  ZoomConstraints.java \
-  db/BrowserContract.java \
-  db/BrowserProvider.java \
-  db/FormHistoryProvider.java \
-  db/PerProfileContentProvider.java \
-  db/PasswordsProvider.java \
-  db/TabsProvider.java \
-  gfx/Axis.java \
-  gfx/BitmapUtils.java \
-  gfx/BufferedCairoImage.java \
-  gfx/CairoGLInfo.java \
-  gfx/CairoImage.java \
-  gfx/CairoUtils.java \
-  gfx/DisplayPortCalculator.java \
-  gfx/DisplayPortMetrics.java \
-  gfx/DrawTimingQueue.java \
-  gfx/FloatSize.java \
-  gfx/GeckoLayerClient.java \
-  gfx/GfxInfoThread.java \
-  gfx/GLController.java \
-  gfx/ImmutableViewportMetrics.java \
-  gfx/InputConnectionHandler.java \
-  gfx/IntSize.java \
-  gfx/JavaPanZoomController.java \
-  gfx/Layer.java \
-  gfx/LayerMarginsAnimator.java \
-  gfx/LayerRenderer.java \
-  gfx/LayerView.java \
-  gfx/NativePanZoomController.java \
-  gfx/NinePatchTileLayer.java \
-  gfx/Overscroll.java \
-  gfx/PanningPerfAPI.java \
-  gfx/PanZoomController.java \
-  gfx/PanZoomTarget.java \
-  gfx/PluginLayer.java \
-  gfx/PointUtils.java \
-  gfx/ProgressiveUpdateData.java \
-  gfx/RectUtils.java \
-  gfx/RenderTask.java \
-  gfx/ScrollbarLayer.java \
-  gfx/SimpleScaleGestureDetector.java \
-  gfx/SingleTileLayer.java \
-  gfx/SubdocumentScrollHelper.java \
-  gfx/TextLayer.java \
-  gfx/TextureGenerator.java \
-  gfx/TextureReaper.java \
-  gfx/TileLayer.java \
-  gfx/TouchEventHandler.java \
-  gfx/ViewTransform.java \
-  gfx/VirtualLayer.java \
-  home/BookmarksListAdapter.java \
-  home/BookmarksListView.java \
-  home/BookmarksPage.java \
-  home/BookmarkFolderView.java \
-  home/BrowserSearch.java \
-  home/HistoryPage.java \
-  home/HomeFragment.java \
-  home/HomeListView.java \
-  home/HomePager.java \
-  home/HomePagerTabStrip.java \
-  home/HomeBanner.java \
-  home/FadedTextView.java \
-  home/LastTabsPage.java \
-  home/MostRecentPage.java \
-  home/MultiTypeCursorAdapter.java \
-  home/PinSiteDialog.java \
-  home/ReadingListPage.java \
-  home/SearchEngine.java \
-  home/SearchEngineRow.java \
-  home/SearchLoader.java \
-  home/SimpleCursorLoader.java \
-  home/SuggestClient.java \
-  home/TabMenuStrip.java \
-  home/TopSitesGridItemView.java \
-  home/TopSitesGridView.java \
-  home/TopSitesPage.java \
-  home/TopSitesThumbnailView.java \
-  home/TwoLinePageRow.java \
-  menu/GeckoMenu.java \
-  menu/GeckoMenuInflater.java \
-  menu/GeckoMenuItem.java \
-  menu/GeckoSubMenu.java \
-  menu/MenuItemActionBar.java \
-  menu/MenuItemActionView.java \
-  menu/MenuItemDefault.java \
-  menu/MenuPanel.java \
-  menu/MenuPopup.java \
-  preferences/SearchPreferenceCategory.java \
-  preferences/SearchEnginePreference.java \
-  updater/UpdateServiceHelper.java \
-  updater/UpdateService.java \
-  widget/ActivityChooserModel.java \
-  widget/ButtonToast.java \
-  widget/ArrowPopup.java \
-  widget/DateTimePicker.java \
-  widget/Divider.java \
-  widget/FaviconView.java \
-  widget/GeckoPopupMenu.java \
-  widget/GeckoActionProvider.java \
-  widget/IconTabWidget.java \
-  widget/TabRow.java \
-  widget/ThumbnailView.java \
-  widget/TwoWayView.java \
-  GeckoNetworkManager.java \
-  GeckoScreenOrientationListener.java \
-  GeckoUpdateReceiver.java \
-  ReferrerReceiver.java \
-  $(NULL)
-
-BRAILLE_JAVA_FILES := \
-  com/googlecode/eyesfree/braille/selfbraille/ISelfBrailleService.java \
-  com/googlecode/eyesfree/braille/selfbraille/SelfBrailleClient.java \
-  com/googlecode/eyesfree/braille/selfbraille/WriteData.java \
-  $(NULL)
-
-WEBSOCKETS_JAVA_FILES := \
-  com/codebutler/android_websockets/HybiParser.java \
-  com/codebutler/android_websockets/WebSocketClient.java \
-  $(NULL)
-
-ifdef MOZ_WEBRTC
-WEBRTC_VIDEO_CAPTURE_JAVA_FILES = \
-  CaptureCapabilityAndroid.java \
-  VideoCaptureAndroid.java \
-  VideoCaptureDeviceInfoAndroid.java \
-  $(NULL)
-
-WEBRTC_AUDIO_CAPTURE_JAVA_FILES = \
-  WebRTCAudioDevice.java \
-  $(NULL)
-
-WEBRTC_JAVA_FILES = \
-  $(addprefix $(DEPTH)/media/webrtc/trunk/webrtc/modules/video_capture/android/java/org/webrtc/videoengine/, $(WEBRTC_VIDEO_CAPTURE_JAVA_FILES)) \
-  $(addprefix $(DEPTH)/media/webrtc/trunk/webrtc/modules/audio_device/android/org/webrtc/voiceengine/, $(WEBRTC_AUDIO_CAPTURE_JAVA_FILES)) \
-  $(NULL)
-endif
-
 ifdef MOZ_ANDROID_ANR_REPORTER
 DEFINES += -DMOZ_ANDROID_ANR_REPORTER=1
 endif
 
-FENNEC_PP_JAVA_FILES := \
-  App.java \
-  AppConstants.java \
-  widget/GeckoEditText.java \
-  widget/GeckoImageButton.java \
-  widget/GeckoImageView.java \
-  widget/GeckoLinearLayout.java \
-  widget/GeckoRelativeLayout.java \
-  widget/GeckoTextSwitcher.java \
-  widget/GeckoTextView.java \
-  SysInfo.java \
-  WebApp.java \
-  WebApps.java \
-  $(NULL)
-
 ifneq (,$(findstring -march=armv7,$(OS_CFLAGS)))
 MIN_CPU_VERSION=7
 else
 MIN_CPU_VERSION=5
 endif
 
 MOZ_APP_BUILDID=$(shell cat $(DEPTH)/config/buildid)
 
@@ -383,22 +73,22 @@ DEFINES += \
 ifdef MOZ_PKG_SPECIAL
 DEFINES += -DMOZ_PKG_SPECIAL=$(MOZ_PKG_SPECIAL)
 endif
 
 ifdef MOZ_LINKER_EXTRACT
 DEFINES += -DMOZ_LINKER_EXTRACT=1
 endif
 
+PP_JAVAFILES = $(filter-out R.java,$(gecko-mozglue_PP_JAVAFILES) $(gecko-browser_PP_JAVAFILES))
+
 GARBAGE += \
   AndroidManifest.xml  \
   classes.dex  \
-  $(MOZGLUE_PP_JAVA_FILES) \
-  $(FENNEC_PP_JAVA_FILES) \
-  $(SYNC_PP_JAVA_FILES) \
+  $(PP_JAVAFILES) \
   gecko.ap_  \
   res/values/strings.xml \
   R.java \
   package-name.txt \
   fennec_ids.txt \
   Manifest.java \
   javah.out \
   jni-stubs.inc \
@@ -416,104 +106,28 @@ ICON_PATH_XHDPI = $(topsrcdir)/$(MOZ_BRA
 ICON_PATH_XXHDPI = $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/content/fennec_144x144.png
 else
 ICON_PATH = $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/content/icon48.png
 ICON_PATH_HDPI = $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/content/icon64.png
 endif
 
 JAVA_CLASSPATH = $(ANDROID_SDK)/android.jar
 
-ifdef MOZ_CRASHREPORTER
-FENNEC_JAVA_FILES += CrashReporter.java
-endif
-
 ALL_JARS = \
-  jars/gecko-browser.jar \
-  jars/gecko-mozglue.jar \
-  jars/gecko-util.jar \
-  jars/sync-thirdparty.jar \
-  jars/websockets.jar \
+  gecko-browser.jar \
+  gecko-mozglue.jar \
+  gecko-util.jar \
+  sync-thirdparty.jar \
+  websockets.jar \
   $(NULL)
 
 ifdef MOZ_WEBRTC
-ALL_JARS += jars/webrtc.jar
+ALL_JARS += webrtc.jar
 endif
 
-thirdparty_source_dir = $(topsrcdir)/mobile/android/thirdparty
-
-JAVA_JAR_TARGETS += websockets
-websockets_DEST := jars/websockets.jar
-websockets_JAVAFILES := \
-  $(addprefix $(thirdparty_source_dir)/,$(WEBSOCKETS_JAVA_FILES)) \
-  $(NULL)
-websockets_JAVAC_FLAGS := -Xlint:all,-serial
-
-JAVA_JAR_TARGETS += gecko-browser
-gecko-browser_DEST := jars/gecko-browser.jar
-gecko-browser_JAVAFILES := \
-  $(FENNEC_JAVA_FILES) \
-  $(addprefix $(thirdparty_source_dir)/,$(BRAILLE_JAVA_FILES)) \
-  $(SYNC_JAVA_FILES) \
-  $(NULL)
-gecko-browser_PP_JAVAFILES := \
-  $(FENNEC_PP_JAVA_FILES) \
-  $(SYNC_PP_JAVA_FILES) \
-  R.java \
-  $(NULL)
-gecko-browser_EXTRA_JARS := \
-  jars/gecko-mozglue.jar \
-  jars/gecko-util.jar \
-  jars/sync-thirdparty.jar \
-  jars/websockets.jar \
-  $(NULL)
-gecko-browser_JAVAC_FLAGS := -Xlint:all,-deprecation,-fallthrough
-
-JAVA_JAR_TARGETS += gecko-mozglue
-gecko-mozglue_DEST := jars/gecko-mozglue.jar
-gecko-mozglue_JAVAFILES := \
-  $(MOZGLUE_JAVA_FILES) \
-  $(NULL)
-gecko-mozglue_PP_JAVAFILES := \
-  $(MOZGLUE_PP_JAVA_FILES) \
-  $(NULL)
-gecko-mozglue_JAVAC_FLAGS := -Xlint:all
-
-JAVA_JAR_TARGETS += gecko-util
-gecko-util_DEST := jars/gecko-util.jar
-gecko-util_JAVAFILES := \
-  $(UTIL_JAVA_FILES) \
-  $(NULL)
-gecko-util_EXTRA_JARS := \
-  jars/gecko-mozglue.jar \
-  $(NULL)
-gecko-util_JAVAC_FLAGS := -Xlint:all,-deprecation
-
-JAVA_JAR_TARGETS += sync-thirdparty
-sync-thirdparty_DEST := jars/sync-thirdparty.jar
-sync-thirdparty_JAVAFILES := \
-  $(addprefix $(thirdparty_source_dir)/,$(SYNC_THIRDPARTY_JAVA_FILES)) \
-  $(NULL)
-sync-thirdparty_JAVAC_FLAGS := -Xlint:none
-
-ifdef MOZ_WEBRTC
-JAVA_JAR_TARGETS += webrtc
-webrtc_DEST := jars/webrtc.jar
-webrtc_JAVAFILES := \
-  $(WEBRTC_JAVA_FILES) \
-  $(NULL)
-webrtc_EXTRA_JARS := \
-  jars/gecko-browser.jar \
-  jars/gecko-util.jar \
-  jars/gecko-mozglue.jar \
-  $(NULL)
-webrtc_JAVAC_FLAGS := -Xlint:all,-deprecation,-cast
-endif
-
-include $(topsrcdir)/config/makefiles/java-build.mk
-
 # We process ANDROID_RESFILES specially for now; the following flag
 # disables the default processing.
 IGNORE_ANDROID_RESFILES=1
 
 include $(topsrcdir)/config/rules.mk
 
 # Override the Java settings with some specific android settings
 include $(topsrcdir)/config/android-common.mk
@@ -538,44 +152,40 @@ ifdef MOZ_WEBSMS_BACKEND
 # Note: if you are building with MOZ_WEBSMS_BACKEND turned on, then
 # you will get a build error because the generated jni-stubs.inc will
 # be different than the one checked in (i.e. it will have the sms-related
 # JNI stubs as well). Just copy the generated file to mozglue/android/
 # like the error message says and rebuild. All should be well after that.
 CLASSES_WITH_JNI += org.mozilla.gecko.GeckoSmsManager
 endif
 
-jni-stubs.inc: jars/gecko-browser.jar jars/gecko-mozglue.jar jars/gecko-util.jar jars/sync-thirdparty.jar
+jni-stubs.inc: gecko-browser.jar gecko-mozglue.jar gecko-util.jar sync-thirdparty.jar
 	$(JAVAH) -o javah.out -bootclasspath $(JAVA_BOOTCLASSPATH) -classpath $(subst $(NULL) $(NULL),:,$^) $(CLASSES_WITH_JNI)
 	$(PYTHON) $(topsrcdir)/mobile/android/base/jni-generator.py javah.out $@
 
 ANNOTATION_PROCESSOR_JAR_FILES := $(DEPTH)/build/annotationProcessors/annotationProcessors.jar
 
 GeneratedJNIWrappers.cpp: $(ANNOTATION_PROCESSOR_JAR_FILES)
 GeneratedJNIWrappers.cpp: $(ALL_JARS)
 	$(JAVA) -classpath $(JAVA_BOOTCLASSPATH):$(ANNOTATION_PROCESSOR_JAR_FILES) org.mozilla.gecko.annotationProcessors.AnnotationProcessor $(ALL_JARS)
 
 # AndroidManifest.xml includes these files, so they need to be marked as dependencies.
 SERVICES_MANIFEST_FRAGMENTS = $(wildcard $(topsrcdir)/mobile/android/services/manifests/*.in)
 
 android-tgts = \
   AndroidManifest.xml \
-  $(MOZGLUE_PP_JAVA_FILES) \
-  $(FENNEC_PP_JAVA_FILES) \
-  $(SYNC_PP_JAVA_FILES) \
   package-name.txt \
+  $(PP_JAVAFILES) \
   $(NULL)
 
 android-preqs = \
   Makefile.in \
   widget/GeckoView.java.frag \
-  $(call mkdir_deps,$(sort $(dir $(MOZGLUE_PP_JAVA_FILES)))) \
-  $(call mkdir_deps,$(sort $(dir $(FENNEC_PP_JAVA_FILES)))) \
-  $(call mkdir_deps,$(sort $(dir $(SYNC_PP_JAVA_FILES)))) \
   $(SERVICES_MANIFEST_FRAGMENTS) \
+  $(call mkdir_deps,$(sort $(dir $(PP_JAVAFILES)))) \
   $(NULL)
 
 $(android-tgts): % : %.in $(android-preqs)
 	$(PYTHON) $(topsrcdir)/config/Preprocessor.py \
              $(AUTOMATION_PPARGS) $(DEFINES) $(ACDEFINES) $< > $@
 
 res/drawable-mdpi/icon.png: $(ICON_PATH)
 	$(NSINSTALL) -D res/drawable-mdpi
deleted file mode 100644
--- a/mobile/android/base/android-services-files.mk
+++ /dev/null
@@ -1,771 +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/.
-
-# These files are managed in the android-sync repo. Do not modify directly, or your changes will be lost.
-SYNC_PP_JAVA_FILES := \
-  background/common/GlobalConstants.java \
-  sync/SyncConstants.java \
-  background/announcements/AnnouncementsConstants.java \
-  background/healthreport/HealthReportConstants.java \
-  $(NULL)
-
-SYNC_JAVA_FILES := \
-  background/announcements/Announcement.java \
-  background/announcements/AnnouncementPresenter.java \
-  background/announcements/AnnouncementsBroadcastReceiver.java \
-  background/announcements/AnnouncementsBroadcastService.java \
-  background/announcements/AnnouncementsFetchDelegate.java \
-  background/announcements/AnnouncementsFetcher.java \
-  background/announcements/AnnouncementsFetchResourceDelegate.java \
-  background/announcements/AnnouncementsService.java \
-  background/BackgroundService.java \
-  background/bagheera/BagheeraClient.java \
-  background/bagheera/BagheeraRequestDelegate.java \
-  background/bagheera/BoundedByteArrayEntity.java \
-  background/bagheera/DeflateHelper.java \
-  background/common/DateUtils.java \
-  background/common/log/Logger.java \
-  background/common/log/writers/AndroidLevelCachingLogWriter.java \
-  background/common/log/writers/AndroidLogWriter.java \
-  background/common/log/writers/LevelFilteringLogWriter.java \
-  background/common/log/writers/LogWriter.java \
-  background/common/log/writers/PrintLogWriter.java \
-  background/common/log/writers/SimpleTagLogWriter.java \
-  background/common/log/writers/StringLogWriter.java \
-  background/common/log/writers/TagLogWriter.java \
-  background/common/log/writers/ThreadLocalTagLogWriter.java \
-  background/datareporting/TelemetryRecorder.java \
-  background/db/CursorDumper.java \
-  background/db/Tab.java \
-  background/healthreport/Environment.java \
-  background/healthreport/EnvironmentBuilder.java \
-  background/healthreport/EnvironmentV1.java \
-  background/healthreport/HealthReportBroadcastReceiver.java \
-  background/healthreport/HealthReportBroadcastService.java \
-  background/healthreport/HealthReportDatabases.java \
-  background/healthreport/HealthReportDatabaseStorage.java \
-  background/healthreport/HealthReportGenerator.java \
-  background/healthreport/HealthReportProvider.java \
-  background/healthreport/HealthReportStorage.java \
-  background/healthreport/HealthReportUtils.java \
-  background/healthreport/ProfileInformationCache.java \
-  background/healthreport/prune/HealthReportPruneService.java \
-  background/healthreport/prune/PrunePolicy.java \
-  background/healthreport/prune/PrunePolicyDatabaseStorage.java \
-  background/healthreport/prune/PrunePolicyStorage.java \
-  background/healthreport/upload/AndroidSubmissionClient.java \
-  background/healthreport/upload/HealthReportUploadService.java \
-  background/healthreport/upload/ObsoleteDocumentTracker.java \
-  background/healthreport/upload/SubmissionClient.java \
-  background/healthreport/upload/SubmissionPolicy.java \
-  sync/AlreadySyncingException.java \
-  sync/CollectionKeys.java \
-  sync/CommandProcessor.java \
-  sync/CommandRunner.java \
-  sync/config/AccountPickler.java \
-  sync/config/activities/SelectEnginesActivity.java \
-  sync/config/ClientRecordTerminator.java \
-  sync/config/ConfigurationMigrator.java \
-  sync/CredentialException.java \
-  sync/CredentialsSource.java \
-  sync/crypto/CryptoException.java \
-  sync/crypto/CryptoInfo.java \
-  sync/crypto/HKDF.java \
-  sync/crypto/HMACVerificationException.java \
-  sync/crypto/KeyBundle.java \
-  sync/crypto/MissingCryptoInputException.java \
-  sync/crypto/NoKeyBundleException.java \
-  sync/crypto/PersistedCrypto5Keys.java \
-  sync/CryptoRecord.java \
-  sync/DelayedWorkTracker.java \
-  sync/delegates/ClientsDataDelegate.java \
-  sync/delegates/FreshStartDelegate.java \
-  sync/delegates/GlobalSessionCallback.java \
-  sync/delegates/JSONRecordFetchDelegate.java \
-  sync/delegates/KeyUploadDelegate.java \
-  sync/delegates/MetaGlobalDelegate.java \
-  sync/delegates/WipeServerDelegate.java \
-  sync/EngineSettings.java \
-  sync/ExtendedJSONObject.java \
-  sync/GlobalSession.java \
-  sync/HTTPFailureException.java \
-  sync/InfoCollections.java \
-  sync/InfoCounts.java \
-  sync/jpake/BigIntegerHelper.java \
-  sync/jpake/Gx3OrGx4IsZeroOrOneException.java \
-  sync/jpake/IncorrectZkpException.java \
-  sync/jpake/JPakeClient.java \
-  sync/jpake/JPakeCrypto.java \
-  sync/jpake/JPakeJson.java \
-  sync/jpake/JPakeNoActivePairingException.java \
-  sync/jpake/JPakeNumGenerator.java \
-  sync/jpake/JPakeNumGeneratorRandom.java \
-  sync/jpake/JPakeParty.java \
-  sync/jpake/stage/CompleteStage.java \
-  sync/jpake/stage/ComputeFinalStage.java \
-  sync/jpake/stage/ComputeKeyVerificationStage.java \
-  sync/jpake/stage/ComputeStepOneStage.java \
-  sync/jpake/stage/ComputeStepTwoStage.java \
-  sync/jpake/stage/DecryptDataStage.java \
-  sync/jpake/stage/DeleteChannel.java \
-  sync/jpake/stage/GetChannelStage.java \
-  sync/jpake/stage/GetRequestStage.java \
-  sync/jpake/stage/JPakeStage.java \
-  sync/jpake/stage/PutRequestStage.java \
-  sync/jpake/stage/VerifyPairingStage.java \
-  sync/jpake/Zkp.java \
-  sync/JSONRecordFetcher.java \
-  sync/KeyBundleProvider.java \
-  sync/MetaGlobal.java \
-  sync/MetaGlobalException.java \
-  sync/MetaGlobalMissingEnginesException.java \
-  sync/MetaGlobalNotSetException.java \
-  sync/middleware/Crypto5MiddlewareRepository.java \
-  sync/middleware/Crypto5MiddlewareRepositorySession.java \
-  sync/middleware/MiddlewareRepository.java \
-  sync/middleware/MiddlewareRepositorySession.java \
-  sync/net/AuthHeaderProvider.java \
-  sync/net/BaseResource.java \
-  sync/net/BaseResourceDelegate.java \
-  sync/net/BasicAuthHeaderProvider.java \
-  sync/net/BrowserIDAuthHeaderProvider.java \
-  sync/net/ConnectionMonitorThread.java \
-  sync/net/HandleProgressException.java \
-  sync/net/HawkAuthHeaderProvider.java \
-  sync/net/HMACAuthHeaderProvider.java \
-  sync/net/HttpResponseObserver.java \
-  sync/net/Resource.java \
-  sync/net/ResourceDelegate.java \
-  sync/net/SyncResponse.java \
-  sync/net/SyncStorageCollectionRequest.java \
-  sync/net/SyncStorageCollectionRequestDelegate.java \
-  sync/net/SyncStorageRecordRequest.java \
-  sync/net/SyncStorageRequest.java \
-  sync/net/SyncStorageRequestDelegate.java \
-  sync/net/SyncStorageRequestIncrementalDelegate.java \
-  sync/net/SyncStorageResponse.java \
-  sync/net/TLSSocketFactory.java \
-  sync/net/WBOCollectionRequestDelegate.java \
-  sync/net/WBORequestDelegate.java \
-  sync/NoCollectionKeysSetException.java \
-  sync/NodeAuthenticationException.java \
-  sync/NonArrayJSONException.java \
-  sync/NonObjectJSONException.java \
-  sync/NullClusterURLException.java \
-  sync/PersistedMetaGlobal.java \
-  sync/PrefsSource.java \
-  sync/receivers/SyncAccountDeletedReceiver.java \
-  sync/receivers/SyncAccountDeletedService.java \
-  sync/receivers/UpgradeReceiver.java \
-  sync/repositories/android/AndroidBrowserBookmarksDataAccessor.java \
-  sync/repositories/android/AndroidBrowserBookmarksRepository.java \
-  sync/repositories/android/AndroidBrowserBookmarksRepositorySession.java \
-  sync/repositories/android/AndroidBrowserHistoryDataAccessor.java \
-  sync/repositories/android/AndroidBrowserHistoryDataExtender.java \
-  sync/repositories/android/AndroidBrowserHistoryRepository.java \
-  sync/repositories/android/AndroidBrowserHistoryRepositorySession.java \
-  sync/repositories/android/AndroidBrowserRepository.java \
-  sync/repositories/android/AndroidBrowserRepositoryDataAccessor.java \
-  sync/repositories/android/AndroidBrowserRepositorySession.java \
-  sync/repositories/android/BookmarksDeletionManager.java \
-  sync/repositories/android/BookmarksInsertionManager.java \
-  sync/repositories/android/BrowserContractHelpers.java \
-  sync/repositories/android/CachedSQLiteOpenHelper.java \
-  sync/repositories/android/ClientsDatabase.java \
-  sync/repositories/android/ClientsDatabaseAccessor.java \
-  sync/repositories/android/FennecTabsRepository.java \
-  sync/repositories/android/FormHistoryRepositorySession.java \
-  sync/repositories/android/PasswordsRepositorySession.java \
-  sync/repositories/android/RepoUtils.java \
-  sync/repositories/BookmarkNeedsReparentingException.java \
-  sync/repositories/BookmarksRepository.java \
-  sync/repositories/ConstrainedServer11Repository.java \
-  sync/repositories/delegates/DeferrableRepositorySessionCreationDelegate.java \
-  sync/repositories/delegates/DeferredRepositorySessionBeginDelegate.java \
-  sync/repositories/delegates/DeferredRepositorySessionFetchRecordsDelegate.java \
-  sync/repositories/delegates/DeferredRepositorySessionFinishDelegate.java \
-  sync/repositories/delegates/DeferredRepositorySessionStoreDelegate.java \
-  sync/repositories/delegates/RepositorySessionBeginDelegate.java \
-  sync/repositories/delegates/RepositorySessionCleanDelegate.java \
-  sync/repositories/delegates/RepositorySessionCreationDelegate.java \
-  sync/repositories/delegates/RepositorySessionFetchRecordsDelegate.java \
-  sync/repositories/delegates/RepositorySessionFinishDelegate.java \
-  sync/repositories/delegates/RepositorySessionGuidsSinceDelegate.java \
-  sync/repositories/delegates/RepositorySessionStoreDelegate.java \
-  sync/repositories/delegates/RepositorySessionWipeDelegate.java \
-  sync/repositories/domain/BookmarkRecord.java \
-  sync/repositories/domain/BookmarkRecordFactory.java \
-  sync/repositories/domain/ClientRecord.java \
-  sync/repositories/domain/ClientRecordFactory.java \
-  sync/repositories/domain/FormHistoryRecord.java \
-  sync/repositories/domain/HistoryRecord.java \
-  sync/repositories/domain/HistoryRecordFactory.java \
-  sync/repositories/domain/PasswordRecord.java \
-  sync/repositories/domain/Record.java \
-  sync/repositories/domain/RecordParseException.java \
-  sync/repositories/domain/TabsRecord.java \
-  sync/repositories/domain/VersionConstants.java \
-  sync/repositories/FetchFailedException.java \
-  sync/repositories/HashSetStoreTracker.java \
-  sync/repositories/HistoryRepository.java \
-  sync/repositories/IdentityRecordFactory.java \
-  sync/repositories/InactiveSessionException.java \
-  sync/repositories/InvalidBookmarkTypeException.java \
-  sync/repositories/InvalidRequestException.java \
-  sync/repositories/InvalidSessionTransitionException.java \
-  sync/repositories/MultipleRecordsForGuidException.java \
-  sync/repositories/NoContentProviderException.java \
-  sync/repositories/NoGuidForIdException.java \
-  sync/repositories/NoStoreDelegateException.java \
-  sync/repositories/NullCursorException.java \
-  sync/repositories/ParentNotFoundException.java \
-  sync/repositories/ProfileDatabaseException.java \
-  sync/repositories/RecordFactory.java \
-  sync/repositories/RecordFilter.java \
-  sync/repositories/Repository.java \
-  sync/repositories/RepositorySession.java \
-  sync/repositories/RepositorySessionBundle.java \
-  sync/repositories/Server11Repository.java \
-  sync/repositories/Server11RepositorySession.java \
-  sync/repositories/StoreFailedException.java \
-  sync/repositories/StoreTracker.java \
-  sync/repositories/StoreTrackingRepositorySession.java \
-  sync/Server11PreviousPostFailedException.java \
-  sync/Server11RecordPostFailedException.java \
-  sync/setup/activities/AccountActivity.java \
-  sync/setup/activities/ActivityUtils.java \
-  sync/setup/activities/ClientRecordArrayAdapter.java \
-  sync/setup/activities/RedirectToSetupActivity.java \
-  sync/setup/activities/SendTabActivity.java \
-  sync/setup/activities/SendTabData.java \
-  sync/setup/activities/SetupFailureActivity.java \
-  sync/setup/activities/SetupSuccessActivity.java \
-  sync/setup/activities/SetupSyncActivity.java \
-  sync/setup/activities/SyncActivity.java \
-  sync/setup/activities/WebURLFinder.java \
-  sync/setup/activities/WebViewActivity.java \
-  sync/setup/auth/AccountAuthenticator.java \
-  sync/setup/auth/AuthenticateAccountStage.java \
-  sync/setup/auth/AuthenticationResult.java \
-  sync/setup/auth/AuthenticatorStage.java \
-  sync/setup/auth/EnsureUserExistenceStage.java \
-  sync/setup/auth/FetchUserNodeStage.java \
-  sync/setup/Constants.java \
-  sync/setup/InvalidSyncKeyException.java \
-  sync/setup/SyncAccounts.java \
-  sync/setup/SyncAuthenticatorService.java \
-  sync/stage/AbstractNonRepositorySyncStage.java \
-  sync/stage/AbstractSessionManagingSyncStage.java \
-  sync/stage/AndroidBrowserBookmarksServerSyncStage.java \
-  sync/stage/AndroidBrowserHistoryServerSyncStage.java \
-  sync/stage/CheckPreconditionsStage.java \
-  sync/stage/CompletedStage.java \
-  sync/stage/EnsureClusterURLStage.java \
-  sync/stage/EnsureCrypto5KeysStage.java \
-  sync/stage/FennecTabsServerSyncStage.java \
-  sync/stage/FetchInfoCollectionsStage.java \
-  sync/stage/FetchMetaGlobalStage.java \
-  sync/stage/FormHistoryServerSyncStage.java \
-  sync/stage/GlobalSyncStage.java \
-  sync/stage/NoSuchStageException.java \
-  sync/stage/NoSyncIDException.java \
-  sync/stage/PasswordsServerSyncStage.java \
-  sync/stage/SafeConstrainedServer11Repository.java \
-  sync/stage/ServerSyncStage.java \
-  sync/stage/SyncClientsEngineStage.java \
-  sync/stage/UploadMetaGlobalStage.java \
-  sync/syncadapter/SyncAdapter.java \
-  sync/syncadapter/SyncService.java \
-  sync/SyncConfiguration.java \
-  sync/SyncConfigurationException.java \
-  sync/SyncException.java \
-  sync/synchronizer/ConcurrentRecordConsumer.java \
-  sync/synchronizer/RecordConsumer.java \
-  sync/synchronizer/RecordsChannel.java \
-  sync/synchronizer/RecordsChannelDelegate.java \
-  sync/synchronizer/RecordsConsumerDelegate.java \
-  sync/synchronizer/SerialRecordConsumer.java \
-  sync/synchronizer/ServerLocalSynchronizer.java \
-  sync/synchronizer/ServerLocalSynchronizerSession.java \
-  sync/synchronizer/SessionNotBegunException.java \
-  sync/synchronizer/Synchronizer.java \
-  sync/synchronizer/SynchronizerDelegate.java \
-  sync/synchronizer/SynchronizerSession.java \
-  sync/synchronizer/SynchronizerSessionDelegate.java \
-  sync/synchronizer/UnbundleError.java \
-  sync/synchronizer/UnexpectedSessionException.java \
-  sync/SynchronizerConfiguration.java \
-  sync/ThreadPool.java \
-  sync/UnexpectedJSONException.java \
-  sync/UnknownSynchronizerConfigurationVersionException.java \
-  sync/Utils.java \
-  $(NULL)
-
-SYNC_THIRDPARTY_JAVA_FILES := \
-  ch/boye/httpclientandroidlib/androidextra/HttpClientAndroidLog.java \
-  ch/boye/httpclientandroidlib/annotation/GuardedBy.java \
-  ch/boye/httpclientandroidlib/annotation/Immutable.java \
-  ch/boye/httpclientandroidlib/annotation/NotThreadSafe.java \
-  ch/boye/httpclientandroidlib/annotation/ThreadSafe.java \
-  ch/boye/httpclientandroidlib/auth/AUTH.java \
-  ch/boye/httpclientandroidlib/auth/AuthenticationException.java \
-  ch/boye/httpclientandroidlib/auth/AuthScheme.java \
-  ch/boye/httpclientandroidlib/auth/AuthSchemeFactory.java \
-  ch/boye/httpclientandroidlib/auth/AuthSchemeRegistry.java \
-  ch/boye/httpclientandroidlib/auth/AuthScope.java \
-  ch/boye/httpclientandroidlib/auth/AuthState.java \
-  ch/boye/httpclientandroidlib/auth/BasicUserPrincipal.java \
-  ch/boye/httpclientandroidlib/auth/ContextAwareAuthScheme.java \
-  ch/boye/httpclientandroidlib/auth/Credentials.java \
-  ch/boye/httpclientandroidlib/auth/InvalidCredentialsException.java \
-  ch/boye/httpclientandroidlib/auth/MalformedChallengeException.java \
-  ch/boye/httpclientandroidlib/auth/NTCredentials.java \
-  ch/boye/httpclientandroidlib/auth/NTUserPrincipal.java \
-  ch/boye/httpclientandroidlib/auth/params/AuthParamBean.java \
-  ch/boye/httpclientandroidlib/auth/params/AuthParams.java \
-  ch/boye/httpclientandroidlib/auth/params/AuthPNames.java \
-  ch/boye/httpclientandroidlib/auth/UsernamePasswordCredentials.java \
-  ch/boye/httpclientandroidlib/client/AuthCache.java \
-  ch/boye/httpclientandroidlib/client/AuthenticationHandler.java \
-  ch/boye/httpclientandroidlib/client/CircularRedirectException.java \
-  ch/boye/httpclientandroidlib/client/ClientProtocolException.java \
-  ch/boye/httpclientandroidlib/client/CookieStore.java \
-  ch/boye/httpclientandroidlib/client/CredentialsProvider.java \
-  ch/boye/httpclientandroidlib/client/entity/DecompressingEntity.java \
-  ch/boye/httpclientandroidlib/client/entity/DeflateDecompressingEntity.java \
-  ch/boye/httpclientandroidlib/client/entity/GzipDecompressingEntity.java \
-  ch/boye/httpclientandroidlib/client/entity/UrlEncodedFormEntity.java \
-  ch/boye/httpclientandroidlib/client/HttpClient.java \
-  ch/boye/httpclientandroidlib/client/HttpRequestRetryHandler.java \
-  ch/boye/httpclientandroidlib/client/HttpResponseException.java \
-  ch/boye/httpclientandroidlib/client/methods/AbortableHttpRequest.java \
-  ch/boye/httpclientandroidlib/client/methods/HttpDelete.java \
-  ch/boye/httpclientandroidlib/client/methods/HttpEntityEnclosingRequestBase.java \
-  ch/boye/httpclientandroidlib/client/methods/HttpGet.java \
-  ch/boye/httpclientandroidlib/client/methods/HttpHead.java \
-  ch/boye/httpclientandroidlib/client/methods/HttpOptions.java \
-  ch/boye/httpclientandroidlib/client/methods/HttpPost.java \
-  ch/boye/httpclientandroidlib/client/methods/HttpPut.java \
-  ch/boye/httpclientandroidlib/client/methods/HttpRequestBase.java \
-  ch/boye/httpclientandroidlib/client/methods/HttpTrace.java \
-  ch/boye/httpclientandroidlib/client/methods/HttpUriRequest.java \
-  ch/boye/httpclientandroidlib/client/NonRepeatableRequestException.java \
-  ch/boye/httpclientandroidlib/client/params/AllClientPNames.java \
-  ch/boye/httpclientandroidlib/client/params/AuthPolicy.java \
-  ch/boye/httpclientandroidlib/client/params/ClientParamBean.java \
-  ch/boye/httpclientandroidlib/client/params/ClientPNames.java \
-  ch/boye/httpclientandroidlib/client/params/CookiePolicy.java \
-  ch/boye/httpclientandroidlib/client/params/HttpClientParams.java \
-  ch/boye/httpclientandroidlib/client/protocol/ClientContext.java \
-  ch/boye/httpclientandroidlib/client/protocol/ClientContextConfigurer.java \
-  ch/boye/httpclientandroidlib/client/protocol/RequestAcceptEncoding.java \
-  ch/boye/httpclientandroidlib/client/protocol/RequestAddCookies.java \
-  ch/boye/httpclientandroidlib/client/protocol/RequestAuthCache.java \
-  ch/boye/httpclientandroidlib/client/protocol/RequestClientConnControl.java \
-  ch/boye/httpclientandroidlib/client/protocol/RequestDefaultHeaders.java \
-  ch/boye/httpclientandroidlib/client/protocol/RequestProxyAuthentication.java \
-  ch/boye/httpclientandroidlib/client/protocol/RequestTargetAuthentication.java \
-  ch/boye/httpclientandroidlib/client/protocol/ResponseAuthCache.java \
-  ch/boye/httpclientandroidlib/client/protocol/ResponseContentEncoding.java \
-  ch/boye/httpclientandroidlib/client/protocol/ResponseProcessCookies.java \
-  ch/boye/httpclientandroidlib/client/RedirectException.java \
-  ch/boye/httpclientandroidlib/client/RedirectHandler.java \
-  ch/boye/httpclientandroidlib/client/RedirectStrategy.java \
-  ch/boye/httpclientandroidlib/client/RequestDirector.java \
-  ch/boye/httpclientandroidlib/client/ResponseHandler.java \
-  ch/boye/httpclientandroidlib/client/UserTokenHandler.java \
-  ch/boye/httpclientandroidlib/client/utils/CloneUtils.java \
-  ch/boye/httpclientandroidlib/client/utils/Idn.java \
-  ch/boye/httpclientandroidlib/client/utils/JdkIdn.java \
-  ch/boye/httpclientandroidlib/client/utils/Punycode.java \
-  ch/boye/httpclientandroidlib/client/utils/Rfc3492Idn.java \
-  ch/boye/httpclientandroidlib/client/utils/URIUtils.java \
-  ch/boye/httpclientandroidlib/client/utils/URLEncodedUtils.java \
-  ch/boye/httpclientandroidlib/conn/BasicEofSensorWatcher.java \
-  ch/boye/httpclientandroidlib/conn/BasicManagedEntity.java \
-  ch/boye/httpclientandroidlib/conn/ClientConnectionManager.java \
-  ch/boye/httpclientandroidlib/conn/ClientConnectionManagerFactory.java \
-  ch/boye/httpclientandroidlib/conn/ClientConnectionOperator.java \
-  ch/boye/httpclientandroidlib/conn/ClientConnectionRequest.java \
-  ch/boye/httpclientandroidlib/conn/ConnectionKeepAliveStrategy.java \
-  ch/boye/httpclientandroidlib/conn/ConnectionPoolTimeoutException.java \
-  ch/boye/httpclientandroidlib/conn/ConnectionReleaseTrigger.java \
-  ch/boye/httpclientandroidlib/conn/ConnectTimeoutException.java \
-  ch/boye/httpclientandroidlib/conn/EofSensorInputStream.java \
-  ch/boye/httpclientandroidlib/conn/EofSensorWatcher.java \
-  ch/boye/httpclientandroidlib/conn/HttpHostConnectException.java \
-  ch/boye/httpclientandroidlib/conn/HttpRoutedConnection.java \
-  ch/boye/httpclientandroidlib/conn/ManagedClientConnection.java \
-  ch/boye/httpclientandroidlib/conn/MultihomePlainSocketFactory.java \
-  ch/boye/httpclientandroidlib/conn/OperatedClientConnection.java \
-  ch/boye/httpclientandroidlib/conn/params/ConnConnectionParamBean.java \
-  ch/boye/httpclientandroidlib/conn/params/ConnConnectionPNames.java \
-  ch/boye/httpclientandroidlib/conn/params/ConnManagerParamBean.java \
-  ch/boye/httpclientandroidlib/conn/params/ConnManagerParams.java \
-  ch/boye/httpclientandroidlib/conn/params/ConnManagerPNames.java \
-  ch/boye/httpclientandroidlib/conn/params/ConnPerRoute.java \
-  ch/boye/httpclientandroidlib/conn/params/ConnPerRouteBean.java \
-  ch/boye/httpclientandroidlib/conn/params/ConnRouteParamBean.java \
-  ch/boye/httpclientandroidlib/conn/params/ConnRouteParams.java \
-  ch/boye/httpclientandroidlib/conn/params/ConnRoutePNames.java \
-  ch/boye/httpclientandroidlib/conn/routing/BasicRouteDirector.java \
-  ch/boye/httpclientandroidlib/conn/routing/HttpRoute.java \
-  ch/boye/httpclientandroidlib/conn/routing/HttpRouteDirector.java \
-  ch/boye/httpclientandroidlib/conn/routing/HttpRoutePlanner.java \
-  ch/boye/httpclientandroidlib/conn/routing/RouteInfo.java \
-  ch/boye/httpclientandroidlib/conn/routing/RouteTracker.java \
-  ch/boye/httpclientandroidlib/conn/scheme/HostNameResolver.java \
-  ch/boye/httpclientandroidlib/conn/scheme/LayeredSchemeSocketFactory.java \
-  ch/boye/httpclientandroidlib/conn/scheme/LayeredSchemeSocketFactoryAdaptor.java \
-  ch/boye/httpclientandroidlib/conn/scheme/LayeredSocketFactory.java \
-  ch/boye/httpclientandroidlib/conn/scheme/LayeredSocketFactoryAdaptor.java \
-  ch/boye/httpclientandroidlib/conn/scheme/PlainSocketFactory.java \
-  ch/boye/httpclientandroidlib/conn/scheme/Scheme.java \
-  ch/boye/httpclientandroidlib/conn/scheme/SchemeRegistry.java \
-  ch/boye/httpclientandroidlib/conn/scheme/SchemeSocketFactory.java \
-  ch/boye/httpclientandroidlib/conn/scheme/SchemeSocketFactoryAdaptor.java \
-  ch/boye/httpclientandroidlib/conn/scheme/SocketFactory.java \
-  ch/boye/httpclientandroidlib/conn/scheme/SocketFactoryAdaptor.java \
-  ch/boye/httpclientandroidlib/conn/ssl/AbstractVerifier.java \
-  ch/boye/httpclientandroidlib/conn/ssl/AllowAllHostnameVerifier.java \
-  ch/boye/httpclientandroidlib/conn/ssl/BrowserCompatHostnameVerifier.java \
-  ch/boye/httpclientandroidlib/conn/ssl/SSLSocketFactory.java \
-  ch/boye/httpclientandroidlib/conn/ssl/StrictHostnameVerifier.java \
-  ch/boye/httpclientandroidlib/conn/ssl/TrustManagerDecorator.java \
-  ch/boye/httpclientandroidlib/conn/ssl/TrustSelfSignedStrategy.java \
-  ch/boye/httpclientandroidlib/conn/ssl/TrustStrategy.java \
-  ch/boye/httpclientandroidlib/conn/ssl/X509HostnameVerifier.java \
-  ch/boye/httpclientandroidlib/conn/util/InetAddressUtils.java \
-  ch/boye/httpclientandroidlib/ConnectionClosedException.java \
-  ch/boye/httpclientandroidlib/ConnectionReuseStrategy.java \
-  ch/boye/httpclientandroidlib/cookie/ClientCookie.java \
-  ch/boye/httpclientandroidlib/cookie/Cookie.java \
-  ch/boye/httpclientandroidlib/cookie/CookieAttributeHandler.java \
-  ch/boye/httpclientandroidlib/cookie/CookieIdentityComparator.java \
-  ch/boye/httpclientandroidlib/cookie/CookieOrigin.java \
-  ch/boye/httpclientandroidlib/cookie/CookiePathComparator.java \
-  ch/boye/httpclientandroidlib/cookie/CookieRestrictionViolationException.java \
-  ch/boye/httpclientandroidlib/cookie/CookieSpec.java \
-  ch/boye/httpclientandroidlib/cookie/CookieSpecFactory.java \
-  ch/boye/httpclientandroidlib/cookie/CookieSpecRegistry.java \
-  ch/boye/httpclientandroidlib/cookie/MalformedCookieException.java \
-  ch/boye/httpclientandroidlib/cookie/params/CookieSpecParamBean.java \
-  ch/boye/httpclientandroidlib/cookie/params/CookieSpecPNames.java \
-  ch/boye/httpclientandroidlib/cookie/SetCookie.java \
-  ch/boye/httpclientandroidlib/cookie/SetCookie2.java \
-  ch/boye/httpclientandroidlib/cookie/SM.java \
-  ch/boye/httpclientandroidlib/entity/AbstractHttpEntity.java \
-  ch/boye/httpclientandroidlib/entity/BasicHttpEntity.java \
-  ch/boye/httpclientandroidlib/entity/BufferedHttpEntity.java \
-  ch/boye/httpclientandroidlib/entity/ByteArrayEntity.java \
-  ch/boye/httpclientandroidlib/entity/ContentLengthStrategy.java \
-  ch/boye/httpclientandroidlib/entity/ContentProducer.java \
-  ch/boye/httpclientandroidlib/entity/EntityTemplate.java \
-  ch/boye/httpclientandroidlib/entity/FileEntity.java \
-  ch/boye/httpclientandroidlib/entity/HttpEntityWrapper.java \
-  ch/boye/httpclientandroidlib/entity/InputStreamEntity.java \
-  ch/boye/httpclientandroidlib/entity/SerializableEntity.java \
-  ch/boye/httpclientandroidlib/entity/StringEntity.java \
-  ch/boye/httpclientandroidlib/FormattedHeader.java \
-  ch/boye/httpclientandroidlib/Header.java \
-  ch/boye/httpclientandroidlib/HeaderElement.java \
-  ch/boye/httpclientandroidlib/HeaderElementIterator.java \
-  ch/boye/httpclientandroidlib/HeaderIterator.java \
-  ch/boye/httpclientandroidlib/HttpClientConnection.java \
-  ch/boye/httpclientandroidlib/HttpConnection.java \
-  ch/boye/httpclientandroidlib/HttpConnectionMetrics.java \
-  ch/boye/httpclientandroidlib/HttpEntity.java \
-  ch/boye/httpclientandroidlib/HttpEntityEnclosingRequest.java \
-  ch/boye/httpclientandroidlib/HttpException.java \
-  ch/boye/httpclientandroidlib/HttpHeaders.java \
-  ch/boye/httpclientandroidlib/HttpHost.java \
-  ch/boye/httpclientandroidlib/HttpInetConnection.java \
-  ch/boye/httpclientandroidlib/HttpMessage.java \
-  ch/boye/httpclientandroidlib/HttpRequest.java \
-  ch/boye/httpclientandroidlib/HttpRequestFactory.java \
-  ch/boye/httpclientandroidlib/HttpRequestInterceptor.java \
-  ch/boye/httpclientandroidlib/HttpResponse.java \
-  ch/boye/httpclientandroidlib/HttpResponseFactory.java \
-  ch/boye/httpclientandroidlib/HttpResponseInterceptor.java \
-  ch/boye/httpclientandroidlib/HttpServerConnection.java \
-  ch/boye/httpclientandroidlib/HttpStatus.java \
-  ch/boye/httpclientandroidlib/HttpVersion.java \
-  ch/boye/httpclientandroidlib/impl/AbstractHttpClientConnection.java \
-  ch/boye/httpclientandroidlib/impl/AbstractHttpServerConnection.java \
-  ch/boye/httpclientandroidlib/impl/auth/AuthSchemeBase.java \
-  ch/boye/httpclientandroidlib/impl/auth/BasicScheme.java \
-  ch/boye/httpclientandroidlib/impl/auth/BasicSchemeFactory.java \
-  ch/boye/httpclientandroidlib/impl/auth/DigestScheme.java \
-  ch/boye/httpclientandroidlib/impl/auth/DigestSchemeFactory.java \
-  ch/boye/httpclientandroidlib/impl/auth/NTLMEngine.java \
-  ch/boye/httpclientandroidlib/impl/auth/NTLMEngineException.java \
-  ch/boye/httpclientandroidlib/impl/auth/NTLMEngineImpl.java \
-  ch/boye/httpclientandroidlib/impl/auth/NTLMScheme.java \
-  ch/boye/httpclientandroidlib/impl/auth/NTLMSchemeFactory.java \
-  ch/boye/httpclientandroidlib/impl/auth/RFC2617Scheme.java \
-  ch/boye/httpclientandroidlib/impl/auth/SpnegoTokenGenerator.java \
-  ch/boye/httpclientandroidlib/impl/auth/UnsupportedDigestAlgorithmException.java \
-  ch/boye/httpclientandroidlib/impl/client/AbstractAuthenticationHandler.java \
-  ch/boye/httpclientandroidlib/impl/client/AbstractHttpClient.java \
-  ch/boye/httpclientandroidlib/impl/client/BasicAuthCache.java \
-  ch/boye/httpclientandroidlib/impl/client/BasicCookieStore.java \
-  ch/boye/httpclientandroidlib/impl/client/BasicCredentialsProvider.java \
-  ch/boye/httpclientandroidlib/impl/client/BasicResponseHandler.java \
-  ch/boye/httpclientandroidlib/impl/client/ClientParamsStack.java \
-  ch/boye/httpclientandroidlib/impl/client/ContentEncodingHttpClient.java \
-  ch/boye/httpclientandroidlib/impl/client/DefaultConnectionKeepAliveStrategy.java \
-  ch/boye/httpclientandroidlib/impl/client/DefaultHttpClient.java \
-  ch/boye/httpclientandroidlib/impl/client/DefaultHttpRequestRetryHandler.java \
-  ch/boye/httpclientandroidlib/impl/client/DefaultProxyAuthenticationHandler.java \
-  ch/boye/httpclientandroidlib/impl/client/DefaultRedirectHandler.java \
-  ch/boye/httpclientandroidlib/impl/client/DefaultRedirectStrategy.java \
-  ch/boye/httpclientandroidlib/impl/client/DefaultRedirectStrategyAdaptor.java \
-  ch/boye/httpclientandroidlib/impl/client/DefaultRequestDirector.java \
-  ch/boye/httpclientandroidlib/impl/client/DefaultTargetAuthenticationHandler.java \
-  ch/boye/httpclientandroidlib/impl/client/DefaultUserTokenHandler.java \
-  ch/boye/httpclientandroidlib/impl/client/EntityEnclosingRequestWrapper.java \
-  ch/boye/httpclientandroidlib/impl/client/RedirectLocations.java \
-  ch/boye/httpclientandroidlib/impl/client/RequestWrapper.java \
-  ch/boye/httpclientandroidlib/impl/client/RoutedRequest.java \
-  ch/boye/httpclientandroidlib/impl/client/TunnelRefusedException.java \
-  ch/boye/httpclientandroidlib/impl/conn/AbstractClientConnAdapter.java \
-  ch/boye/httpclientandroidlib/impl/conn/AbstractPooledConnAdapter.java \
-  ch/boye/httpclientandroidlib/impl/conn/AbstractPoolEntry.java \
-  ch/boye/httpclientandroidlib/impl/conn/ConnectionShutdownException.java \
-  ch/boye/httpclientandroidlib/impl/conn/DefaultClientConnection.java \
-  ch/boye/httpclientandroidlib/impl/conn/DefaultClientConnectionOperator.java \
-  ch/boye/httpclientandroidlib/impl/conn/DefaultHttpRoutePlanner.java \
-  ch/boye/httpclientandroidlib/impl/conn/DefaultResponseParser.java \
-  ch/boye/httpclientandroidlib/impl/conn/HttpInetSocketAddress.java \
-  ch/boye/httpclientandroidlib/impl/conn/IdleConnectionHandler.java \
-  ch/boye/httpclientandroidlib/impl/conn/LoggingSessionInputBuffer.java \
-  ch/boye/httpclientandroidlib/impl/conn/LoggingSessionOutputBuffer.java \
-  ch/boye/httpclientandroidlib/impl/conn/ProxySelectorRoutePlanner.java \
-  ch/boye/httpclientandroidlib/impl/conn/SchemeRegistryFactory.java \
-  ch/boye/httpclientandroidlib/impl/conn/SingleClientConnManager.java \
-  ch/boye/httpclientandroidlib/impl/conn/tsccm/AbstractConnPool.java \
-  ch/boye/httpclientandroidlib/impl/conn/tsccm/BasicPooledConnAdapter.java \
-  ch/boye/httpclientandroidlib/impl/conn/tsccm/BasicPoolEntry.java \
-  ch/boye/httpclientandroidlib/impl/conn/tsccm/BasicPoolEntryRef.java \
-  ch/boye/httpclientandroidlib/impl/conn/tsccm/ConnPoolByRoute.java \
-  ch/boye/httpclientandroidlib/impl/conn/tsccm/PoolEntryRequest.java \
-  ch/boye/httpclientandroidlib/impl/conn/tsccm/RefQueueHandler.java \
-  ch/boye/httpclientandroidlib/impl/conn/tsccm/RefQueueWorker.java \
-  ch/boye/httpclientandroidlib/impl/conn/tsccm/RouteSpecificPool.java \
-  ch/boye/httpclientandroidlib/impl/conn/tsccm/ThreadSafeClientConnManager.java \
-  ch/boye/httpclientandroidlib/impl/conn/tsccm/WaitingThread.java \
-  ch/boye/httpclientandroidlib/impl/conn/tsccm/WaitingThreadAborter.java \
-  ch/boye/httpclientandroidlib/impl/conn/Wire.java \
-  ch/boye/httpclientandroidlib/impl/cookie/AbstractCookieAttributeHandler.java \
-  ch/boye/httpclientandroidlib/impl/cookie/AbstractCookieSpec.java \
-  ch/boye/httpclientandroidlib/impl/cookie/BasicClientCookie.java \
-  ch/boye/httpclientandroidlib/impl/cookie/BasicClientCookie2.java \
-  ch/boye/httpclientandroidlib/impl/cookie/BasicCommentHandler.java \
-  ch/boye/httpclientandroidlib/impl/cookie/BasicDomainHandler.java \
-  ch/boye/httpclientandroidlib/impl/cookie/BasicExpiresHandler.java \
-  ch/boye/httpclientandroidlib/impl/cookie/BasicMaxAgeHandler.java \
-  ch/boye/httpclientandroidlib/impl/cookie/BasicPathHandler.java \
-  ch/boye/httpclientandroidlib/impl/cookie/BasicSecureHandler.java \
-  ch/boye/httpclientandroidlib/impl/cookie/BestMatchSpec.java \
-  ch/boye/httpclientandroidlib/impl/cookie/BestMatchSpecFactory.java \
-  ch/boye/httpclientandroidlib/impl/cookie/BrowserCompatSpec.java \
-  ch/boye/httpclientandroidlib/impl/cookie/BrowserCompatSpecFactory.java \
-  ch/boye/httpclientandroidlib/impl/cookie/CookieSpecBase.java \
-  ch/boye/httpclientandroidlib/impl/cookie/DateParseException.java \
-  ch/boye/httpclientandroidlib/impl/cookie/DateUtils.java \
-  ch/boye/httpclientandroidlib/impl/cookie/IgnoreSpec.java \
-  ch/boye/httpclientandroidlib/impl/cookie/IgnoreSpecFactory.java \
-  ch/boye/httpclientandroidlib/impl/cookie/NetscapeDomainHandler.java \
-  ch/boye/httpclientandroidlib/impl/cookie/NetscapeDraftHeaderParser.java \
-  ch/boye/httpclientandroidlib/impl/cookie/NetscapeDraftSpec.java \
-  ch/boye/httpclientandroidlib/impl/cookie/NetscapeDraftSpecFactory.java \
-  ch/boye/httpclientandroidlib/impl/cookie/PublicSuffixFilter.java \
-  ch/boye/httpclientandroidlib/impl/cookie/PublicSuffixListParser.java \
-  ch/boye/httpclientandroidlib/impl/cookie/RFC2109DomainHandler.java \
-  ch/boye/httpclientandroidlib/impl/cookie/RFC2109Spec.java \
-  ch/boye/httpclientandroidlib/impl/cookie/RFC2109SpecFactory.java \
-  ch/boye/httpclientandroidlib/impl/cookie/RFC2109VersionHandler.java \
-  ch/boye/httpclientandroidlib/impl/cookie/RFC2965CommentUrlAttributeHandler.java \
-  ch/boye/httpclientandroidlib/impl/cookie/RFC2965DiscardAttributeHandler.java \
-  ch/boye/httpclientandroidlib/impl/cookie/RFC2965DomainAttributeHandler.java \
-  ch/boye/httpclientandroidlib/impl/cookie/RFC2965PortAttributeHandler.java \
-  ch/boye/httpclientandroidlib/impl/cookie/RFC2965Spec.java \
-  ch/boye/httpclientandroidlib/impl/cookie/RFC2965SpecFactory.java \
-  ch/boye/httpclientandroidlib/impl/cookie/RFC2965VersionAttributeHandler.java \
-  ch/boye/httpclientandroidlib/impl/DefaultConnectionReuseStrategy.java \
-  ch/boye/httpclientandroidlib/impl/DefaultHttpClientConnection.java \
-  ch/boye/httpclientandroidlib/impl/DefaultHttpRequestFactory.java \
-  ch/boye/httpclientandroidlib/impl/DefaultHttpResponseFactory.java \
-  ch/boye/httpclientandroidlib/impl/DefaultHttpServerConnection.java \
-  ch/boye/httpclientandroidlib/impl/EnglishReasonPhraseCatalog.java \
-  ch/boye/httpclientandroidlib/impl/entity/EntityDeserializer.java \
-  ch/boye/httpclientandroidlib/impl/entity/EntitySerializer.java \
-  ch/boye/httpclientandroidlib/impl/entity/LaxContentLengthStrategy.java \
-  ch/boye/httpclientandroidlib/impl/entity/StrictContentLengthStrategy.java \
-  ch/boye/httpclientandroidlib/impl/HttpConnectionMetricsImpl.java \
-  ch/boye/httpclientandroidlib/impl/io/AbstractMessageParser.java \
-  ch/boye/httpclientandroidlib/impl/io/AbstractMessageWriter.java \
-  ch/boye/httpclientandroidlib/impl/io/AbstractSessionInputBuffer.java \
-  ch/boye/httpclientandroidlib/impl/io/AbstractSessionOutputBuffer.java \
-  ch/boye/httpclientandroidlib/impl/io/ChunkedInputStream.java \
-  ch/boye/httpclientandroidlib/impl/io/ChunkedOutputStream.java \
-  ch/boye/httpclientandroidlib/impl/io/ContentLengthInputStream.java \
-  ch/boye/httpclientandroidlib/impl/io/ContentLengthOutputStream.java \
-  ch/boye/httpclientandroidlib/impl/io/HttpRequestParser.java \
-  ch/boye/httpclientandroidlib/impl/io/HttpRequestWriter.java \
-  ch/boye/httpclientandroidlib/impl/io/HttpResponseParser.java \
-  ch/boye/httpclientandroidlib/impl/io/HttpResponseWriter.java \
-  ch/boye/httpclientandroidlib/impl/io/HttpTransportMetricsImpl.java \
-  ch/boye/httpclientandroidlib/impl/io/IdentityInputStream.java \
-  ch/boye/httpclientandroidlib/impl/io/IdentityOutputStream.java \
-  ch/boye/httpclientandroidlib/impl/io/SocketInputBuffer.java \
-  ch/boye/httpclientandroidlib/impl/io/SocketOutputBuffer.java \
-  ch/boye/httpclientandroidlib/impl/NoConnectionReuseStrategy.java \
-  ch/boye/httpclientandroidlib/impl/SocketHttpClientConnection.java \
-  ch/boye/httpclientandroidlib/impl/SocketHttpServerConnection.java \
-  ch/boye/httpclientandroidlib/io/BufferInfo.java \
-  ch/boye/httpclientandroidlib/io/EofSensor.java \
-  ch/boye/httpclientandroidlib/io/HttpMessageParser.java \
-  ch/boye/httpclientandroidlib/io/HttpMessageWriter.java \
-  ch/boye/httpclientandroidlib/io/HttpTransportMetrics.java \
-  ch/boye/httpclientandroidlib/io/SessionInputBuffer.java \
-  ch/boye/httpclientandroidlib/io/SessionOutputBuffer.java \
-  ch/boye/httpclientandroidlib/MalformedChunkCodingException.java \
-  ch/boye/httpclientandroidlib/message/AbstractHttpMessage.java \
-  ch/boye/httpclientandroidlib/message/BasicHeader.java \
-  ch/boye/httpclientandroidlib/message/BasicHeaderElement.java \
-  ch/boye/httpclientandroidlib/message/BasicHeaderElementIterator.java \
-  ch/boye/httpclientandroidlib/message/BasicHeaderIterator.java \
-  ch/boye/httpclientandroidlib/message/BasicHeaderValueFormatter.java \
-  ch/boye/httpclientandroidlib/message/BasicHeaderValueParser.java \
-  ch/boye/httpclientandroidlib/message/BasicHttpEntityEnclosingRequest.java \
-  ch/boye/httpclientandroidlib/message/BasicHttpRequest.java \
-  ch/boye/httpclientandroidlib/message/BasicHttpResponse.java \
-  ch/boye/httpclientandroidlib/message/BasicLineFormatter.java \
-  ch/boye/httpclientandroidlib/message/BasicLineParser.java \
-  ch/boye/httpclientandroidlib/message/BasicListHeaderIterator.java \
-  ch/boye/httpclientandroidlib/message/BasicNameValuePair.java \
-  ch/boye/httpclientandroidlib/message/BasicRequestLine.java \
-  ch/boye/httpclientandroidlib/message/BasicStatusLine.java \
-  ch/boye/httpclientandroidlib/message/BasicTokenIterator.java \
-  ch/boye/httpclientandroidlib/message/BufferedHeader.java \
-  ch/boye/httpclientandroidlib/message/HeaderGroup.java \
-  ch/boye/httpclientandroidlib/message/HeaderValueFormatter.java \
-  ch/boye/httpclientandroidlib/message/HeaderValueParser.java \
-  ch/boye/httpclientandroidlib/message/LineFormatter.java \
-  ch/boye/httpclientandroidlib/message/LineParser.java \
-  ch/boye/httpclientandroidlib/message/ParserCursor.java \
-  ch/boye/httpclientandroidlib/MethodNotSupportedException.java \
-  ch/boye/httpclientandroidlib/NameValuePair.java \
-  ch/boye/httpclientandroidlib/NoHttpResponseException.java \
-  ch/boye/httpclientandroidlib/params/AbstractHttpParams.java \
-  ch/boye/httpclientandroidlib/params/BasicHttpParams.java \
-  ch/boye/httpclientandroidlib/params/CoreConnectionPNames.java \
-  ch/boye/httpclientandroidlib/params/CoreProtocolPNames.java \
-  ch/boye/httpclientandroidlib/params/DefaultedHttpParams.java \
-  ch/boye/httpclientandroidlib/params/HttpAbstractParamBean.java \
-  ch/boye/httpclientandroidlib/params/HttpConnectionParamBean.java \
-  ch/boye/httpclientandroidlib/params/HttpConnectionParams.java \
-  ch/boye/httpclientandroidlib/params/HttpParams.java \
-  ch/boye/httpclientandroidlib/params/HttpProtocolParamBean.java \
-  ch/boye/httpclientandroidlib/params/HttpProtocolParams.java \
-  ch/boye/httpclientandroidlib/params/SyncBasicHttpParams.java \
-  ch/boye/httpclientandroidlib/ParseException.java \
-  ch/boye/httpclientandroidlib/protocol/BasicHttpContext.java \
-  ch/boye/httpclientandroidlib/protocol/BasicHttpProcessor.java \
-  ch/boye/httpclientandroidlib/protocol/DefaultedHttpContext.java \
-  ch/boye/httpclientandroidlib/protocol/ExecutionContext.java \
-  ch/boye/httpclientandroidlib/protocol/HTTP.java \
-  ch/boye/httpclientandroidlib/protocol/HttpContext.java \
-  ch/boye/httpclientandroidlib/protocol/HttpDateGenerator.java \
-  ch/boye/httpclientandroidlib/protocol/HttpExpectationVerifier.java \
-  ch/boye/httpclientandroidlib/protocol/HttpProcessor.java \
-  ch/boye/httpclientandroidlib/protocol/HttpRequestExecutor.java \
-  ch/boye/httpclientandroidlib/protocol/HttpRequestHandler.java \
-  ch/boye/httpclientandroidlib/protocol/HttpRequestHandlerRegistry.java \
-  ch/boye/httpclientandroidlib/protocol/HttpRequestHandlerResolver.java \
-  ch/boye/httpclientandroidlib/protocol/HttpRequestInterceptorList.java \
-  ch/boye/httpclientandroidlib/protocol/HttpResponseInterceptorList.java \
-  ch/boye/httpclientandroidlib/protocol/HttpService.java \
-  ch/boye/httpclientandroidlib/protocol/ImmutableHttpProcessor.java \
-  ch/boye/httpclientandroidlib/protocol/RequestConnControl.java \
-  ch/boye/httpclientandroidlib/protocol/RequestContent.java \
-  ch/boye/httpclientandroidlib/protocol/RequestDate.java \
-  ch/boye/httpclientandroidlib/protocol/RequestExpectContinue.java \
-  ch/boye/httpclientandroidlib/protocol/RequestTargetHost.java \
-  ch/boye/httpclientandroidlib/protocol/RequestUserAgent.java \
-  ch/boye/httpclientandroidlib/protocol/ResponseConnControl.java \
-  ch/boye/httpclientandroidlib/protocol/ResponseContent.java \
-  ch/boye/httpclientandroidlib/protocol/ResponseDate.java \
-  ch/boye/httpclientandroidlib/protocol/ResponseServer.java \
-  ch/boye/httpclientandroidlib/protocol/SyncBasicHttpContext.java \
-  ch/boye/httpclientandroidlib/protocol/UriPatternMatcher.java \
-  ch/boye/httpclientandroidlib/ProtocolException.java \
-  ch/boye/httpclientandroidlib/ProtocolVersion.java \
-  ch/boye/httpclientandroidlib/ReasonPhraseCatalog.java \
-  ch/boye/httpclientandroidlib/RequestLine.java \
-  ch/boye/httpclientandroidlib/StatusLine.java \
-  ch/boye/httpclientandroidlib/TokenIterator.java \
-  ch/boye/httpclientandroidlib/TruncatedChunkException.java \
-  ch/boye/httpclientandroidlib/UnsupportedHttpVersionException.java \
-  ch/boye/httpclientandroidlib/util/ByteArrayBuffer.java \
-  ch/boye/httpclientandroidlib/util/CharArrayBuffer.java \
-  ch/boye/httpclientandroidlib/util/EncodingUtils.java \
-  ch/boye/httpclientandroidlib/util/EntityUtils.java \
-  ch/boye/httpclientandroidlib/util/ExceptionUtils.java \
-  ch/boye/httpclientandroidlib/util/LangUtils.java \
-  ch/boye/httpclientandroidlib/util/VersionInfo.java \
-  org/json/simple/ItemList.java \
-  org/json/simple/JSONArray.java \
-  org/json/simple/JSONAware.java \
-  org/json/simple/JSONObject.java \
-  org/json/simple/JSONStreamAware.java \
-  org/json/simple/JSONValue.java \
-  org/json/simple/parser/ContainerFactory.java \
-  org/json/simple/parser/ContentHandler.java \
-  org/json/simple/parser/JSONParser.java \
-  org/json/simple/parser/ParseException.java \
-  org/json/simple/parser/Yylex.java \
-  org/json/simple/parser/Yytoken.java \
-  org/mozilla/apache/commons/codec/binary/Base32.java \
-  org/mozilla/apache/commons/codec/binary/Base32InputStream.java \
-  org/mozilla/apache/commons/codec/binary/Base32OutputStream.java \
-  org/mozilla/apache/commons/codec/binary/Base64.java \
-  org/mozilla/apache/commons/codec/binary/Base64InputStream.java \
-  org/mozilla/apache/commons/codec/binary/Base64OutputStream.java \
-  org/mozilla/apache/commons/codec/binary/BaseNCodec.java \
-  org/mozilla/apache/commons/codec/binary/BaseNCodecInputStream.java \
-  org/mozilla/apache/commons/codec/binary/BaseNCodecOutputStream.java \
-  org/mozilla/apache/commons/codec/binary/BinaryCodec.java \
-  org/mozilla/apache/commons/codec/binary/Hex.java \
-  org/mozilla/apache/commons/codec/binary/StringUtils.java \
-  org/mozilla/apache/commons/codec/BinaryDecoder.java \
-  org/mozilla/apache/commons/codec/BinaryEncoder.java \
-  org/mozilla/apache/commons/codec/CharEncoding.java \
-  org/mozilla/apache/commons/codec/Decoder.java \
-  org/mozilla/apache/commons/codec/DecoderException.java \
-  org/mozilla/apache/commons/codec/digest/DigestUtils.java \
-  org/mozilla/apache/commons/codec/Encoder.java \
-  org/mozilla/apache/commons/codec/EncoderException.java \
-  org/mozilla/apache/commons/codec/language/AbstractCaverphone.java \
-  org/mozilla/apache/commons/codec/language/Caverphone.java \
-  org/mozilla/apache/commons/codec/language/Caverphone1.java \
-  org/mozilla/apache/commons/codec/language/Caverphone2.java \
-  org/mozilla/apache/commons/codec/language/ColognePhonetic.java \
-  org/mozilla/apache/commons/codec/language/DoubleMetaphone.java \
-  org/mozilla/apache/commons/codec/language/Metaphone.java \
-  org/mozilla/apache/commons/codec/language/RefinedSoundex.java \
-  org/mozilla/apache/commons/codec/language/Soundex.java \
-  org/mozilla/apache/commons/codec/language/SoundexUtils.java \
-  org/mozilla/apache/commons/codec/net/BCodec.java \
-  org/mozilla/apache/commons/codec/net/QCodec.java \
-  org/mozilla/apache/commons/codec/net/QuotedPrintableCodec.java \
-  org/mozilla/apache/commons/codec/net/RFC1522Codec.java \
-  org/mozilla/apache/commons/codec/net/URLCodec.java \
-  org/mozilla/apache/commons/codec/net/Utils.java \
-  org/mozilla/apache/commons/codec/StringDecoder.java \
-  org/mozilla/apache/commons/codec/StringEncoder.java \
-  org/mozilla/apache/commons/codec/StringEncoderComparator.java \
-  $(NULL)
-
--- a/mobile/android/base/android-services.mozbuild
+++ b/mobile/android/base/android-services.mozbuild
@@ -21,8 +21,774 @@ ANDROID_RESFILES += [
     'resources/layout/sync_setup_webview.xml',
     'resources/values-large-v11/sync_styles.xml',
     'resources/values-v11/sync_styles.xml',
     'resources/values/sync_styles.xml',
     'resources/xml/sync_authenticator.xml',
     'resources/xml/sync_options.xml',
     'resources/xml/sync_syncadapter.xml',
 ]
+
+sync_thirdparty_java_files = [
+    'ch/boye/httpclientandroidlib/androidextra/HttpClientAndroidLog.java',
+    'ch/boye/httpclientandroidlib/annotation/GuardedBy.java',
+    'ch/boye/httpclientandroidlib/annotation/Immutable.java',
+    'ch/boye/httpclientandroidlib/annotation/NotThreadSafe.java',
+    'ch/boye/httpclientandroidlib/annotation/ThreadSafe.java',
+    'ch/boye/httpclientandroidlib/auth/AUTH.java',
+    'ch/boye/httpclientandroidlib/auth/AuthenticationException.java',
+    'ch/boye/httpclientandroidlib/auth/AuthScheme.java',
+    'ch/boye/httpclientandroidlib/auth/AuthSchemeFactory.java',
+    'ch/boye/httpclientandroidlib/auth/AuthSchemeRegistry.java',
+    'ch/boye/httpclientandroidlib/auth/AuthScope.java',
+    'ch/boye/httpclientandroidlib/auth/AuthState.java',
+    'ch/boye/httpclientandroidlib/auth/BasicUserPrincipal.java',
+    'ch/boye/httpclientandroidlib/auth/ContextAwareAuthScheme.java',
+    'ch/boye/httpclientandroidlib/auth/Credentials.java',
+    'ch/boye/httpclientandroidlib/auth/InvalidCredentialsException.java',
+    'ch/boye/httpclientandroidlib/auth/MalformedChallengeException.java',
+    'ch/boye/httpclientandroidlib/auth/NTCredentials.java',
+    'ch/boye/httpclientandroidlib/auth/NTUserPrincipal.java',
+    'ch/boye/httpclientandroidlib/auth/params/AuthParamBean.java',
+    'ch/boye/httpclientandroidlib/auth/params/AuthParams.java',
+    'ch/boye/httpclientandroidlib/auth/params/AuthPNames.java',
+    'ch/boye/httpclientandroidlib/auth/UsernamePasswordCredentials.java',
+    'ch/boye/httpclientandroidlib/client/AuthCache.java',
+    'ch/boye/httpclientandroidlib/client/AuthenticationHandler.java',
+    'ch/boye/httpclientandroidlib/client/CircularRedirectException.java',
+    'ch/boye/httpclientandroidlib/client/ClientProtocolException.java',
+    'ch/boye/httpclientandroidlib/client/CookieStore.java',
+    'ch/boye/httpclientandroidlib/client/CredentialsProvider.java',
+    'ch/boye/httpclientandroidlib/client/entity/DecompressingEntity.java',
+    'ch/boye/httpclientandroidlib/client/entity/DeflateDecompressingEntity.java',
+    'ch/boye/httpclientandroidlib/client/entity/GzipDecompressingEntity.java',
+    'ch/boye/httpclientandroidlib/client/entity/UrlEncodedFormEntity.java',
+    'ch/boye/httpclientandroidlib/client/HttpClient.java',
+    'ch/boye/httpclientandroidlib/client/HttpRequestRetryHandler.java',
+    'ch/boye/httpclientandroidlib/client/HttpResponseException.java',
+    'ch/boye/httpclientandroidlib/client/methods/AbortableHttpRequest.java',
+    'ch/boye/httpclientandroidlib/client/methods/HttpDelete.java',
+    'ch/boye/httpclientandroidlib/client/methods/HttpEntityEnclosingRequestBase.java',
+    'ch/boye/httpclientandroidlib/client/methods/HttpGet.java',
+    'ch/boye/httpclientandroidlib/client/methods/HttpHead.java',
+    'ch/boye/httpclientandroidlib/client/methods/HttpOptions.java',
+    'ch/boye/httpclientandroidlib/client/methods/HttpPost.java',
+    'ch/boye/httpclientandroidlib/client/methods/HttpPut.java',
+    'ch/boye/httpclientandroidlib/client/methods/HttpRequestBase.java',
+    'ch/boye/httpclientandroidlib/client/methods/HttpTrace.java',
+    'ch/boye/httpclientandroidlib/client/methods/HttpUriRequest.java',
+    'ch/boye/httpclientandroidlib/client/NonRepeatableRequestException.java',
+    'ch/boye/httpclientandroidlib/client/params/AllClientPNames.java',
+    'ch/boye/httpclientandroidlib/client/params/AuthPolicy.java',
+    'ch/boye/httpclientandroidlib/client/params/ClientParamBean.java',
+    'ch/boye/httpclientandroidlib/client/params/ClientPNames.java',
+    'ch/boye/httpclientandroidlib/client/params/CookiePolicy.java',
+    'ch/boye/httpclientandroidlib/client/params/HttpClientParams.java',
+    'ch/boye/httpclientandroidlib/client/protocol/ClientContext.java',
+    'ch/boye/httpclientandroidlib/client/protocol/ClientContextConfigurer.java',
+    'ch/boye/httpclientandroidlib/client/protocol/RequestAcceptEncoding.java',
+    'ch/boye/httpclientandroidlib/client/protocol/RequestAddCookies.java',
+    'ch/boye/httpclientandroidlib/client/protocol/RequestAuthCache.java',
+    'ch/boye/httpclientandroidlib/client/protocol/RequestClientConnControl.java',
+    'ch/boye/httpclientandroidlib/client/protocol/RequestDefaultHeaders.java',
+    'ch/boye/httpclientandroidlib/client/protocol/RequestProxyAuthentication.java',
+    'ch/boye/httpclientandroidlib/client/protocol/RequestTargetAuthentication.java',
+    'ch/boye/httpclientandroidlib/client/protocol/ResponseAuthCache.java',
+    'ch/boye/httpclientandroidlib/client/protocol/ResponseContentEncoding.java',
+    'ch/boye/httpclientandroidlib/client/protocol/ResponseProcessCookies.java',
+    'ch/boye/httpclientandroidlib/client/RedirectException.java',
+    'ch/boye/httpclientandroidlib/client/RedirectHandler.java',
+    'ch/boye/httpclientandroidlib/client/RedirectStrategy.java',
+    'ch/boye/httpclientandroidlib/client/RequestDirector.java',
+    'ch/boye/httpclientandroidlib/client/ResponseHandler.java',
+    'ch/boye/httpclientandroidlib/client/UserTokenHandler.java',
+    'ch/boye/httpclientandroidlib/client/utils/CloneUtils.java',
+    'ch/boye/httpclientandroidlib/client/utils/Idn.java',
+    'ch/boye/httpclientandroidlib/client/utils/JdkIdn.java',
+    'ch/boye/httpclientandroidlib/client/utils/Punycode.java',
+    'ch/boye/httpclientandroidlib/client/utils/Rfc3492Idn.java',
+    'ch/boye/httpclientandroidlib/client/utils/URIUtils.java',
+    'ch/boye/httpclientandroidlib/client/utils/URLEncodedUtils.java',
+    'ch/boye/httpclientandroidlib/conn/BasicEofSensorWatcher.java',
+    'ch/boye/httpclientandroidlib/conn/BasicManagedEntity.java',
+    'ch/boye/httpclientandroidlib/conn/ClientConnectionManager.java',
+    'ch/boye/httpclientandroidlib/conn/ClientConnectionManagerFactory.java',
+    'ch/boye/httpclientandroidlib/conn/ClientConnectionOperator.java',
+    'ch/boye/httpclientandroidlib/conn/ClientConnectionRequest.java',
+    'ch/boye/httpclientandroidlib/conn/ConnectionKeepAliveStrategy.java',
+    'ch/boye/httpclientandroidlib/conn/ConnectionPoolTimeoutException.java',
+    'ch/boye/httpclientandroidlib/conn/ConnectionReleaseTrigger.java',
+    'ch/boye/httpclientandroidlib/conn/ConnectTimeoutException.java',
+    'ch/boye/httpclientandroidlib/conn/EofSensorInputStream.java',
+    'ch/boye/httpclientandroidlib/conn/EofSensorWatcher.java',
+    'ch/boye/httpclientandroidlib/conn/HttpHostConnectException.java',
+    'ch/boye/httpclientandroidlib/conn/HttpRoutedConnection.java',
+    'ch/boye/httpclientandroidlib/conn/ManagedClientConnection.java',
+    'ch/boye/httpclientandroidlib/conn/MultihomePlainSocketFactory.java',
+    'ch/boye/httpclientandroidlib/conn/OperatedClientConnection.java',
+    'ch/boye/httpclientandroidlib/conn/params/ConnConnectionParamBean.java',
+    'ch/boye/httpclientandroidlib/conn/params/ConnConnectionPNames.java',
+    'ch/boye/httpclientandroidlib/conn/params/ConnManagerParamBean.java',
+    'ch/boye/httpclientandroidlib/conn/params/ConnManagerParams.java',
+    'ch/boye/httpclientandroidlib/conn/params/ConnManagerPNames.java',
+    'ch/boye/httpclientandroidlib/conn/params/ConnPerRoute.java',
+    'ch/boye/httpclientandroidlib/conn/params/ConnPerRouteBean.java',
+    'ch/boye/httpclientandroidlib/conn/params/ConnRouteParamBean.java',
+    'ch/boye/httpclientandroidlib/conn/params/ConnRouteParams.java',
+    'ch/boye/httpclientandroidlib/conn/params/ConnRoutePNames.java',
+    'ch/boye/httpclientandroidlib/conn/routing/BasicRouteDirector.java',
+    'ch/boye/httpclientandroidlib/conn/routing/HttpRoute.java',
+    'ch/boye/httpclientandroidlib/conn/routing/HttpRouteDirector.java',
+    'ch/boye/httpclientandroidlib/conn/routing/HttpRoutePlanner.java',
+    'ch/boye/httpclientandroidlib/conn/routing/RouteInfo.java',
+    'ch/boye/httpclientandroidlib/conn/routing/RouteTracker.java',
+    'ch/boye/httpclientandroidlib/conn/scheme/HostNameResolver.java',
+    'ch/boye/httpclientandroidlib/conn/scheme/LayeredSchemeSocketFactory.java',
+    'ch/boye/httpclientandroidlib/conn/scheme/LayeredSchemeSocketFactoryAdaptor.java',
+    'ch/boye/httpclientandroidlib/conn/scheme/LayeredSocketFactory.java',
+    'ch/boye/httpclientandroidlib/conn/scheme/LayeredSocketFactoryAdaptor.java',
+    'ch/boye/httpclientandroidlib/conn/scheme/PlainSocketFactory.java',
+    'ch/boye/httpclientandroidlib/conn/scheme/Scheme.java',
+    'ch/boye/httpclientandroidlib/conn/scheme/SchemeRegistry.java',
+    'ch/boye/httpclientandroidlib/conn/scheme/SchemeSocketFactory.java',
+    'ch/boye/httpclientandroidlib/conn/scheme/SchemeSocketFactoryAdaptor.java',
+    'ch/boye/httpclientandroidlib/conn/scheme/SocketFactory.java',
+    'ch/boye/httpclientandroidlib/conn/scheme/SocketFactoryAdaptor.java',
+    'ch/boye/httpclientandroidlib/conn/ssl/AbstractVerifier.java',
+    'ch/boye/httpclientandroidlib/conn/ssl/AllowAllHostnameVerifier.java',
+    'ch/boye/httpclientandroidlib/conn/ssl/BrowserCompatHostnameVerifier.java',
+    'ch/boye/httpclientandroidlib/conn/ssl/SSLSocketFactory.java',
+    'ch/boye/httpclientandroidlib/conn/ssl/StrictHostnameVerifier.java',
+    'ch/boye/httpclientandroidlib/conn/ssl/TrustManagerDecorator.java',
+    'ch/boye/httpclientandroidlib/conn/ssl/TrustSelfSignedStrategy.java',
+    'ch/boye/httpclientandroidlib/conn/ssl/TrustStrategy.java',
+    'ch/boye/httpclientandroidlib/conn/ssl/X509HostnameVerifier.java',
+    'ch/boye/httpclientandroidlib/conn/util/InetAddressUtils.java',
+    'ch/boye/httpclientandroidlib/ConnectionClosedException.java',
+    'ch/boye/httpclientandroidlib/ConnectionReuseStrategy.java',
+    'ch/boye/httpclientandroidlib/cookie/ClientCookie.java',
+    'ch/boye/httpclientandroidlib/cookie/Cookie.java',
+    'ch/boye/httpclientandroidlib/cookie/CookieAttributeHandler.java',
+    'ch/boye/httpclientandroidlib/cookie/CookieIdentityComparator.java',
+    'ch/boye/httpclientandroidlib/cookie/CookieOrigin.java',
+    'ch/boye/httpclientandroidlib/cookie/CookiePathComparator.java',
+    'ch/boye/httpclientandroidlib/cookie/CookieRestrictionViolationException.java',
+    'ch/boye/httpclientandroidlib/cookie/CookieSpec.java',
+    'ch/boye/httpclientandroidlib/cookie/CookieSpecFactory.java',
+    'ch/boye/httpclientandroidlib/cookie/CookieSpecRegistry.java',
+    'ch/boye/httpclientandroidlib/cookie/MalformedCookieException.java',
+    'ch/boye/httpclientandroidlib/cookie/params/CookieSpecParamBean.java',
+    'ch/boye/httpclientandroidlib/cookie/params/CookieSpecPNames.java',
+    'ch/boye/httpclientandroidlib/cookie/SetCookie.java',
+    'ch/boye/httpclientandroidlib/cookie/SetCookie2.java',
+    'ch/boye/httpclientandroidlib/cookie/SM.java',
+    'ch/boye/httpclientandroidlib/entity/AbstractHttpEntity.java',
+    'ch/boye/httpclientandroidlib/entity/BasicHttpEntity.java',
+    'ch/boye/httpclientandroidlib/entity/BufferedHttpEntity.java',
+    'ch/boye/httpclientandroidlib/entity/ByteArrayEntity.java',
+    'ch/boye/httpclientandroidlib/entity/ContentLengthStrategy.java',
+    'ch/boye/httpclientandroidlib/entity/ContentProducer.java',
+    'ch/boye/httpclientandroidlib/entity/EntityTemplate.java',
+    'ch/boye/httpclientandroidlib/entity/FileEntity.java',
+    'ch/boye/httpclientandroidlib/entity/HttpEntityWrapper.java',
+    'ch/boye/httpclientandroidlib/entity/InputStreamEntity.java',
+    'ch/boye/httpclientandroidlib/entity/SerializableEntity.java',
+    'ch/boye/httpclientandroidlib/entity/StringEntity.java',
+    'ch/boye/httpclientandroidlib/FormattedHeader.java',
+    'ch/boye/httpclientandroidlib/Header.java',
+    'ch/boye/httpclientandroidlib/HeaderElement.java',
+    'ch/boye/httpclientandroidlib/HeaderElementIterator.java',
+    'ch/boye/httpclientandroidlib/HeaderIterator.java',
+    'ch/boye/httpclientandroidlib/HttpClientConnection.java',
+    'ch/boye/httpclientandroidlib/HttpConnection.java',
+    'ch/boye/httpclientandroidlib/HttpConnectionMetrics.java',
+    'ch/boye/httpclientandroidlib/HttpEntity.java',
+    'ch/boye/httpclientandroidlib/HttpEntityEnclosingRequest.java',
+    'ch/boye/httpclientandroidlib/HttpException.java',
+    'ch/boye/httpclientandroidlib/HttpHeaders.java',
+    'ch/boye/httpclientandroidlib/HttpHost.java',
+    'ch/boye/httpclientandroidlib/HttpInetConnection.java',
+    'ch/boye/httpclientandroidlib/HttpMessage.java',
+    'ch/boye/httpclientandroidlib/HttpRequest.java',
+    'ch/boye/httpclientandroidlib/HttpRequestFactory.java',
+    'ch/boye/httpclientandroidlib/HttpRequestInterceptor.java',
+    'ch/boye/httpclientandroidlib/HttpResponse.java',
+    'ch/boye/httpclientandroidlib/HttpResponseFactory.java',
+    'ch/boye/httpclientandroidlib/HttpResponseInterceptor.java',
+    'ch/boye/httpclientandroidlib/HttpServerConnection.java',
+    'ch/boye/httpclientandroidlib/HttpStatus.java',
+    'ch/boye/httpclientandroidlib/HttpVersion.java',
+    'ch/boye/httpclientandroidlib/impl/AbstractHttpClientConnection.java',
+    'ch/boye/httpclientandroidlib/impl/AbstractHttpServerConnection.java',
+    'ch/boye/httpclientandroidlib/impl/auth/AuthSchemeBase.java',
+    'ch/boye/httpclientandroidlib/impl/auth/BasicScheme.java',
+    'ch/boye/httpclientandroidlib/impl/auth/BasicSchemeFactory.java',
+    'ch/boye/httpclientandroidlib/impl/auth/DigestScheme.java',
+    'ch/boye/httpclientandroidlib/impl/auth/DigestSchemeFactory.java',
+    'ch/boye/httpclientandroidlib/impl/auth/NTLMEngine.java',
+    'ch/boye/httpclientandroidlib/impl/auth/NTLMEngineException.java',
+    'ch/boye/httpclientandroidlib/impl/auth/NTLMEngineImpl.java',
+    'ch/boye/httpclientandroidlib/impl/auth/NTLMScheme.java',
+    'ch/boye/httpclientandroidlib/impl/auth/NTLMSchemeFactory.java',
+    'ch/boye/httpclientandroidlib/impl/auth/RFC2617Scheme.java',
+    'ch/boye/httpclientandroidlib/impl/auth/SpnegoTokenGenerator.java',
+    'ch/boye/httpclientandroidlib/impl/auth/UnsupportedDigestAlgorithmException.java',
+    'ch/boye/httpclientandroidlib/impl/client/AbstractAuthenticationHandler.java',
+    'ch/boye/httpclientandroidlib/impl/client/AbstractHttpClient.java',
+    'ch/boye/httpclientandroidlib/impl/client/BasicAuthCache.java',
+    'ch/boye/httpclientandroidlib/impl/client/BasicCookieStore.java',
+    'ch/boye/httpclientandroidlib/impl/client/BasicCredentialsProvider.java',
+    'ch/boye/httpclientandroidlib/impl/client/BasicResponseHandler.java',
+    'ch/boye/httpclientandroidlib/impl/client/ClientParamsStack.java',
+    'ch/boye/httpclientandroidlib/impl/client/ContentEncodingHttpClient.java',
+    'ch/boye/httpclientandroidlib/impl/client/DefaultConnectionKeepAliveStrategy.java',
+    'ch/boye/httpclientandroidlib/impl/client/DefaultHttpClient.java',
+    'ch/boye/httpclientandroidlib/impl/client/DefaultHttpRequestRetryHandler.java',
+    'ch/boye/httpclientandroidlib/impl/client/DefaultProxyAuthenticationHandler.java',
+    'ch/boye/httpclientandroidlib/impl/client/DefaultRedirectHandler.java',
+    'ch/boye/httpclientandroidlib/impl/client/DefaultRedirectStrategy.java',
+    'ch/boye/httpclientandroidlib/impl/client/DefaultRedirectStrategyAdaptor.java',
+    'ch/boye/httpclientandroidlib/impl/client/DefaultRequestDirector.java',
+    'ch/boye/httpclientandroidlib/impl/client/DefaultTargetAuthenticationHandler.java',
+    'ch/boye/httpclientandroidlib/impl/client/DefaultUserTokenHandler.java',
+    'ch/boye/httpclientandroidlib/impl/client/EntityEnclosingRequestWrapper.java',
+    'ch/boye/httpclientandroidlib/impl/client/RedirectLocations.java',
+    'ch/boye/httpclientandroidlib/impl/client/RequestWrapper.java',
+    'ch/boye/httpclientandroidlib/impl/client/RoutedRequest.java',
+    'ch/boye/httpclientandroidlib/impl/client/TunnelRefusedException.java',
+    'ch/boye/httpclientandroidlib/impl/conn/AbstractClientConnAdapter.java',
+    'ch/boye/httpclientandroidlib/impl/conn/AbstractPooledConnAdapter.java',
+    'ch/boye/httpclientandroidlib/impl/conn/AbstractPoolEntry.java',
+    'ch/boye/httpclientandroidlib/impl/conn/ConnectionShutdownException.java',
+    'ch/boye/httpclientandroidlib/impl/conn/DefaultClientConnection.java',
+    'ch/boye/httpclientandroidlib/impl/conn/DefaultClientConnectionOperator.java',
+    'ch/boye/httpclientandroidlib/impl/conn/DefaultHttpRoutePlanner.java',
+    'ch/boye/httpclientandroidlib/impl/conn/DefaultResponseParser.java',
+    'ch/boye/httpclientandroidlib/impl/conn/HttpInetSocketAddress.java',
+    'ch/boye/httpclientandroidlib/impl/conn/IdleConnectionHandler.java',
+    'ch/boye/httpclientandroidlib/impl/conn/LoggingSessionInputBuffer.java',
+    'ch/boye/httpclientandroidlib/impl/conn/LoggingSessionOutputBuffer.java',
+    'ch/boye/httpclientandroidlib/impl/conn/ProxySelectorRoutePlanner.java',
+    'ch/boye/httpclientandroidlib/impl/conn/SchemeRegistryFactory.java',
+    'ch/boye/httpclientandroidlib/impl/conn/SingleClientConnManager.java',
+    'ch/boye/httpclientandroidlib/impl/conn/tsccm/AbstractConnPool.java',
+    'ch/boye/httpclientandroidlib/impl/conn/tsccm/BasicPooledConnAdapter.java',
+    'ch/boye/httpclientandroidlib/impl/conn/tsccm/BasicPoolEntry.java',
+    'ch/boye/httpclientandroidlib/impl/conn/tsccm/BasicPoolEntryRef.java',
+    'ch/boye/httpclientandroidlib/impl/conn/tsccm/ConnPoolByRoute.java',
+    'ch/boye/httpclientandroidlib/impl/conn/tsccm/PoolEntryRequest.java',
+    'ch/boye/httpclientandroidlib/impl/conn/tsccm/RefQueueHandler.java',
+    'ch/boye/httpclientandroidlib/impl/conn/tsccm/RefQueueWorker.java',
+    'ch/boye/httpclientandroidlib/impl/conn/tsccm/RouteSpecificPool.java',
+    'ch/boye/httpclientandroidlib/impl/conn/tsccm/ThreadSafeClientConnManager.java',
+    'ch/boye/httpclientandroidlib/impl/conn/tsccm/WaitingThread.java',
+    'ch/boye/httpclientandroidlib/impl/conn/tsccm/WaitingThreadAborter.java',
+    'ch/boye/httpclientandroidlib/impl/conn/Wire.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/AbstractCookieAttributeHandler.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/AbstractCookieSpec.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/BasicClientCookie.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/BasicClientCookie2.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/BasicCommentHandler.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/BasicDomainHandler.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/BasicExpiresHandler.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/BasicMaxAgeHandler.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/BasicPathHandler.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/BasicSecureHandler.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/BestMatchSpec.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/BestMatchSpecFactory.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/BrowserCompatSpec.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/BrowserCompatSpecFactory.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/CookieSpecBase.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/DateParseException.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/DateUtils.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/IgnoreSpec.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/IgnoreSpecFactory.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/NetscapeDomainHandler.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/NetscapeDraftHeaderParser.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/NetscapeDraftSpec.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/NetscapeDraftSpecFactory.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/PublicSuffixFilter.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/PublicSuffixListParser.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/RFC2109DomainHandler.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/RFC2109Spec.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/RFC2109SpecFactory.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/RFC2109VersionHandler.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/RFC2965CommentUrlAttributeHandler.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/RFC2965DiscardAttributeHandler.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/RFC2965DomainAttributeHandler.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/RFC2965PortAttributeHandler.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/RFC2965Spec.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/RFC2965SpecFactory.java',
+    'ch/boye/httpclientandroidlib/impl/cookie/RFC2965VersionAttributeHandler.java',
+    'ch/boye/httpclientandroidlib/impl/DefaultConnectionReuseStrategy.java',
+    'ch/boye/httpclientandroidlib/impl/DefaultHttpClientConnection.java',
+    'ch/boye/httpclientandroidlib/impl/DefaultHttpRequestFactory.java',
+    'ch/boye/httpclientandroidlib/impl/DefaultHttpResponseFactory.java',
+    'ch/boye/httpclientandroidlib/impl/DefaultHttpServerConnection.java',
+    'ch/boye/httpclientandroidlib/impl/EnglishReasonPhraseCatalog.java',
+    'ch/boye/httpclientandroidlib/impl/entity/EntityDeserializer.java',
+    'ch/boye/httpclientandroidlib/impl/entity/EntitySerializer.java',
+    'ch/boye/httpclientandroidlib/impl/entity/LaxContentLengthStrategy.java',
+    'ch/boye/httpclientandroidlib/impl/entity/StrictContentLengthStrategy.java',
+    'ch/boye/httpclientandroidlib/impl/HttpConnectionMetricsImpl.java',
+    'ch/boye/httpclientandroidlib/impl/io/AbstractMessageParser.java',
+    'ch/boye/httpclientandroidlib/impl/io/AbstractMessageWriter.java',
+    'ch/boye/httpclientandroidlib/impl/io/AbstractSessionInputBuffer.java',
+    'ch/boye/httpclientandroidlib/impl/io/AbstractSessionOutputBuffer.java',
+    'ch/boye/httpclientandroidlib/impl/io/ChunkedInputStream.java',
+    'ch/boye/httpclientandroidlib/impl/io/ChunkedOutputStream.java',
+    'ch/boye/httpclientandroidlib/impl/io/ContentLengthInputStream.java',
+    'ch/boye/httpclientandroidlib/impl/io/ContentLengthOutputStream.java',
+    'ch/boye/httpclientandroidlib/impl/io/HttpRequestParser.java',
+    'ch/boye/httpclientandroidlib/impl/io/HttpRequestWriter.java',
+    'ch/boye/httpclientandroidlib/impl/io/HttpResponseParser.java',
+    'ch/boye/httpclientandroidlib/impl/io/HttpResponseWriter.java',
+    'ch/boye/httpclientandroidlib/impl/io/HttpTransportMetricsImpl.java',
+    'ch/boye/httpclientandroidlib/impl/io/IdentityInputStream.java',
+    'ch/boye/httpclientandroidlib/impl/io/IdentityOutputStream.java',
+    'ch/boye/httpclientandroidlib/impl/io/SocketInputBuffer.java',
+    'ch/boye/httpclientandroidlib/impl/io/SocketOutputBuffer.java',
+    'ch/boye/httpclientandroidlib/impl/NoConnectionReuseStrategy.java',
+    'ch/boye/httpclientandroidlib/impl/SocketHttpClientConnection.java',
+    'ch/boye/httpclientandroidlib/impl/SocketHttpServerConnection.java',
+    'ch/boye/httpclientandroidlib/io/BufferInfo.java',
+    'ch/boye/httpclientandroidlib/io/EofSensor.java',
+    'ch/boye/httpclientandroidlib/io/HttpMessageParser.java',
+    'ch/boye/httpclientandroidlib/io/HttpMessageWriter.java',
+    'ch/boye/httpclientandroidlib/io/HttpTransportMetrics.java',
+    'ch/boye/httpclientandroidlib/io/SessionInputBuffer.java',
+    'ch/boye/httpclientandroidlib/io/SessionOutputBuffer.java',
+    'ch/boye/httpclientandroidlib/MalformedChunkCodingException.java',
+    'ch/boye/httpclientandroidlib/message/AbstractHttpMessage.java',
+    'ch/boye/httpclientandroidlib/message/BasicHeader.java',
+    'ch/boye/httpclientandroidlib/message/BasicHeaderElement.java',
+    'ch/boye/httpclientandroidlib/message/BasicHeaderElementIterator.java',
+    'ch/boye/httpclientandroidlib/message/BasicHeaderIterator.java',
+    'ch/boye/httpclientandroidlib/message/BasicHeaderValueFormatter.java',
+    'ch/boye/httpclientandroidlib/message/BasicHeaderValueParser.java',
+    'ch/boye/httpclientandroidlib/message/BasicHttpEntityEnclosingRequest.java',
+    'ch/boye/httpclientandroidlib/message/BasicHttpRequest.java',
+    'ch/boye/httpclientandroidlib/message/BasicHttpResponse.java',
+    'ch/boye/httpclientandroidlib/message/BasicLineFormatter.java',
+    'ch/boye/httpclientandroidlib/message/BasicLineParser.java',
+    'ch/boye/httpclientandroidlib/message/BasicListHeaderIterator.java',
+    'ch/boye/httpclientandroidlib/message/BasicNameValuePair.java',
+    'ch/boye/httpclientandroidlib/message/BasicRequestLine.java',
+    'ch/boye/httpclientandroidlib/message/BasicStatusLine.java',
+    'ch/boye/httpclientandroidlib/message/BasicTokenIterator.java',
+    'ch/boye/httpclientandroidlib/message/BufferedHeader.java',
+    'ch/boye/httpclientandroidlib/message/HeaderGroup.java',
+    'ch/boye/httpclientandroidlib/message/HeaderValueFormatter.java',
+    'ch/boye/httpclientandroidlib/message/HeaderValueParser.java',
+    'ch/boye/httpclientandroidlib/message/LineFormatter.java',
+    'ch/boye/httpclientandroidlib/message/LineParser.java',
+    'ch/boye/httpclientandroidlib/message/ParserCursor.java',
+    'ch/boye/httpclientandroidlib/MethodNotSupportedException.java',
+    'ch/boye/httpclientandroidlib/NameValuePair.java',
+    'ch/boye/httpclientandroidlib/NoHttpResponseException.java',
+    'ch/boye/httpclientandroidlib/params/AbstractHttpParams.java',
+    'ch/boye/httpclientandroidlib/params/BasicHttpParams.java',
+    'ch/boye/httpclientandroidlib/params/CoreConnectionPNames.java',
+    'ch/boye/httpclientandroidlib/params/CoreProtocolPNames.java',
+    'ch/boye/httpclientandroidlib/params/DefaultedHttpParams.java',
+    'ch/boye/httpclientandroidlib/params/HttpAbstractParamBean.java',
+    'ch/boye/httpclientandroidlib/params/HttpConnectionParamBean.java',
+    'ch/boye/httpclientandroidlib/params/HttpConnectionParams.java',
+    'ch/boye/httpclientandroidlib/params/HttpParams.java',
+    'ch/boye/httpclientandroidlib/params/HttpProtocolParamBean.java',
+    'ch/boye/httpclientandroidlib/params/HttpProtocolParams.java',
+    'ch/boye/httpclientandroidlib/params/SyncBasicHttpParams.java',
+    'ch/boye/httpclientandroidlib/ParseException.java',
+    'ch/boye/httpclientandroidlib/protocol/BasicHttpContext.java',
+    'ch/boye/httpclientandroidlib/protocol/BasicHttpProcessor.java',
+    'ch/boye/httpclientandroidlib/protocol/DefaultedHttpContext.java',
+    'ch/boye/httpclientandroidlib/protocol/ExecutionContext.java',
+    'ch/boye/httpclientandroidlib/protocol/HTTP.java',
+    'ch/boye/httpclientandroidlib/protocol/HttpContext.java',
+    'ch/boye/httpclientandroidlib/protocol/HttpDateGenerator.java',
+    'ch/boye/httpclientandroidlib/protocol/HttpExpectationVerifier.java',
+    'ch/boye/httpclientandroidlib/protocol/HttpProcessor.java',
+    'ch/boye/httpclientandroidlib/protocol/HttpRequestExecutor.java',
+    'ch/boye/httpclientandroidlib/protocol/HttpRequestHandler.java',
+    'ch/boye/httpclientandroidlib/protocol/HttpRequestHandlerRegistry.java',
+    'ch/boye/httpclientandroidlib/protocol/HttpRequestHandlerResolver.java',
+    'ch/boye/httpclientandroidlib/protocol/HttpRequestInterceptorList.java',
+    'ch/boye/httpclientandroidlib/protocol/HttpResponseInterceptorList.java',
+    'ch/boye/httpclientandroidlib/protocol/HttpService.java',
+    'ch/boye/httpclientandroidlib/protocol/ImmutableHttpProcessor.java',
+    'ch/boye/httpclientandroidlib/protocol/RequestConnControl.java',
+    'ch/boye/httpclientandroidlib/protocol/RequestContent.java',
+    'ch/boye/httpclientandroidlib/protocol/RequestDate.java',
+    'ch/boye/httpclientandroidlib/protocol/RequestExpectContinue.java',
+    'ch/boye/httpclientandroidlib/protocol/RequestTargetHost.java',
+    'ch/boye/httpclientandroidlib/protocol/RequestUserAgent.java',
+    'ch/boye/httpclientandroidlib/protocol/ResponseConnControl.java',
+    'ch/boye/httpclientandroidlib/protocol/ResponseContent.java',
+    'ch/boye/httpclientandroidlib/protocol/ResponseDate.java',
+    'ch/boye/httpclientandroidlib/protocol/ResponseServer.java',
+    'ch/boye/httpclientandroidlib/protocol/SyncBasicHttpContext.java',
+    'ch/boye/httpclientandroidlib/protocol/UriPatternMatcher.java',
+    'ch/boye/httpclientandroidlib/ProtocolException.java',
+    'ch/boye/httpclientandroidlib/ProtocolVersion.java',
+    'ch/boye/httpclientandroidlib/ReasonPhraseCatalog.java',
+    'ch/boye/httpclientandroidlib/RequestLine.java',
+    'ch/boye/httpclientandroidlib/StatusLine.java',
+    'ch/boye/httpclientandroidlib/TokenIterator.java',
+    'ch/boye/httpclientandroidlib/TruncatedChunkException.java',
+    'ch/boye/httpclientandroidlib/UnsupportedHttpVersionException.java',
+    'ch/boye/httpclientandroidlib/util/ByteArrayBuffer.java',
+    'ch/boye/httpclientandroidlib/util/CharArrayBuffer.java',
+    'ch/boye/httpclientandroidlib/util/EncodingUtils.java',
+    'ch/boye/httpclientandroidlib/util/EntityUtils.java',
+    'ch/boye/httpclientandroidlib/util/ExceptionUtils.java',
+    'ch/boye/httpclientandroidlib/util/LangUtils.java',
+    'ch/boye/httpclientandroidlib/util/VersionInfo.java',
+    'org/json/simple/ItemList.java',
+    'org/json/simple/JSONArray.java',
+    'org/json/simple/JSONAware.java',
+    'org/json/simple/JSONObject.java',
+    'org/json/simple/JSONStreamAware.java',
+    'org/json/simple/JSONValue.java',
+    'org/json/simple/parser/ContainerFactory.java',
+    'org/json/simple/parser/ContentHandler.java',
+    'org/json/simple/parser/JSONParser.java',
+    'org/json/simple/parser/ParseException.java',
+    'org/json/simple/parser/Yylex.java',
+    'org/json/simple/parser/Yytoken.java',
+    'org/mozilla/apache/commons/codec/binary/Base32.java',
+    'org/mozilla/apache/commons/codec/binary/Base32InputStream.java',
+    'org/mozilla/apache/commons/codec/binary/Base32OutputStream.java',
+    'org/mozilla/apache/commons/codec/binary/Base64.java',
+    'org/mozilla/apache/commons/codec/binary/Base64InputStream.java',
+    'org/mozilla/apache/commons/codec/binary/Base64OutputStream.java',
+    'org/mozilla/apache/commons/codec/binary/BaseNCodec.java',
+    'org/mozilla/apache/commons/codec/binary/BaseNCodecInputStream.java',
+    'org/mozilla/apache/commons/codec/binary/BaseNCodecOutputStream.java',
+    'org/mozilla/apache/commons/codec/binary/BinaryCodec.java',
+    'org/mozilla/apache/commons/codec/binary/Hex.java',
+    'org/mozilla/apache/commons/codec/binary/StringUtils.java',
+    'org/mozilla/apache/commons/codec/BinaryDecoder.java',
+    'org/mozilla/apache/commons/codec/BinaryEncoder.java',
+    'org/mozilla/apache/commons/codec/CharEncoding.java',
+    'org/mozilla/apache/commons/codec/Decoder.java',
+    'org/mozilla/apache/commons/codec/DecoderException.java',
+    'org/mozilla/apache/commons/codec/digest/DigestUtils.java',
+    'org/mozilla/apache/commons/codec/Encoder.java',
+    'org/mozilla/apache/commons/codec/EncoderException.java',
+    'org/mozilla/apache/commons/codec/language/AbstractCaverphone.java',
+    'org/mozilla/apache/commons/codec/language/Caverphone.java',
+    'org/mozilla/apache/commons/codec/language/Caverphone1.java',
+    'org/mozilla/apache/commons/codec/language/Caverphone2.java',
+    'org/mozilla/apache/commons/codec/language/ColognePhonetic.java',
+    'org/mozilla/apache/commons/codec/language/DoubleMetaphone.java',
+    'org/mozilla/apache/commons/codec/language/Metaphone.java',
+    'org/mozilla/apache/commons/codec/language/RefinedSoundex.java',
+    'org/mozilla/apache/commons/codec/language/Soundex.java',
+    'org/mozilla/apache/commons/codec/language/SoundexUtils.java',
+    'org/mozilla/apache/commons/codec/net/BCodec.java',
+    'org/mozilla/apache/commons/codec/net/QCodec.java',
+    'org/mozilla/apache/commons/codec/net/QuotedPrintableCodec.java',
+    'org/mozilla/apache/commons/codec/net/RFC1522Codec.java',
+    'org/mozilla/apache/commons/codec/net/URLCodec.java',
+    'org/mozilla/apache/commons/codec/net/Utils.java',
+    'org/mozilla/apache/commons/codec/StringDecoder.java',
+    'org/mozilla/apache/commons/codec/StringEncoder.java',
+    'org/mozilla/apache/commons/codec/StringEncoderComparator.java',
+]
+
+sync_java_files = [
+    'background/announcements/Announcement.java',
+    'background/announcements/AnnouncementPresenter.java',
+    'background/announcements/AnnouncementsBroadcastReceiver.java',
+    'background/announcements/AnnouncementsBroadcastService.java',
+    'background/announcements/AnnouncementsFetchDelegate.java',
+    'background/announcements/AnnouncementsFetcher.java',
+    'background/announcements/AnnouncementsFetchResourceDelegate.java',
+    'background/announcements/AnnouncementsService.java',
+    'background/BackgroundService.java',
+    'background/bagheera/BagheeraClient.java',
+    'background/bagheera/BagheeraRequestDelegate.java',
+    'background/bagheera/BoundedByteArrayEntity.java',
+    'background/bagheera/DeflateHelper.java',
+    'background/common/DateUtils.java',
+    'background/common/log/Logger.java',
+    'background/common/log/writers/AndroidLevelCachingLogWriter.java',
+    'background/common/log/writers/AndroidLogWriter.java',
+    'background/common/log/writers/LevelFilteringLogWriter.java',
+    'background/common/log/writers/LogWriter.java',
+    'background/common/log/writers/PrintLogWriter.java',
+    'background/common/log/writers/SimpleTagLogWriter.java',
+    'background/common/log/writers/StringLogWriter.java',
+    'background/common/log/writers/TagLogWriter.java',
+    'background/common/log/writers/ThreadLocalTagLogWriter.java',
+    'background/datareporting/TelemetryRecorder.java',
+    'background/db/CursorDumper.java',
+    'background/db/Tab.java',
+    'background/healthreport/Environment.java',
+    'background/healthreport/EnvironmentBuilder.java',
+    'background/healthreport/EnvironmentV1.java',
+    'background/healthreport/HealthReportBroadcastReceiver.java',
+    'background/healthreport/HealthReportBroadcastService.java',
+    'background/healthreport/HealthReportDatabases.java',
+    'background/healthreport/HealthReportDatabaseStorage.java',
+    'background/healthreport/HealthReportGenerator.java',
+    'background/healthreport/HealthReportProvider.java',
+    'background/healthreport/HealthReportStorage.java',
+    'background/healthreport/HealthReportUtils.java',
+    'background/healthreport/ProfileInformationCache.java',
+    'background/healthreport/prune/HealthReportPruneService.java',
+    'background/healthreport/prune/PrunePolicy.java',
+    'background/healthreport/prune/PrunePolicyDatabaseStorage.java',
+    'background/healthreport/prune/PrunePolicyStorage.java',
+    'background/healthreport/upload/AndroidSubmissionClient.java',
+    'background/healthreport/upload/HealthReportUploadService.java',
+    'background/healthreport/upload/ObsoleteDocumentTracker.java',
+    'background/healthreport/upload/SubmissionClient.java',
+    'background/healthreport/upload/SubmissionPolicy.java',
+    'sync/AlreadySyncingException.java',
+    'sync/CollectionKeys.java',
+    'sync/CommandProcessor.java',
+    'sync/CommandRunner.java',
+    'sync/config/AccountPickler.java',
+    'sync/config/activities/SelectEnginesActivity.java',
+    'sync/config/ClientRecordTerminator.java',
+    'sync/config/ConfigurationMigrator.java',
+    'sync/CredentialException.java',
+    'sync/CredentialsSource.java',
+    'sync/crypto/CryptoException.java',
+    'sync/crypto/CryptoInfo.java',
+    'sync/crypto/HKDF.java',
+    'sync/crypto/HMACVerificationException.java',
+    'sync/crypto/KeyBundle.java',
+    'sync/crypto/MissingCryptoInputException.java',
+    'sync/crypto/NoKeyBundleException.java',
+    'sync/crypto/PersistedCrypto5Keys.java',
+    'sync/CryptoRecord.java',
+    'sync/DelayedWorkTracker.java',
+    'sync/delegates/ClientsDataDelegate.java',
+    'sync/delegates/FreshStartDelegate.java',
+    'sync/delegates/GlobalSessionCallback.java',
+    'sync/delegates/JSONRecordFetchDelegate.java',
+    'sync/delegates/KeyUploadDelegate.java',
+    'sync/delegates/MetaGlobalDelegate.java',
+    'sync/delegates/WipeServerDelegate.java',
+    'sync/EngineSettings.java',
+    'sync/ExtendedJSONObject.java',
+    'sync/GlobalSession.java',
+    'sync/HTTPFailureException.java',
+    'sync/InfoCollections.java',
+    'sync/InfoCounts.java',
+    'sync/jpake/BigIntegerHelper.java',
+    'sync/jpake/Gx3OrGx4IsZeroOrOneException.java',
+    'sync/jpake/IncorrectZkpException.java',
+    'sync/jpake/JPakeClient.java',
+    'sync/jpake/JPakeCrypto.java',
+    'sync/jpake/JPakeJson.java',
+    'sync/jpake/JPakeNoActivePairingException.java',
+    'sync/jpake/JPakeNumGenerator.java',
+    'sync/jpake/JPakeNumGeneratorRandom.java',
+    'sync/jpake/JPakeParty.java',
+    'sync/jpake/stage/CompleteStage.java',
+    'sync/jpake/stage/ComputeFinalStage.java',
+    'sync/jpake/stage/ComputeKeyVerificationStage.java',
+    'sync/jpake/stage/ComputeStepOneStage.java',
+    'sync/jpake/stage/ComputeStepTwoStage.java',
+    'sync/jpake/stage/DecryptDataStage.java',
+    'sync/jpake/stage/DeleteChannel.java',
+    'sync/jpake/stage/GetChannelStage.java',
+    'sync/jpake/stage/GetRequestStage.java',
+    'sync/jpake/stage/JPakeStage.java',
+    'sync/jpake/stage/PutRequestStage.java',
+    'sync/jpake/stage/VerifyPairingStage.java',
+    'sync/jpake/Zkp.java',
+    'sync/JSONRecordFetcher.java',
+    'sync/KeyBundleProvider.java',
+    'sync/MetaGlobal.java',
+    'sync/MetaGlobalException.java',
+    'sync/MetaGlobalMissingEnginesException.java',
+    'sync/MetaGlobalNotSetException.java',
+    'sync/middleware/Crypto5MiddlewareRepository.java',
+    'sync/middleware/Crypto5MiddlewareRepositorySession.java',
+    'sync/middleware/MiddlewareRepository.java',
+    'sync/middleware/MiddlewareRepositorySession.java',
+    'sync/net/AuthHeaderProvider.java',
+    'sync/net/BaseResource.java',
+    'sync/net/BaseResourceDelegate.java',
+    'sync/net/BasicAuthHeaderProvider.java',
+    'sync/net/BrowserIDAuthHeaderProvider.java',
+    'sync/net/ConnectionMonitorThread.java',
+    'sync/net/HandleProgressException.java',
+    'sync/net/HawkAuthHeaderProvider.java',
+    'sync/net/HMACAuthHeaderProvider.java',
+    'sync/net/HttpResponseObserver.java',
+    'sync/net/Resource.java',
+    'sync/net/ResourceDelegate.java',
+    'sync/net/SyncResponse.java',
+    'sync/net/SyncStorageCollectionRequest.java',
+    'sync/net/SyncStorageCollectionRequestDelegate.java',
+    'sync/net/SyncStorageRecordRequest.java',
+    'sync/net/SyncStorageRequest.java',
+    'sync/net/SyncStorageRequestDelegate.java',
+    'sync/net/SyncStorageRequestIncrementalDelegate.java',
+    'sync/net/SyncStorageResponse.java',
+    'sync/net/TLSSocketFactory.java',
+    'sync/net/WBOCollectionRequestDelegate.java',
+    'sync/net/WBORequestDelegate.java',
+    'sync/NoCollectionKeysSetException.java',
+    'sync/NodeAuthenticationException.java',
+    'sync/NonArrayJSONException.java',
+    'sync/NonObjectJSONException.java',
+    'sync/NullClusterURLException.java',
+    'sync/PersistedMetaGlobal.java',
+    'sync/PrefsSource.java',
+    'sync/receivers/SyncAccountDeletedReceiver.java',
+    'sync/receivers/SyncAccountDeletedService.java',
+    'sync/receivers/UpgradeReceiver.java',
+    'sync/repositories/android/AndroidBrowserBookmarksDataAccessor.java',
+    'sync/repositories/android/AndroidBrowserBookmarksRepository.java',
+    'sync/repositories/android/AndroidBrowserBookmarksRepositorySession.java',
+    'sync/repositories/android/AndroidBrowserHistoryDataAccessor.java',
+    'sync/repositories/android/AndroidBrowserHistoryDataExtender.java',
+    'sync/repositories/android/AndroidBrowserHistoryRepository.java',
+    'sync/repositories/android/AndroidBrowserHistoryRepositorySession.java',
+    'sync/repositories/android/AndroidBrowserRepository.java',
+    'sync/repositories/android/AndroidBrowserRepositoryDataAccessor.java',
+    'sync/repositories/android/AndroidBrowserRepositorySession.java',
+    'sync/repositories/android/BookmarksDeletionManager.java',
+    'sync/repositories/android/BookmarksInsertionManager.java',
+    'sync/repositories/android/BrowserContractHelpers.java',
+    'sync/repositories/android/CachedSQLiteOpenHelper.java',
+    'sync/repositories/android/ClientsDatabase.java',
+    'sync/repositories/android/ClientsDatabaseAccessor.java',
+    'sync/repositories/android/FennecTabsRepository.java',
+    'sync/repositories/android/FormHistoryRepositorySession.java',
+    'sync/repositories/android/PasswordsRepositorySession.java',
+    'sync/repositories/android/RepoUtils.java',
+    'sync/repositories/BookmarkNeedsReparentingException.java',
+    'sync/repositories/BookmarksRepository.java',
+    'sync/repositories/ConstrainedServer11Repository.java',
+    'sync/repositories/delegates/DeferrableRepositorySessionCreationDelegate.java',
+    'sync/repositories/delegates/DeferredRepositorySessionBeginDelegate.java',
+    'sync/repositories/delegates/DeferredRepositorySessionFetchRecordsDelegate.java',
+    'sync/repositories/delegates/DeferredRepositorySessionFinishDelegate.java',
+    'sync/repositories/delegates/DeferredRepositorySessionStoreDelegate.java',
+    'sync/repositories/delegates/RepositorySessionBeginDelegate.java',
+    'sync/repositories/delegates/RepositorySessionCleanDelegate.java',
+    'sync/repositories/delegates/RepositorySessionCreationDelegate.java',
+    'sync/repositories/delegates/RepositorySessionFetchRecordsDelegate.java',
+    'sync/repositories/delegates/RepositorySessionFinishDelegate.java',
+    'sync/repositories/delegates/RepositorySessionGuidsSinceDelegate.java',
+    'sync/repositories/delegates/RepositorySessionStoreDelegate.java',
+    'sync/repositories/delegates/RepositorySessionWipeDelegate.java',
+    'sync/repositories/domain/BookmarkRecord.java',
+    'sync/repositories/domain/BookmarkRecordFactory.java',
+    'sync/repositories/domain/ClientRecord.java',
+    'sync/repositories/domain/ClientRecordFactory.java',
+    'sync/repositories/domain/FormHistoryRecord.java',
+    'sync/repositories/domain/HistoryRecord.java',
+    'sync/repositories/domain/HistoryRecordFactory.java',
+    'sync/repositories/domain/PasswordRecord.java',
+    'sync/repositories/domain/Record.java',
+    'sync/repositories/domain/RecordParseException.java',
+    'sync/repositories/domain/TabsRecord.java',
+    'sync/repositories/domain/VersionConstants.java',
+    'sync/repositories/FetchFailedException.java',
+    'sync/repositories/HashSetStoreTracker.java',
+    'sync/repositories/HistoryRepository.java',
+    'sync/repositories/IdentityRecordFactory.java',
+    'sync/repositories/InactiveSessionException.java',
+    'sync/repositories/InvalidBookmarkTypeException.java',
+    'sync/repositories/InvalidRequestException.java',
+    'sync/repositories/InvalidSessionTransitionException.java',
+    'sync/repositories/MultipleRecordsForGuidException.java',
+    'sync/repositories/NoContentProviderException.java',
+    'sync/repositories/NoGuidForIdException.java',
+    'sync/repositories/NoStoreDelegateException.java',
+    'sync/repositories/NullCursorException.java',
+    'sync/repositories/ParentNotFoundException.java',
+    'sync/repositories/ProfileDatabaseException.java',
+    'sync/repositories/RecordFactory.java',
+    'sync/repositories/RecordFilter.java',
+    'sync/repositories/Repository.java',
+    'sync/repositories/RepositorySession.java',
+    'sync/repositories/RepositorySessionBundle.java',
+    'sync/repositories/Server11Repository.java',
+    'sync/repositories/Server11RepositorySession.java',
+    'sync/repositories/StoreFailedException.java',
+    'sync/repositories/StoreTracker.java',
+    'sync/repositories/StoreTrackingRepositorySession.java',
+    'sync/Server11PreviousPostFailedException.java',
+    'sync/Server11RecordPostFailedException.java',
+    'sync/setup/activities/AccountActivity.java',
+    'sync/setup/activities/ActivityUtils.java',
+    'sync/setup/activities/ClientRecordArrayAdapter.java',
+    'sync/setup/activities/RedirectToSetupActivity.java',
+    'sync/setup/activities/SendTabActivity.java',
+    'sync/setup/activities/SendTabData.java',
+    'sync/setup/activities/SetupFailureActivity.java',
+    'sync/setup/activities/SetupSuccessActivity.java',
+    'sync/setup/activities/SetupSyncActivity.java',
+    'sync/setup/activities/SyncActivity.java',
+    'sync/setup/activities/WebURLFinder.java',
+    'sync/setup/activities/WebViewActivity.java',
+    'sync/setup/auth/AccountAuthenticator.java',
+    'sync/setup/auth/AuthenticateAccountStage.java',
+    'sync/setup/auth/AuthenticationResult.java',
+    'sync/setup/auth/AuthenticatorStage.java',
+    'sync/setup/auth/EnsureUserExistenceStage.java',
+    'sync/setup/auth/FetchUserNodeStage.java',
+    'sync/setup/Constants.java',
+    'sync/setup/InvalidSyncKeyException.java',
+    'sync/setup/SyncAccounts.java',
+    'sync/setup/SyncAuthenticatorService.java',
+    'sync/stage/AbstractNonRepositorySyncStage.java',
+    'sync/stage/AbstractSessionManagingSyncStage.java',
+    'sync/stage/AndroidBrowserBookmarksServerSyncStage.java',
+    'sync/stage/AndroidBrowserHistoryServerSyncStage.java',
+    'sync/stage/CheckPreconditionsStage.java',
+    'sync/stage/CompletedStage.java',
+    'sync/stage/EnsureClusterURLStage.java',
+    'sync/stage/EnsureCrypto5KeysStage.java',
+    'sync/stage/FennecTabsServerSyncStage.java',
+    'sync/stage/FetchInfoCollectionsStage.java',
+    'sync/stage/FetchMetaGlobalStage.java',
+    'sync/stage/FormHistoryServerSyncStage.java',
+    'sync/stage/GlobalSyncStage.java',
+    'sync/stage/NoSuchStageException.java',
+    'sync/stage/NoSyncIDException.java',
+    'sync/stage/PasswordsServerSyncStage.java',
+    'sync/stage/SafeConstrainedServer11Repository.java',
+    'sync/stage/ServerSyncStage.java',
+    'sync/stage/SyncClientsEngineStage.java',
+    'sync/stage/UploadMetaGlobalStage.java',
+    'sync/syncadapter/SyncAdapter.java',
+    'sync/syncadapter/SyncService.java',
+    'sync/SyncConfiguration.java',
+    'sync/SyncConfigurationException.java',
+    'sync/SyncException.java',
+    'sync/synchronizer/ConcurrentRecordConsumer.java',
+    'sync/synchronizer/RecordConsumer.java',
+    'sync/synchronizer/RecordsChannel.java',
+    'sync/synchronizer/RecordsChannelDelegate.java',
+    'sync/synchronizer/RecordsConsumerDelegate.java',
+    'sync/synchronizer/SerialRecordConsumer.java',
+    'sync/synchronizer/ServerLocalSynchronizer.java',
+    'sync/synchronizer/ServerLocalSynchronizerSession.java',
+    'sync/synchronizer/SessionNotBegunException.java',
+    'sync/synchronizer/Synchronizer.java',
+    'sync/synchronizer/SynchronizerDelegate.java',
+    'sync/synchronizer/SynchronizerSession.java',
+    'sync/synchronizer/SynchronizerSessionDelegate.java',
+    'sync/synchronizer/UnbundleError.java',
+    'sync/synchronizer/UnexpectedSessionException.java',
+    'sync/SynchronizerConfiguration.java',
+    'sync/ThreadPool.java',
+    'sync/UnexpectedJSONException.java',
+    'sync/UnknownSynchronizerConfigurationVersionException.java',
+    'sync/Utils.java',
+]
+
+sync_generated_java_files = [
+    'background/common/GlobalConstants.java',
+    'sync/SyncConstants.java',
+    'background/announcements/AnnouncementsConstants.java',
+    'background/healthreport/HealthReportConstants.java',
+]
--- a/mobile/android/base/moz.build
+++ b/mobile/android/base/moz.build
@@ -3,16 +3,351 @@
 # 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/.
 
 DIRS += ['locales']
 
 include('android-services.mozbuild')
 
+thirdparty_source_dir = TOPSRCDIR + '/mobile/android/thirdparty/'
+
+mgjar = add_java_jar('gecko-mozglue')
+mgjar.sources += [
+    'mozglue/ByteBufferInputStream.java',
+    'mozglue/DirectBufferAllocator.java',
+    'mozglue/GeneratableAndroidBridgeTarget.java',
+    'mozglue/NativeReference.java',
+    'mozglue/NativeZip.java',
+    'mozglue/OptionalGeneratedParameter.java',
+]
+mgjar.generated_sources += [
+    'mozglue/GeckoLoader.java',
+]
+mgjar.javac_flags = '-Xlint:all'
+
+wsjar = add_java_jar('websockets')
+wsjar.sources += [ thirdparty_source_dir + f for f in [
+    'com/codebutler/android_websockets/HybiParser.java',
+    'com/codebutler/android_websockets/WebSocketClient.java',
+] ]
+wsjar.javac_flags = '-Xlint:all,-serial'
+
+gujar = add_java_jar('gecko-util')
+gujar.sources += [
+    'util/ActivityResultHandler.java',
+    'util/ActivityResultHandlerMap.java',
+    'util/Clipboard.java',
+    'util/EventDispatcher.java',
+    'util/FloatUtils.java',
+    'util/GamepadUtils.java',
+    'util/GeckoBackgroundThread.java',
+    'util/GeckoEventListener.java',
+    'util/GeckoEventResponder.java',
+    'util/GeckoJarReader.java',
+    'util/HardwareUtils.java',
+    'util/INIParser.java',
+    'util/INISection.java',
+    'util/JSONUtils.java',
+    'util/StringUtils.java',
+    'util/ThreadUtils.java',
+    'util/UiAsyncTask.java',
+]
+gujar.extra_jars=[
+    'gecko-mozglue.jar'
+]
+gujar.javac_flags = '-Xlint:all,-deprecation'
+
+stjar = add_java_jar('sync-thirdparty')
+stjar.sources += [ thirdparty_source_dir + f for f in sync_thirdparty_java_files ]
+stjar.javac_flags = '-Xlint:none'
+
+if CONFIG['MOZ_WEBRTC']:
+    video_root = TOPSRCDIR + '/media/webrtc/trunk/webrtc/modules/video_capture/android/java/org/webrtc/videoengine/'
+    audio_root = TOPSRCDIR + '/media/webrtc/trunk/webrtc/modules/audio_device/android/org/webrtc/voiceengine/'
+    wrjar = add_java_jar('webrtc')
+    wrjar.sources += [
+        video_root + 'CaptureCapabilityAndroid.java',
+        video_root + 'VideoCaptureAndroid.java',
+        video_root + 'VideoCaptureDeviceInfoAndroid.java',
+        audio_root + 'WebRTCAudioDevice.java',
+    ]
+    wrjar.extra_jars = [
+        'gecko-browser.jar',
+        'gecko-util.jar',
+        'gecko-mozglue.jar',
+    ]
+    wrjar.javac_flags = '-Xlint:all,-deprecation,-cast'
+
+gbjar = add_java_jar('gecko-browser')
+gbjar.sources += [
+    'ANRReporter.java',
+    'ActivityHandlerHelper.java',
+    'AlertNotification.java',
+    'AlignRightLinkPreference.java',
+    'AllCapsTextView.java',
+    'AndroidImport.java',
+    'AndroidImportPreference.java',
+    'AnimatedHeightLayout.java',
+    'AppNotificationClient.java',
+    'AutocompleteHandler.java',
+    'animation/AnimatorProxy.java',
+    'animation/HeightChangeAnimation.java',
+    'animation/PropertyAnimator.java',
+    'animation/Rotate3DAnimation.java',
+    'animation/ViewHelper.java',
+    'BackButton.java',
+    'BaseGeckoInterface.java',
+    'BrowserApp.java',
+    'BrowserToolbar.java',
+    'BrowserToolbarBackground.java',
+    'CameraImageResultHandler.java',
+    'CameraVideoResultHandler.java',
+    'CanvasDelegate.java',
+    'CheckableLinearLayout.java',
+    'ClickableWhenDisabledEditText.java',
+    'ContactService.java',
+    'ContextGetter.java',
+    'CustomEditText.java',
+    'db/BrowserDB.java',
+    'db/LocalBrowserDB.java',
+    'db/DBUtils.java',
+    'DataReportingNotification.java',
+    'Distribution.java',
+    'DoorHanger.java',
+    'DoorHangerPopup.java',
+    'EditBookmarkDialog.java',
+    'favicons/cache/FaviconCache.java',
+    'favicons/cache/FaviconCacheElement.java',
+    'favicons/cache/FaviconsForURL.java',
+    'favicons/Favicons.java',
+    'favicons/LoadFaviconTask.java',
+    'favicons/OnFaviconLoadedListener.java',
+    'FilePickerResultHandler.java',
+    'FilePickerResultHandlerSync.java',
+    'FindInPageBar.java',
+    'FlowLayout.java',
+    'FontSizePreference.java',
+    'FormAssistPopup.java',
+    'ForwardButton.java',
+    'GeckoAccessibility.java',
+    'GeckoApplication.java',
+    'GeckoApp.java',
+    'GeckoAppShell.java',
+    'GeckoActivity.java',
+    'GeckoBatteryManager.java',
+    'GeckoConnectivityReceiver.java',
+    'GeckoEditable.java',
+    'GeckoEvent.java',
+    'GeckoHalDefines.java',
+    'GeckoInputConnection.java',
+    'GeckoMessageReceiver.java',
+    'GeckoPreferences.java',
+    'GeckoPreferenceFragment.java',
+    'GeckoProfile.java',
+    'GeckoSmsManager.java',
+    'GeckoThread.java',
+    'GeckoJavaSampler.java',
+    'GlobalHistory.java',
+    'GeckoView.java',
+    'health/BrowserHealthRecorder.java',
+    'health/BrowserHealthReporter.java',
+    'InputMethods.java',
+    'JavaAddonManager.java',
+    'LightweightTheme.java',
+    'LightweightThemeDrawable.java',
+    'LinkPreference.java',
+    'MemoryMonitor.java',
+    'MotionEventInterceptor.java',
+    'MultiChoicePreference.java',
+    'NotificationClient.java',
+    'NotificationHandler.java',
+    'NotificationHelper.java',
+    'NotificationService.java',
+    'NSSBridge.java',
+    'OrderedBroadcastHelper.java',
+    'PageActionLayout.java',
+    'PrefsHelper.java',
+    'PrivateDataPreference.java',
+    'PrivateTab.java',
+    'prompts/Prompt.java',
+    'prompts/PromptInput.java',
+    'prompts/PromptService.java',
+    'prompts/IconGridInput.java',
+    'Restarter.java',
+    'sqlite/ByteBufferInputStream.java',
+    'sqlite/MatrixBlobCursor.java',
+    'sqlite/SQLiteBridge.java',
+    'sqlite/SQLiteBridgeException.java',
+    'ReaderModeUtils.java',
+    'RemoteTabs.java',
+    'RobocopAPI.java',
+    'ServiceNotificationClient.java',
+    'ScrollAnimator.java',
+    'SessionParser.java',
+    'ShapedButton.java',
+    'SharedPreferencesHelper.java',
+    'SiteIdentityPopup.java',
+    'SmsManager.java',
+    'SurfaceBits.java',
+    'SyncPreference.java',
+    'Tab.java',
+    'TabCounter.java',
+    'Tabs.java',
+    'TabsPanel.java',
+    'TabsTray.java',
+    'TabsAccessor.java',
+    'Telemetry.java',
+    'TextSelection.java',
+    'TextSelectionHandle.java',
+    'ThumbnailHelper.java',
+    'TouchEventInterceptor.java',
+    'VideoPlayer.java',
+    'WebAppAllocator.java',
+    'WebAppImpl.java',
+    'ZoomConstraints.java',
+    'db/BrowserContract.java',
+    'db/BrowserProvider.java',
+    'db/FormHistoryProvider.java',
+    'db/PerProfileContentProvider.java',
+    'db/PasswordsProvider.java',
+    'db/TabsProvider.java',
+    'gfx/Axis.java',
+    'gfx/BitmapUtils.java',
+    'gfx/BufferedCairoImage.java',
+    'gfx/CairoGLInfo.java',
+    'gfx/CairoImage.java',
+    'gfx/CairoUtils.java',
+    'gfx/DisplayPortCalculator.java',
+    'gfx/DisplayPortMetrics.java',
+    'gfx/DrawTimingQueue.java',
+    'gfx/FloatSize.java',
+    'gfx/GeckoLayerClient.java',
+    'gfx/GfxInfoThread.java',
+    'gfx/GLController.java',
+    'gfx/ImmutableViewportMetrics.java',
+    'gfx/InputConnectionHandler.java',
+    'gfx/IntSize.java',
+    'gfx/JavaPanZoomController.java',
+    'gfx/Layer.java',
+    'gfx/LayerMarginsAnimator.java',
+    'gfx/LayerRenderer.java',
+    'gfx/LayerView.java',
+    'gfx/NativePanZoomController.java',
+    'gfx/NinePatchTileLayer.java',
+    'gfx/Overscroll.java',
+    'gfx/PanningPerfAPI.java',
+    'gfx/PanZoomController.java',
+    'gfx/PanZoomTarget.java',
+    'gfx/PluginLayer.java',
+    'gfx/PointUtils.java',
+    'gfx/ProgressiveUpdateData.java',
+    'gfx/RectUtils.java',
+    'gfx/RenderTask.java',
+    'gfx/ScrollbarLayer.java',
+    'gfx/SimpleScaleGestureDetector.java',
+    'gfx/SingleTileLayer.java',
+    'gfx/SubdocumentScrollHelper.java',
+    'gfx/TextLayer.java',
+    'gfx/TextureGenerator.java',
+    'gfx/TextureReaper.java',
+    'gfx/TileLayer.java',
+    'gfx/TouchEventHandler.java',
+    'gfx/ViewTransform.java',
+    'gfx/VirtualLayer.java',
+    'home/BookmarksListAdapter.java',
+    'home/BookmarksListView.java',
+    'home/BookmarksPage.java',
+    'home/BookmarkFolderView.java',
+    'home/BrowserSearch.java',
+    'home/HistoryPage.java',
+    'home/HomeFragment.java',
+    'home/HomeListView.java',
+    'home/HomePager.java',
+    'home/HomePagerTabStrip.java',
+    'home/HomeBanner.java',
+    'home/FadedTextView.java',
+    'home/LastTabsPage.java',
+    'home/MostRecentPage.java',
+    'home/MultiTypeCursorAdapter.java',
+    'home/PinSiteDialog.java',
+    'home/ReadingListPage.java',
+    'home/SearchEngine.java',
+    'home/SearchEngineRow.java',
+    'home/SearchLoader.java',
+    'home/SimpleCursorLoader.java',
+    'home/SuggestClient.java',
+    'home/TabMenuStrip.java',
+    'home/TopSitesGridItemView.java',
+    'home/TopSitesGridView.java',
+    'home/TopSitesPage.java',
+    'home/TopSitesThumbnailView.java',
+    'home/TwoLinePageRow.java',
+    'menu/GeckoMenu.java',
+    'menu/GeckoMenuInflater.java',
+    'menu/GeckoMenuItem.java',
+    'menu/GeckoSubMenu.java',
+    'menu/MenuItemActionBar.java',
+    'menu/MenuItemActionView.java',
+    'menu/MenuItemDefault.java',
+    'menu/MenuPanel.java',
+    'menu/MenuPopup.java',
+    'preferences/SearchPreferenceCategory.java',
+    'preferences/SearchEnginePreference.java',
+    'updater/UpdateServiceHelper.java',
+    'updater/UpdateService.java',
+    'widget/ActivityChooserModel.java',
+    'widget/ButtonToast.java',
+    'widget/ArrowPopup.java',
+    'widget/DateTimePicker.java',
+    'widget/Divider.java',
+    'widget/FaviconView.java',
+    'widget/GeckoPopupMenu.java',
+    'widget/GeckoActionProvider.java',
+    'widget/IconTabWidget.java',
+    'widget/TabRow.java',
+    'widget/ThumbnailView.java',
+    'widget/TwoWayView.java',
+    'GeckoNetworkManager.java',
+    'GeckoScreenOrientationListener.java',
+    'GeckoUpdateReceiver.java',
+    'ReferrerReceiver.java',
+]
+gbjar.sources += [ thirdparty_source_dir + f for f in [
+    'com/googlecode/eyesfree/braille/selfbraille/ISelfBrailleService.java',
+    'com/googlecode/eyesfree/braille/selfbraille/SelfBrailleClient.java',
+    'com/googlecode/eyesfree/braille/selfbraille/WriteData.java',
+] ]
+gbjar.generated_sources += [
+    'App.java',
+    'AppConstants.java',
+    'R.java',
+    'SysInfo.java',
+    'WebApp.java',
+    'WebApps.java',
+    'widget/GeckoEditText.java',
+    'widget/GeckoImageButton.java',
+    'widget/GeckoImageView.java',
+    'widget/GeckoLinearLayout.java',
+    'widget/GeckoRelativeLayout.java',
+    'widget/GeckoTextSwitcher.java',
+    'widget/GeckoTextView.java',
+]
+if CONFIG['MOZ_CRASHREPORTER']:
+    gbjar.sources += [ 'CrashReporter.java ']
+gbjar.sources += sync_java_files
+gbjar.generated_sources += sync_generated_java_files
+gbjar.extra_jars=[
+    'gecko-mozglue.jar',
+    'gecko-util.jar',
+    'sync-thirdparty.jar',
+    'websockets.jar',
+]
+gbjar.javac_flags = '-Xlint:all,-deprecation,-fallthrough'
+
 ANDROID_GENERATED_RESFILES += [
     'res/drawable-hdpi/icon.png',
     'res/drawable-mdpi/icon.png',
     'res/drawable-xhdpi/icon.png',
     'res/drawable-xxhdpi/icon.png',
     'res/values/strings.xml',
 ]
 
--- a/mobile/android/geckoview_library/Makefile.in
+++ b/mobile/android/geckoview_library/Makefile.in
@@ -20,17 +20,17 @@ package:
 	# 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/*.jar libs/
+	cp ../base/*.jar 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
--- a/mobile/android/tests/background/junit3/Makefile.in
+++ b/mobile/android/tests/background/junit3/Makefile.in
@@ -20,17 +20,17 @@ GARBAGE += AndroidManifest.xml
 include $(srcdir)/android-services-files.mk
 
 # BACKGROUND_TESTS_{JAVA,RES}_FILES are defined in android-services-files.mk.
 JAVAFILES := $(BACKGROUND_TESTS_JAVA_FILES)
 
 # The test APK needs to know the contents of the target APK while not
 # being linked against them.  This is a best effort to avoid getting
 # out of sync with base's build config.
-JARS_DIR := $(DEPTH)/mobile/android/base/jars
+JARS_DIR := $(DEPTH)/mobile/android/base
 JAVA_BOOTCLASSPATH := $(JAVA_BOOTCLASSPATH):$(subst $(NULL) ,:,$(wildcard $(JARS_DIR)/*.jar))
 # We also want to re-compile classes.dex when the associated base
 # content changes.
 classes.dex: $(wildcard $(JARS_DIR)/*.jar)
 
 tools:: $(ANDROID_APK_NAME).apk
 
 include $(topsrcdir)/config/rules.mk