Skip to content

Commit

Permalink
[build] Add 'net6.0-android' TargetFramework. (#507)
Browse files Browse the repository at this point in the history
  • Loading branch information
jpobst committed Sep 21, 2021
1 parent c774c0a commit 8a2c8dd
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 9 deletions.
6 changes: 6 additions & 0 deletions Directory.Build.props
Expand Up @@ -4,5 +4,11 @@
<AndroidBoundInterfacesContainConstants>false</AndroidBoundInterfacesContainConstants>
<AndroidBoundInterfacesContainTypes>false</AndroidBoundInterfacesContainTypes>
<AndroidBoundInterfacesContainStaticAndDefaultInterfaceMethods>false</AndroidBoundInterfacesContainStaticAndDefaultInterfaceMethods>

<!-- .NET 6+ generates Resource.designer.cs files for bindings projects which we do not want -->
<AndroidGenerateResourceDesigner>false</AndroidGenerateResourceDesigner>

<!-- .NET 6+ packages support back to API-21 -->
<SupportedOSPlatformVersion>21</SupportedOSPlatformVersion>
</PropertyGroup>
</Project>
9 changes: 8 additions & 1 deletion azure-pipelines.yaml
Expand Up @@ -10,7 +10,7 @@ pr:
variables:
AndroidBinderatorVersion: 0.4.7
AndroidXMigrationVersion: 1.0.8
DotNetVersion: 6.0.100-preview.7.21379.14
DotNetVersion: 6.0.100-rc.1.21458.32
LegacyXamarinAndroidPkg: https://aka.ms/xamarin-android-commercial-d16-10-macos
LegacyXamarinAndroidVsix: https://aka.ms/xamarin-android-commercial-d16-10-windows
BUILD_NUMBER: $(Build.BuildNumber)
Expand All @@ -33,13 +33,20 @@ jobs:
parameters:
timeoutInMinutes: 240
areaPath: 'DevDiv\Xamarin SDK\Android'
windowsAgentPoolName: android-win-2019
initSteps:
- task: UseDotNet@2
displayName: install .NET $(DotNetVersion)
inputs:
version: $(DotNetVersion)
- pwsh: |
dotnet workload install android
- task: JavaToolInstaller@0
inputs:
versionSpec: '11'
jdkArchitectureOption: 'x64'
jdkSourceOption: 'PreInstalled'

preBuildSteps:
- pwsh: |
dotnet tool uninstall --global Cake.Tool
Expand Down
4 changes: 4 additions & 0 deletions source/AssemblyInfo.cs
Expand Up @@ -6,6 +6,10 @@
[assembly: AssemblyMetadata ("BUILD_NUMBER", "{BUILD_NUMBER}")]
[assembly: AssemblyMetadata ("BUILD_TIMESTAMP", "{BUILD_TIMESTAMP}")]

#if !NETCOREAPP
[assembly: Android.LinkerSafe]
#endif

[assembly: AssemblyMetadata ("IsTrimmable", "True")]

[assembly: Android.App.UsesLibrary("org.apache.http.legacy", Required=false)]
13 changes: 9 additions & 4 deletions source/GooglePlayServicesProject.cshtml
Expand Up @@ -3,12 +3,13 @@
@using System.Collections.Generic

@{
var targetFrameworkMoniker = "MonoAndroid90";
var targetFrameworkMoniker = "monoandroid90";
var dotnetFrameworkMoniker = "net6.0-android31.0";
}

<Project Sdk="Xamarin.Legacy.Sdk">
<PropertyGroup>
<TargetFramework>@(targetFrameworkMoniker)</TargetFramework>
<TargetFrameworks>@(targetFrameworkMoniker);@(dotnetFrameworkMoniker)</TargetFrameworks>
<IsBindingProject>true</IsBindingProject>
@if (!string.IsNullOrEmpty(Model.AssemblyName)) {
<AssemblyName>@(Model.AssemblyName)</AssemblyName>
Expand Down Expand Up @@ -165,20 +166,22 @@

<ItemGroup>
<None Include="@(Model.NuGetPackageId).targets" Pack="True" PackagePath="build\@(targetFrameworkMoniker)" />
<None Include="@(Model.NuGetPackageId).targets" Pack="True" PackagePath="build\@(dotnetFrameworkMoniker)" />
</ItemGroup>

@if (@Model.NuGetPackageId == "Xamarin.GooglePlayServices.Basement")
{
<ItemGroup>
<None Include="..\..\source\com.google.android.gms\play-services-basement\buildtasks\bin\$(Configuration)\Xamarin.GooglePlayServices.Tasks.dll" Pack="True" PackagePath="build\@(targetFrameworkMoniker)" />
<None Include="..\..\source\com.google.android.gms\play-services-basement\buildtasks\bin\$(Configuration)\Xamarin.GooglePlayServices.Tasks.dll" Pack="True" PackagePath="build\@(dotnetFrameworkMoniker)" />
</ItemGroup>
}

@if (@Model.MavenArtifacts.Count > 0) {
<ItemGroup>
@foreach (var art in @Model.MavenArtifacts) {
if (art.ProguardFile != null) {
<None Include="..\..\@(art.ProguardFile)" Pack="True" PackagePath="proguard\@(targetFrameworkMoniker)" />
<None Include="..\..\@(art.ProguardFile)" Pack="True" PackagePath="proguard" />
}
}
</ItemGroup>
Expand Down Expand Up @@ -209,6 +212,7 @@
@foreach (var art in @Model.MavenArtifacts) {
if (1==2 && art.MavenArtifactPackaging == "aar") {
<None Include="..\..\externals\@(art.MavenGroupId)\@(art.MavenArtifactId).aar" Pack="True" PackagePath="aar\@(targetFrameworkMoniker)" />
<None Include="..\..\externals\@(art.MavenGroupId)\@(art.MavenArtifactId).aar" Pack="True" PackagePath="aar\@(dotnetFrameworkMoniker)" />
}
}
</ItemGroup>
Expand Down Expand Up @@ -270,7 +274,8 @@
<PackageReference Include="Xamarin.Google.Dagger" Version="2.27.0" />
}


<!-- Reference -->
<Reference Include="System.Net.Http" Condition=" '$(TargetFramework)' == '@(targetFrameworkMoniker)' " />
</ItemGroup>


Expand Down
5 changes: 1 addition & 4 deletions source/GooglePlayServicesTargets.cshtml
@@ -1,9 +1,6 @@
@using System.Linq
@using System.IO
@using System.Xml.Linq
@{
var targetFrameworkMoniker = "MonoAndroid90";
}
<?xml version="1.0" encoding="utf-8"?>
@functions {
public static void RemoveXmlns(XElement e)
Expand All @@ -27,7 +24,7 @@
<ItemGroup>
@foreach (var art in @Model.MavenArtifacts) {
if (art.ProguardFile != null) {
<ProguardConfiguration Include="$(MSBuildThisFileDirectory)..\..\proguard\@(targetFrameworkMoniker)\proguard.txt" />
<ProguardConfiguration Include="$(MSBuildThisFileDirectory)..\..\proguard\proguard.txt" />
}
}
</ItemGroup>
Expand Down

0 comments on commit 8a2c8dd

Please sign in to comment.