Bug 1258450 - Update classycle definitions. r=me
☠☠ backed out by 5a2629dce8a7 ☠ ☠
authorNick Alexander <nalexander@mozilla.com>
Sun, 20 Mar 2016 19:52:44 -0700
changeset 290838 ccaff6721da0582775cdc27229d0b969d5d156da
parent 290837 c1a1079daea1be3b0beb8e63e6d41956a1f5642d
child 290839 33e39362305beb355699cbd88cefe4a37354136c
push id19656
push usergwagner@mozilla.com
push dateMon, 04 Apr 2016 13:43:23 +0000
treeherderb2g-inbound@e99061fde28a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersme
bugs1258450
milestone48.0a1
Bug 1258450 - Update classycle definitions. r=me To use this, uncomment the line in geckoview.ddf. Then, after a build, run ./mach gradle jarLocalDebugClasses and then java -cp mobile/android/build/classycle/classycle-1.4.1.jar classycle.dependency.DependencyChecker -mergeInnerClasses -dependencies=@mobile/android/base/geckoview.ddf $OBJDIR/gradle/build/mobile/android/app/intermediates/packaged/local/debug/classes.jar MozReview-Commit-ID: KYtHXpmCp6x
mobile/android/base/geckoview.ddf
--- a/mobile/android/base/geckoview.ddf
+++ b/mobile/android/base/geckoview.ddf
@@ -2,77 +2,63 @@
 # 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.annotation.* \
   org.mozilla.gecko.gfx.* \
   org.mozilla.gecko.mozglue.* \
+  org.mozilla.gecko.permissions.* \
   org.mozilla.gecko.sqlite.* \
   org.mozilla.gecko.util.* \
+  org.mozilla.gecko.ActivityHandlerHelper \
+  org.mozilla.gecko.AlarmReceiver \
   org.mozilla.gecko.AndroidGamepadManager \
   org.mozilla.gecko.AppConstants \
   org.mozilla.gecko.BaseGeckoInterface \
   org.mozilla.gecko.ContextGetter \
   org.mozilla.gecko.CrashHandler \
+  org.mozilla.gecko.DebugGeckoInputConnection \
   org.mozilla.gecko.EventDispatcher \
+  org.mozilla.gecko.FormAssistPopup \
   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.GeckoProfileDirectories \
   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.InputConnectionListener \
   org.mozilla.gecko.NSSBridge \
   org.mozilla.gecko.NotificationClient \
   org.mozilla.gecko.NotificationHandler \
   org.mozilla.gecko.PrefsHelper \
   org.mozilla.gecko.SmsManager \
   org.mozilla.gecko.SurfaceBits \
   org.mozilla.gecko.SysInfo \
   org.mozilla.gecko.TouchEventInterceptor \
-  org.mozilla.gecko.ZoomConstraints
+  org.mozilla.gecko.ZoomConstraints \
+  org.mozilla.gecko.widget.SwipeDismissListViewTouchListener
 
-[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.favicons.Favicons \
-  org.mozilla.gecko.favicons.OnFaviconLoadedListener
+[app] = org.mozilla.gecko.* excluding [lib]
 
-[main] = org.mozilla.gecko.* excluding [lib] [middle]
-
-check sets [lib] [middle] [main]
+check sets [lib] [app]
 
 # Bug 1107134: it appears that Classycle can be fooled if the Java
-# compiler inlines a constant from [main] into [lib].  That is, [main]
+# compiler inlines a constant from [app] into [lib].  That is, [app]
 # 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]
-
+# with some javac versions.
 # This fails; if this passed, GeckoView would be ready to extract from Fennec.
-# check [lib] independentOf [middle]
+# check [lib] independentOf [app]