There are currently no classes on the bootclasspath that live in the
unnamed package (empty package name). This CL explicitly forbids it.
This has the side effect of guarding against some classes of bugs,
for example R8 has functionality to generate some helper classes in
the unnamed package that should not be on the to bootclasspath
because they would hide corresponding classes in Applications.
Strictly speaking I believe that the "not package_name or " part
of the condition in the touched script is not needed because
LoadWhitelist() already skips empty lines and doesn't add "^$" to
the whitelist regex, but relying on this seems very fragile. If
there ever is a need to have classes in the bootclasspath's
unnamed package in future then we can always change this again.
Bug: 147480264
Test: Treehugger
Change-Id: Ic310dd0779dde133b3a5c3039ea5b70d31331a9b
Use wildcard in org.chromium.arc whitelist.
Context: This change was suggested in ag/3200645 and was changed in
the master-arc-dev branch but failed to be upstreamed.
Bug: None
Test: Compiled locally
Change-Id: I3d1713fa47773a1f663fc4fd890d8ba507ed7042
Before this CL, the build could fail with error messages such as:
Error: out/target/common/obj/JAVA_LIBRARIES/core-oj_intermediates/classes.jar
contains class file jdk/internal/HotSpotIntrinsicCandidate.class, which is not
in the whitelist
This error message was only moderately helpful because it left a few
questions unanswered or misled ("Whitelist for what?", "Where does the
whitelist live?", "Is it a whitelist of class files or of packages?").
This CL clarifies that:
- it's a whitelist of packages allowed on the bootclasspath,
- where it lives (currently
build/make/core/tasks/check_boot_jars/package_whitelist.txt)
which makes the error message more actionable.
Test: manually checked that the error message now looks okay.
Bug: 17434570
Change-Id: I2f52a5e2eb532bc4945bedf9811de5857f67a9a3
Add org.chromium.arc to package_whitelist.txt
This is needed from the org.chromium.arc EventLogTags file.
Bug: 70513529
Test: compiled on marlin. did not generate any conflict. marlin worked
Ok
Change-Id: Ia4b0133f66677f988916457ab4b6c9332342a01b
The legacy-test library has been deprecated in favour of the
android.test.base library which will be exposed to developers in
similar manner to android.test.runner and android.test.mock.
Bug: 30188076
Test: make checkbuild && make droid && flash
Change-Id: I36a9ccf8a1b4b7b75ce1ca4893daa3db6e660b30
The vr platform lib was renamed from com.google.vr.gvr.platform to
com.google.vr.platform, so update the whitelist accordingly. Also narrow
the whitelist to just the .platform subpackage.
Bug: 38134403
Test: Booted a Marlin.
Change-Id: I9243ed3ab7a918e0bc716a7ddafe0b3c068700de
Replace it with finer grained exemptions. These aren't fine grained
enough, but they're a start.
Bug: 37266786
Test: make
Change-Id: I986f215c08461df2291753a6eb02ad9390dcbedc
The core-junit library has been replaced with the legacy-test
library. The latter included everything that was in core-junit
plus some android.test classes that were in frameworks.
Bug: 30188076
Test: make checkbuild
Change-Id: Id2ba827705dbd2c27a1183e1153b03c11a8a4074
The introduction of java.lang.invoke.MethodType and its supporting
classes, in particular.
bug: 30550796
test: make checkbuild
Change-Id: Id2b84d3bb911f4bc5aef0761d357b1e9121030ab
Tracks libcore change that adds the first classes from this package
to core-oj.jar. Note that packages need to be whitelisted even if
the classes in question aren't public API.
Test: make checkbuild docs
Change-Id: I917dc63899124ca30bbeb2902787faea6754bb43
Fix the bug that build is still success when boot jars contain
non-whitelisted classes. Now, check-boot-jars.py correctly
finishes with exit code 1 when non-whitelisted classes are found.
Change-Id: Id5c80ef9fdb70213d878d569f6033be2c9eb90d3
The whitelist is a preconfigured list of regular expressions of package
names.
Run the check as a task by default in platform build.
Bug: 17434570
Change-Id: Ieaaf7efb5f4fc7a83677f3675780ca902972be97