[XABT] Move scanning for ACW map JLOs to FindJavaObjectsStep
.
#9930
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context: #9893
Building on #9893, this moves the process of scanning for JLOs needed for the ACW map generation task to the
FindJavaObjectsStep
"linker step".This process needs
interface
JLOs, whichJavaCallableWrappers
doesn't support. Expanding the JCW serialization format to allow interfaces (and other ACW-needed data it didn't already support) resulted in a lot of extra processing and waste.Instead, we expand the
.jlo.xml
file to have 2 sections, one for JCW needed data and one for ACW needed data:Additionally, for assemblies that cannot contain JLOs that we do not need to scan, we no longer write an "empty" XML file like this:
<types was_scanned="False" />
. Instead, we now write an actual empty (0 byte) file to disk, which saves build time when deserializing.Like #9893, this temporarily leaves the old ACW map generation code in place, guarded behind the
$(_AndroidJLOCheckedBuild)
flag. This flag generates the ACW map both the new and old way, and errors the build if there are differences. (A consistent sort was added so that both maps are sorted the same.)