[Xamarin.Android.Build.Tasks] _CreateAapt2VersionCache
slow due to wildcard usage
#2124
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.
Fixes #2121
There were a number of performace issues with
_CreateAapt2VersionCache
.First the wildcards were processing the ENTIRE
$(IntermediateOutputPath)
!What they should have been doing was targeting specific
directories. I.e the root of
$(IntermediateOutputPath)
andthe directories under
$(IntermediateOutputPath)\lp
.Second the target did not have a Condition to stop it running if
the versions matched, so that has been added.
However, even if a target is NOT run. MSbuild will still evaluate
the
PropertyGroups
andItemGroups
within the targets. So weneed to add
Conditon
on the_CompiledFlataArchive
and_CompiledFlataStamp
items as well.With these in place the time when this target is skipped is down
to 1ms.