[Xamarin.Android.Build.Tasks] set AndroidApiLevel sooner in <ResolveAndroidTooling/> #4960
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: https://build.azdo.io/3906855
Under a
dotnetcontext, theGetDependencyWhenBuildToolsAreMissingTesttest was failing with:In d7227b8, I partially fixed the
GetAndroidDependenciesMSBuildtarget, but there appears to be another issue.
Reviewing the build log, the
GetAndroidDependenciestarget wasreturning:
This was due to the
$(_AndroidApiLevel)MSBuild property beingblank, when the
<CalculateProjectDependencies/>MSBuild task iscalled. It used the
$(TargetFrameworkVersion)ofv5.0to decidethat API 21 is needed...
The
<ResolveAndroidTooling/>MSBuild task was failing (due tomissing
build-tools) and not setting$(_AndroidApiLevel)at all.To solve this issue, I moved things around so
AndroidApiLevelis setfirst.
Validatecan remain an empty method so it is overridden bythe legacy
<ResolveAndroidTooling/>task.Then I hit another problem on Windows:
We need this change, I ignored the test on Windows for now:
https://github.com/xamarin/android-sdk-installer/pull/450
This also moves any tests related to the
GetAndroidDependenciesMSBuild target to
AndroidDependenciesTests. We can now run them allin a
dotnetcontext.