Most of the code in the favicons package is now obsolete and can be
removed. Most of this code still exists in the icons package (in smaller
chunks).
MozReview-Commit-ID: 6J4pgd5doNt
--HG--
extra : rebase_source : fa04223a758483d8440167fb63fe852ea3bde3f8
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
--HG--
extra : rebase_source : 5b66a5fed9435784960a8f96a682ec3b12bdab3b
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
The constants JAR contains AppConstants and SysInfo. SysInfo depended
on HardwareUtils for one function, which can (should?) be in SysInfo
anyway, so I moved it.
Both SysInfo and AppConstants should be available to Robocop tests,
but they are compiled too early to access RobocopTarget. Since
nothing in GeckoView should know about GeckoView, I moved the
annotation to the Fennec-level proguard.cfg.
--HG--
extra : source : d2c14599cbab6c476465a6ba142c7c2501895cb3
The constants JAR contains AppConstants and SysInfo. SysInfo depended
on HardwareUtils for one function, which can (should?) be in SysInfo
anyway, so I moved it.
Both SysInfo and AppConstants should be available to Robocop tests,
but they are compiled too early to access RobocopTarget. Since
nothing in GeckoView should know about GeckoView, I moved the
annotation to the Fennec-level proguard.cfg.
--HG--
extra : rebase_source : cdba5f056a41ec28f190dd7ebf82213a358cb3a8
extra : source : d2c14599cbab6c476465a6ba142c7c2501895cb3
The constants JAR contains AppConstants and SysInfo. SysInfo depended
on HardwareUtils for one function, which can (should?) be in SysInfo
anyway, so I moved it.
Both SysInfo and AppConstants should be available to Robocop tests,
but they are compiled too early to access RobocopTarget. Since
nothing in GeckoView should know about GeckoView, I moved the
annotation to the Fennec-level proguard.cfg.
--HG--
extra : rebase_source : 6504b2324fb7534217163e21218c194df0505a75
Notes:
* The Classycle definition file was built by hand via a process of trial
and error.
* The Classycle JAR file is used only at build time. I don't want to
land it near code because it shouldn't be included in any build. In
particular, landing in mobile/android/base can foul up IDE
configurations.
* The Classycle license requires redistributing the README.txt with the
binary assets.
* Even when Proguard is "disabled", the target still runs, so this is a
good place to put a build step that the built JARs, as a collective,
are healthy.
--HG--
extra : rebase_source : 7df8aa0fd0537ec7cb32eb02259797523f5ba97d