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: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,10 @@ tools/
.gradle
packages/
externals/
output/
output*/
Resource.designer.cs
generated/
generated*/
data/timings/

# User-specific files
*.suo
Expand Down
2 changes: 2 additions & 0 deletions build/cake/binderate.cake
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ Task ("binderate")
.IsDependentOn ("javadocs-gps")
.Does (() =>
{
EnsureDirectoryExists("./output");

var configFile = MakeAbsolute (new FilePath ("./config.json")).FullPath;
var basePath = MakeAbsolute (new DirectoryPath ("./")).FullPath;

Expand Down
21 changes: 21 additions & 0 deletions build/cake/build-and-package.cake
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,27 @@ Task ("nuget")
);
});

Task ("nuget-pack-without-build")
.Does
(
() =>
{
var settings = new DotNetMSBuildSettings ()
.SetConfiguration (CONFIGURATION)
.EnableBinaryLogger ($"./output/nuget-pack-without-build.{CONFIGURATION}.binlog")
.WithProperty ("NoBuild", "true")
.WithProperty ("PackageOutputPath", MakeAbsolute ((DirectoryPath)"./output/").FullPath)
.WithTarget ("Pack");

DotNetBuild
(
"./generated/AndroidX.sln",
new DotNetBuildSettings { MSBuildSettings = settings }
);
}
);


// Builds the .csproj projects
Task ("libs")
.IsDependentOn("metadata-verify")
Expand Down
2 changes: 1 addition & 1 deletion build/ci/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ parameters:
buildPool: # VM pool information

# Build Parameters
timeoutInMinutes: 300 # Max job runtime in minutes
timeoutInMinutes: 600 # Max job runtime in minutes
runAPIScan: false # Run APIScan analysis
runDotnetNextTest: false
use1ESTemplate: true
Expand Down
9 changes: 1 addition & 8 deletions build/ci/setup-environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,18 +92,11 @@ steps:
jdkSourceOption: 'PreInstalled'

- ${{ if eq(parameters.installAndroidDependencies, true) }}:
- task: DotNetCoreCLI@2
displayName: Create android template
inputs:
command: custom
custom: new
arguments: android -o $(Agent.TempDirectory)/TempDroid

- task: DotNetCoreCLI@2
displayName: Install android dependencies
inputs:
command: build
projects: $(Agent.TempDirectory)/TempDroid/TempDroid.csproj
projects: build/scripts/provision-android/provision-android.csproj
arguments: >-
-t:InstallAndroidDependencies -p:AcceptAndroidSdkLicenses=true
-p:AndroidSdkDirectory=${{ parameters.androidSdkRoot }}
Expand Down
5 changes: 5 additions & 0 deletions build/scripts/provision-android/provision-android.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-android</TargetFramework>
</PropertyGroup>
</Project>
6 changes: 3 additions & 3 deletions source/_PackageLevelCustomizations.cshtml
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@

@* .NET 9 changes some binding internals that breaks some of our hand bound code. This property reverts
to the old behavior. Once we are .NET 9+ we should redo our hand bound code and remove this. *@
@if (@Model.NuGetPackageId == "Xamarin.AndroidX.Media3.ExoPlayer")
@if (@Model.NuGetPackageId == "Xamarin.AndroidX.Media3.ExoPlayer" )
{
<PropertyGroup>
<PropertyGroup Condition="$(TargetFramework.Contains('net8.0-android'))" >
<_AndroidEmitLegacyInterfaceInvokers>true</_AndroidEmitLegacyInterfaceInvokers>
</PropertyGroup>
}
}
20 changes: 15 additions & 5 deletions utilities.cake
Original file line number Diff line number Diff line change
@@ -1,17 +1,27 @@
// debugging prerequisity
/*
debugging prerequisity
#tool nuget:?package=Cake.CoreCLR
*/
/*
dotnet cake spell-check.cake
dotnet cake spell-check.cake -t=spell-check
*/
#addin nuget:?package=WeCantSpell.Hunspell&version=5.0.0
#addin nuget:?package=WeCantSpell.Hunspell&version=6.0.0
#addin nuget:?package=Newtonsoft.Json&version=13.0.3
#addin nuget:?package=Cake.FileHelpers&version=7.0.0
#addin nuget:?package=Mono.Cecil&version=0.11.5

#addin nuget:?package=Mono.Cecil&version=0.11.6
#addin nuget:?package=HolisticWare.Xamarin.Tools.ComponentGovernance&version=0.0.1.4
#addin nuget:?package=HolisticWare.Core.Net.HTTP&version=0.0.4
#addin nuget:?package=HolisticWare.Core.IO&version=0.0.4
#addin nuget:?package=CliWrap&version=3.8.2

/*
#addin nuget:https://api.nuget.org/v3/index.json?package=Mono.Cecil&version=0.11.6
#addin nuget:https://api.nuget.org/v3/index.json??package=HolisticWare.Xamarin.Tools.ComponentGovernance&version=0.0.1.4
#addin nuget:https://api.nuget.org/v3/index.json??package=HolisticWare.Core.Net.HTTP&version=0.0.4
#addin nuget:https://api.nuget.org/v3/index.json??package=HolisticWare.Core.IO&version=0.0.4
*/

#load "build/cake/performance-timings.cake"

Expand All @@ -31,8 +41,8 @@ string file_spell_errors = "./output/spell-errors.txt";
List<string> spell_errors = null;
JArray binderator_json_array = null;

List<(string, string, string, string)> mappings_artifact_nuget = new List<(string, string, string, string)>();
Dictionary<string, string> Licenses = new Dictionary<string, string>();
List<(string, string, string, string)> mappings_artifact_nuget = new ();
Dictionary<string, string> Licenses = new ();

// modifying default method for licenses
Manifest.Defaults.VersionBasedOnFullyQualifiedArtifactIdDelegate = delegate(string fully_qualified_artifact_id)
Expand Down