[One .NET] pack AndroidLibrary .aar files in .nupkg #7045
Merged
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: #7040
It appears we were missing a test case of:
dotnet new androidlibAdd an
.aarfiledotnet packAssert that
lib\net6.0-android31.0\MyAndroidLibrary.aarexists inthe
.nupkgoutputWe instead end up with "weird" output in the
.nupkglike:MyDotNetAssembly.aarwould contain any.jarfiles orAndroidResourcefiles packed inside. However, other.aarfilesare supposed to sit next to
MyDotNetAssembly.dll.It was surprisingly difficult to work alongside NuGet's MSBuild
targets to get this to work.
In the
_CategorizeAndroidLibrariesMSBuild target, markTfmSpecificPackageFile="%(Pack)"to be used in our_IncludeAarInNuGetPackageMSBuild target.Add these files to
@(TfmSpecificPackageFileWithRecursiveDir)andset
%(NuGetRecursiveDir)to empty. Otherwise, these items canhave
%(RecursiveDir)set to some path, and this causessub-directories in the
.nupkgoutput.I updated several tests for this case. I also updated usage of
XASdkProject.OtherBuildItemsto useSourcesinstead.OtherBuildItemsadds the files to the.csproj, and we should betesting our wildcards in
AutoImport.props. Previously, some of theseitems were being added twice in these tests.