diff --git a/build-tools/automation/yaml-templates/setup-test-environment.yaml b/build-tools/automation/yaml-templates/setup-test-environment.yaml index 5bbd517ab85..c8978481cd3 100644 --- a/build-tools/automation/yaml-templates/setup-test-environment.yaml +++ b/build-tools/automation/yaml-templates/setup-test-environment.yaml @@ -19,12 +19,15 @@ steps: parameters: provisionExtraArgs: ${{ parameters.provisionExtraArgs }} -- script: echo "##vso[task.setvariable variable=JI_JAVA_HOME]$HOME/Library/Android/${{ parameters.jdkTestFolder }}" +- script: | + echo "##vso[task.setvariable variable=JI_JAVA_HOME]$HOME/Library/Android/${{ parameters.jdkTestFolder }}" + echo "##vso[task.setvariable variable=DOTNET_TOOL_PATH]$HOME/Library/Android/dotnet/dotnet" displayName: set JI_JAVA_HOME condition: and(succeeded(), eq(variables['agent.os'], 'Darwin')) - script: | echo ##vso[task.setvariable variable=JI_JAVA_HOME]%USERPROFILE%\android-toolchain\${{ parameters.jdkTestFolder }} + echo ##vso[task.setvariable variable=DOTNET_TOOL_PATH]%USERPROFILE%\android-toolchain\dotnet\dotnet.exe displayName: set JI_JAVA_HOME condition: and(succeeded(), eq(variables['agent.os'], 'Windows_NT')) diff --git a/build-tools/create-packs/Microsoft.Android.Ref.proj b/build-tools/create-packs/Microsoft.Android.Ref.proj index 9b063430f99..135281612ae 100644 --- a/build-tools/create-packs/Microsoft.Android.Ref.proj +++ b/build-tools/create-packs/Microsoft.Android.Ref.proj @@ -31,7 +31,7 @@ by projects that use the Microsoft.Android framework in .NET 5. - <_AndroidRefPackAssemblies Include="$(JavaInteropSourceDirectory)\bin\$(Configuration)-netcoreapp3.1\ref\Java.Interop.dll" /> + <_AndroidRefPackAssemblies Include="$(JavaInteropSourceDirectory)\bin\$(Configuration)-net6.0\ref\Java.Interop.dll" /> <_AndroidRefPackAssemblies Include="$(_MonoAndroidNETOutputDir)ref\Mono.Android.dll" /> <_AndroidRefPackAssemblies Include="$(_MonoAndroidNETOutputDir)ref\Mono.Android.Export.dll" /> diff --git a/build-tools/xaprepare/xaprepare/Resources/JdkInfo.Windows.props.in b/build-tools/xaprepare/xaprepare/Resources/JdkInfo.Windows.props.in index 7514a8e46be..c864935858e 100644 --- a/build-tools/xaprepare/xaprepare/Resources/JdkInfo.Windows.props.in +++ b/build-tools/xaprepare/xaprepare/Resources/JdkInfo.Windows.props.in @@ -16,5 +16,6 @@ @javac@ @jar@ @javahome@ + @dotnet@ diff --git a/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.Windows.cs b/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.Windows.cs index 43a7bcc9456..670deed757b 100644 --- a/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.Windows.cs +++ b/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.Windows.cs @@ -15,6 +15,8 @@ partial void AddOSSpecificSteps (Context context, List steps) string jdkJvmPath = Path.Combine (javaSdkDirectory, "jre", "bin", "server", "jvm.dll"); string jdkIncludePathShared = Path.Combine (javaSdkDirectory, "include"); string jdkIncludePathOS = Path.Combine (jdkIncludePathShared, "win32"); + var dotnetPath = context.Properties.GetRequiredValue (KnownProperties.DotNetPreviewPath); + var dotnetTool = Path.Combine (dotnetPath, "dotnet"); var replacements = new Dictionary (StringComparer.Ordinal) { { "@JdkJvmPath@", jdkJvmPath }, @@ -24,6 +26,7 @@ partial void AddOSSpecificSteps (Context context, List steps) { "@java@", context.OS.JavaPath }, { "@jar@", context.OS.JarPath }, { "@javahome@", context.OS.JavaHome }, + { "@dotnet@", dotnetTool }, }; var step = new GeneratedPlaceholdersFile ( diff --git a/build-tools/xaprepare/xaprepare/Steps/Step_PrepareExternalJavaInterop.Unix.cs b/build-tools/xaprepare/xaprepare/Steps/Step_PrepareExternalJavaInterop.Unix.cs index b676976e7dc..7082ac1ae21 100644 --- a/build-tools/xaprepare/xaprepare/Steps/Step_PrepareExternalJavaInterop.Unix.cs +++ b/build-tools/xaprepare/xaprepare/Steps/Step_PrepareExternalJavaInterop.Unix.cs @@ -9,6 +9,9 @@ partial class Step_PrepareExternalJavaInterop async Task ExecuteOSSpecific (Context context) { string javaInteropDir = context.Properties.GetRequiredValue (KnownProperties.JavaInteropFullPath); + var dotnetPath = context.Properties.GetRequiredValue (KnownProperties.DotNetPreviewPath); + var dotnetTool = Path.Combine (dotnetPath, "dotnet"); + Log.StatusLine (); var make = new MakeRunner (context) { NoParallelJobs = true @@ -23,6 +26,7 @@ async Task ExecuteOSSpecific (Context context) $"JI_JAVA_HOME={context.OS.JavaHome}", $"JAVA_HOME={context.OS.JavaHome}", $"JI_MAX_JDK={Configurables.Defaults.MaxJDKVersion}", + $"DOTNET_TOOL_PATH={dotnetTool}" } ); if (!result) @@ -36,6 +40,7 @@ async Task ExecuteOSSpecific (Context context) $"bin/Build{context.Configuration}/JdkInfo.props", $"CONFIGURATION={context.Configuration}", $"JI_MAX_JDK={Configurables.Defaults.MaxJDKVersion}", + $"DOTNET_TOOL_PATH={dotnetTool}" } ); return result; diff --git a/external/Java.Interop b/external/Java.Interop index df4c5e7c3b7..4d0cba64f4f 160000 --- a/external/Java.Interop +++ b/external/Java.Interop @@ -1 +1 @@ -Subproject commit df4c5e7c3b703bbf8a1f332b34d12ae6c2c99a8c +Subproject commit 4d0cba64f4fcaa766c3a406dc4f43788a08ecb9c diff --git a/src/Microsoft.Android.Sdk.ILLink/Microsoft.Android.Sdk.ILLink.csproj b/src/Microsoft.Android.Sdk.ILLink/Microsoft.Android.Sdk.ILLink.csproj index 8e12748a8f1..f0c4f10354e 100644 --- a/src/Microsoft.Android.Sdk.ILLink/Microsoft.Android.Sdk.ILLink.csproj +++ b/src/Microsoft.Android.Sdk.ILLink/Microsoft.Android.Sdk.ILLink.csproj @@ -8,7 +8,7 @@ - + diff --git a/tools/xabuild/XABuild.cs b/tools/xabuild/XABuild.cs index 18b5a539170..8023b0ab2b0 100644 --- a/tools/xabuild/XABuild.cs +++ b/tools/xabuild/XABuild.cs @@ -119,6 +119,7 @@ static void CreateConfig (XABuildPaths paths) xml.Load (reader); var toolsets = xml.SelectSingleNode ("configuration/msbuildToolsets/toolset"); + SetProperty (toolsets, "XABuild", "true"); // Enables MSBuild .targets to check for xabuild SetProperty (toolsets, "VsInstallRoot", paths.VsInstallRoot); SetProperty (toolsets, "MSBuildToolsPath", paths.MSBuildBin); SetProperty (toolsets, "MSBuildToolsPath32", paths.MSBuildBin);