Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions Makefile
Original file line numberDiff line numberDiff line change
Expand Up@@ -81,10 +81,7 @@ include build-tools/scripts/runtime-helpers.mk

.PHONY: prepare
prepare: install-dotnet
$(call SYSTEM_DOTNET_BINLOG,prepare-bootstrap) Xamarin.Android.BootstrapTasks.sln
$(call SYSTEM_DOTNET_BINLOG,prepare-workloads) src/workloads/workloads.csproj
$(call DOTNET_BINLOG,prepare-java.interop) $(SOLUTION) -t:PrepareJavaInterop
$(call SYSTEM_DOTNET_BINLOG,prepare-build-tools-inventory) build-tools/build-tools-inventory/build-tools-inventory.proj
$(call SYSTEM_DOTNET_BINLOG,prepare) build-tools/scripts/Prepare.proj -t:Prepare

.PHONY: install-dotnet
install-dotnet:
Expand Down
31 changes: 0 additions & 31 deletions Xamarin.Android.BootstrapTasks.sln

This file was deleted.

3 changes: 1 addition & 2 deletions before.Xamarin.Android.sln.targets
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildThisFileDirectory)build-tools\scripts\DotNet.targets" />
<Import Project="$(MSBuildThisFileDirectory)build-tools\scripts\Prepare.proj" />
<Import Project="$(MSBuildThisFileDirectory)build-tools\scripts\ImportExportDocs.targets" />
<Import Project="$(MSBuildThisFileDirectory)build-tools\scripts\PrepareWindows.targets" Condition=" '$(OS)' == 'Windows_NT' " />
<Import Project="$(MSBuildThisFileDirectory)tests\api-compatibility\api-compatibility.targets" />
</Project>
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,7 +19,6 @@
<ItemGroup>
<ProjectReference Include="..\xa-prep-tasks\xa-prep-tasks.csproj" />
<ProjectReference Include="..\..\external\xamarin-android-tools\src\Microsoft.Android.Build.BaseTasks\Microsoft.Android.Build.BaseTasks.csproj" />
<ProjectReference Include="..\..\external\xamarin-android-tools\src\Xamarin.Android.Tools.AndroidSdk\Xamarin.Android.Tools.AndroidSdk.csproj" />
</ItemGroup>

<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
Expand Down

This file was deleted.

Original file line numberDiff line numberDiff line change
Expand Up@@ -267,7 +267,7 @@ void dataReceived (object sender, DataReceivedEventArgs args)
LogError ($"CheckApiCompatibility found nonacceptable Api breakages for ApiLevel: {ApiLevel}.{Environment.NewLine}{string.Join (Environment.NewLine, lines)}");
ReportMissingLines (acceptableIssuesFile.FullName, lines);

var missingItems = CodeGenDiff.GenerateMissingItems (CodeGenPath, contractAssembly.FullName, implementationAssembly.FullName, JdkInfo.CreateTaskLogger (this));
var missingItems = CodeGenDiff.GenerateMissingItems (CodeGenPath, contractAssembly.FullName, implementationAssembly.FullName, CreateTaskLogger (this));
if (missingItems.Any ()) {
Log.LogMessage (MessageImportance.High, $"{Environment.NewLine}*** CodeGen missing items***{Environment.NewLine}");
var indent = 0;
Expand All@@ -291,6 +291,23 @@ void dataReceived (object sender, DataReceivedEventArgs args)
}
}

static Action<TraceLevel, string> CreateTaskLogger (Task task)
{
return (level, value) => {
switch (level) {
case TraceLevel.Error:
task.Log.LogError (value);
break;
case TraceLevel.Warning:
task.Log.LogWarning (value);
break;
default:
task.Log.LogMessage (MessageImportance.Low, "{0}", value);
break;
}
};
}

void ReportMissingLines (string acceptableIssuesFile, List<string> lines)
{
if (string.IsNullOrWhiteSpace (LinesToAdd)) {
Expand Down

This file was deleted.

Original file line numberDiff line numberDiff line change
Expand Up@@ -2,7 +2,6 @@

using System;
using System.IO;
using System.Globalization;
using System.Linq;
using System.Xml;
using Microsoft.Build.Framework;
Expand DownExpand Up@@ -44,10 +43,18 @@ public override bool Execute ()

var minVersion = ToVersion (MinimumApiLevel);
var targetVersion = ToVersion (TargetApiLevel);
var versions = new AndroidVersions (AndroidApiInfo.Select (ToAndroidVersion));
var versions = AndroidApiInfo.Select (ToAndroidVersion).ToArray ();
var stableVersions = versions
.Where (version => version.Stable)
.ToArray ();
if (stableVersions.Length == 0) {
Log.LogError ("No @(AndroidApiInfo) items are marked as stable.");
return false;
}
var maxStableVersion = stableVersions.MaxBy (version => version.TargetFrameworkVersion);
var targetApiLevel = targetVersion != null && targetVersion.Major > 0
? targetVersion
: versions.MaxStableVersion!.VersionCodeFull;
: maxStableVersion.VersionCodeFull;
var settings = new XmlWriterSettings {
OmitXmlDeclaration = true,
Indent = true,
Expand DownExpand Up@@ -81,11 +88,11 @@ public override bool Execute ()
writer.WriteEndElement (); // </PropertyGroup>

writer.WriteStartElement ("ItemGroup");
foreach (Version versionCode in versions.InstalledBindingVersions
.Where (v => v.VersionCodeFull >= minVersion)
.Select (v => v.VersionCodeFull)
foreach (Version versionCode in versions
.Select (version => version.VersionCodeFull)
.Where (version => version >= minVersion)
.Distinct ()
.OrderBy (v => v)) {
.OrderBy (version => version)) {
writer.WriteStartElement ("AndroidSdkSupportedTargetPlatformVersion");
writer.WriteAttributeString ("Include", versionCode.ToString ());
if (versionCode < targetVersion) {
Expand DownExpand Up@@ -116,7 +123,7 @@ public override bool Execute ()
return null;
}

static AndroidVersion ToAndroidVersion (ITaskItem item)
static (Version VersionCodeFull, Version TargetFrameworkVersion, bool Stable) ToAndroidVersion (ITaskItem item)
{
/*
<AndroidApiInfo Include="v16.0.99">
Expand All@@ -131,9 +138,12 @@ static AndroidVersion ToAndroidVersion (ITaskItem item)
if (!Version.TryParse (item.GetMetadata ("VersionCodeFull"), out var versionCodeFull)) {
throw new ArgumentException ($"Invalid VersionCodeFull '{item.GetMetadata ("VersionCodeFull")}' for item '{item.ItemSpec}'");
}
if (!Version.TryParse (item.ItemSpec.TrimStart ('v'), out var targetFrameworkVersion)) {
throw new ArgumentException ($"Invalid framework version '{item.ItemSpec}'");
}
bool.TryParse (item.GetMetadata ("Stable"), out bool stable);

return new AndroidVersion (versionCodeFull, item.ItemSpec.TrimStart ('v'), item.GetMetadata ("Name"), item.GetMetadata ("Id"), stable);
return (versionCodeFull, targetFrameworkVersion, stable);
}
}
}
Loading
Loading