Bug 1255915 - Pre: Remove GeckoView classycle bits. r=build-peer draft
authorNick Alexander <nalexander@mozilla.com>
Thu, 16 Nov 2017 09:58:51 -0800
changeset 699205 dbc93ddd9b4892b60cb04f82997f07d1fb8d624b
parent 699204 c20c33479b4e64bf38687d300b241847722a78d7
child 699206 864a82ebf3f33094ea247d6f4a1d114a9e51eedf
push id89490
push usernalexander@mozilla.com
push dateThu, 16 Nov 2017 19:55:07 +0000
reviewersbuild-peer
bugs1255915, 1096627
milestone59.0a1
Bug 1255915 - Pre: Remove GeckoView classycle bits. r=build-peer This was added in Bug 1096627 to enforce the baseline GeckoView layering that we had at that time. Now that GeckoView is a separate Gradle project, that layering is automatically enforced. It's time for this to go. MozReview-Commit-ID: Ly35QhgBdWM
mobile/android/base/Makefile.in
mobile/android/base/geckoview.ddf
mobile/android/build/classycle/LICENSE.txt
mobile/android/build/classycle/classycle-1.4.1.jar
--- a/mobile/android/base/Makefile.in
+++ b/mobile/android/base/Makefile.in
@@ -265,29 +265,16 @@ else
     else
       PROGUARD_PASSES=6
     endif
   endif
 endif
 
 proguard_config_dir=$(topsrcdir)/mobile/android/config/proguard
 
-# This stanza ensures that the set of GeckoView classes does not depend on too
-# much of Fennec, where "too much" is defined as the set of potentially
-# non-GeckoView classes that GeckoView already depended on at a certain point in
-# time.  The idea is to set a high-water mark that is not to be crossed.
-classycle_jar := $(topsrcdir)/mobile/android/build/classycle/classycle-1.4.1.jar
-.geckoview.deps: geckoview.ddf $(classycle_jar) $(ALL_JARS)
-	$(JAVA) -cp $(classycle_jar) \
-		classycle.dependency.DependencyChecker \
-		-mergeInnerClasses \
-		-dependencies=@$< \
-		$(ALL_JARS)
-	@$(TOUCH) $@
-
 # First, we delete debugging information from libraries. Having line-number
 # information for libraries for which we lack the source isn't useful, so this
 # saves us a bit of space. Importantly, Proguard has a bug causing it to
 # sometimes corrupt this information if present (which it does for some of the
 # included libraries). This corruption prevents dex from completing, so we need
 # to get rid of it.  This prevents us from seeing line numbers in stack traces
 # for stack frames inside libraries.
 #
@@ -304,17 +291,17 @@ classycle_jar := $(topsrcdir)/mobile/and
 		-injars $(subst ::,:,$(java_bundled_libs))\
 		-outjars bundled-jars-nodebug \
 		-libraryjars $(library_jars):gecko-R.jar
 
 # We touch the target file before invoking Proguard so that Proguard's
 # outputs are fresher than the target, preventing a subsequent
 # invocation from thinking Proguard's outputs are stale.  This is safe
 # because Make removes the target file if any recipe command fails.
-.proguard.deps: .geckoview.deps .bundled.proguard.deps $(ALL_JARS) $(proguard_config_dir)/proguard.cfg $(PROGUARD_JAR)
+.proguard.deps: .bundled.proguard.deps $(ALL_JARS) $(proguard_config_dir)/proguard.cfg $(PROGUARD_JAR)
 	$(REPORT_BUILD)
 	@$(TOUCH) $@
 	$(JAVA) \
 		-Xmx512m -Xms128m \
 		-jar $(PROGUARD_JAR) \
 		@$(proguard_config_dir)/proguard.cfg \
 		-optimizationpasses $(PROGUARD_PASSES) \
 		-injars $(subst ::,:,$(all_jars_classpath)):bundled-jars-nodebug \
