gecko-dev/mobile/android/base/geckoview.ddf
Nick Alexander a34f2876ea Bug 1107134 - Disable GeckoView independence testing due to Classycle inlining bug. r=ckitching
It appears that Classycle is dependent on the version of javac that
compiles the .class files.  There are real references between two
sets that are not caught by Classycle; ckitching and I theorize that
Classycle misses a reference from a set if it is a constant that is
inlined by the javac compiler.  This inlining differs between javac
compiler version.

--HG--
extra : rebase_source : 9040c77c604c8b76c4bfe1142c7efa015a82dcb5
2014-12-08 12:46:57 -08:00

80 lines
2.9 KiB
Plaintext

# 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.BaseGeckoInterface \
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.SmsManager \
org.mozilla.gecko.SurfaceBits \
org.mozilla.gecko.SysInfo \
org.mozilla.gecko.TouchEventInterceptor \
org.mozilla.gecko.ZoomConstraints
[middle] = \
org.mozilla.gecko.prompts.* \
org.mozilla.gecko.AlertNotification \
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
[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]