deleted file mode 100644
--- a/mobile/android/base/geckoview.ddf
+++ /dev/null
@@ -1,74 +0,0 @@
-# This is a Classycle dependency definition file that asserts that the contents
-# of the GeckoView library (Classycle set [lib]) is a dependency (but does not
-# depend) on Fennec (Classycle set [main]).  The additional Classycle set
-# [middle] consists of classes referenced by GeckoView that probably should not
-# be referenced.  We want this middle set to shrink over time.
-
-show allResults
-
-[lib] = \
-  org.mozilla.gecko.gfx.* \
-  org.mozilla.gecko.mozglue.* \
-  org.mozilla.gecko.sqlite.* \
-  org.mozilla.gecko.util.* \
-  org.mozilla.gecko.AndroidGamepadManager \
-  org.mozilla.gecko.AppConstants \
-  org.mozilla.gecko.ContextGetter \
-  org.mozilla.gecko.CrashHandler \
-  org.mozilla.gecko.EventDispatcher \
-  org.mozilla.gecko.GeckoAccessibility \
-  org.mozilla.gecko.GeckoAppShell \
-  org.mozilla.gecko.GeckoBatteryManager \
-  org.mozilla.gecko.GeckoEditable \
-  org.mozilla.gecko.GeckoEditableClient \
-  org.mozilla.gecko.GeckoEditableListener \
-  org.mozilla.gecko.GeckoEvent \
-  org.mozilla.gecko.GeckoInputConnection \
-  org.mozilla.gecko.GeckoJavaSampler \
-  org.mozilla.gecko.GeckoNetworkManager \
-  org.mozilla.gecko.GeckoProfile \
-  org.mozilla.gecko.GeckoScreenOrientation \
-  org.mozilla.gecko.GeckoSharedPrefs \
-  org.mozilla.gecko.GeckoThread \
-  org.mozilla.gecko.GeckoView \
-  org.mozilla.gecko.GlobalHistory \
-  org.mozilla.gecko.InputMethods \
-  org.mozilla.gecko.NSSBridge \
-  org.mozilla.gecko.NotificationClient \
-  org.mozilla.gecko.NotificationHandler \
-  org.mozilla.gecko.PrefsHelper \
-  org.mozilla.gecko.SysInfo \
-  org.mozilla.gecko.TouchEventInterceptor \
-  org.mozilla.gecko.ZoomConstraints
-
-[middle] = \
-  org.mozilla.gecko.prompts.* \
-  org.mozilla.gecko.FormAssistPopup \
-  org.mozilla.gecko.GeckoActivity \
-  org.mozilla.gecko.GeckoApp \
-  org.mozilla.gecko.GeckoProfileDirectories \
-  org.mozilla.gecko.GuestSession \
-  org.mozilla.gecko.R \
-  org.mozilla.gecko.Tab \
-  org.mozilla.gecko.Tabs \
-  org.mozilla.gecko.Telemetry \
-  org.mozilla.gecko.TelemetryContract \
-  org.mozilla.gecko.ThumbnailHelper \
-  org.mozilla.gecko.db.BrowserDB \
-  org.mozilla.gecko.db.LocalBrowserDB \
-  org.mozilla.gecko.distribution.Distribution \
-  org.mozilla.gecko.icons.*
-
-[main] = org.mozilla.gecko.* excluding [lib] [middle]
-
-check sets [lib] [middle] [main]
-
-# Bug 1107134: it appears that Classycle can be fooled if the Java
-# compiler inlines a constant from [main] into [lib].  That is, [main]
-# really does depend on [lib] but Classycle only sees the dependency
-# with some javac versions.  For now, disable the check.  Yes, this
-# processing is useless without this check.
-# check [lib] directlyIndependentOf [main]
-
-# This fails; if this passed, GeckoView would be ready to extract from Fennec.
-# check [lib] independentOf [middle]
deleted file mode 100644
--- a/mobile/android/build/classycle/LICENSE.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright (c) 2003-2008, Franz-Josef Elmer, All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-- Redistributions of source code must retain the above copyright notice,
-  this list of conditions and the following disclaimer.
-- Redistributions in binary form must reproduce the above copyright notice,
-  this list of conditions and the following disclaimer in the documentation
-  and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
-CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
deleted file mode 100644
index bc8f2ddaac38df5e5eb22e2033546e04aa0d656f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001