Skip to content

Commit bcf5ba6

Browse files
committed
[build] Use xaprepare to provision Android tools
1 parent 0e489de commit bcf5ba6

File tree

8 files changed

+33
-24
lines changed

8 files changed

+33
-24
lines changed

build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/CreateAndroidEmulator.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,11 @@ void Run (string android)
9292
if (Log.HasLoggedErrors)
9393
return;
9494

95+
string fullSystemImagePath = Path.Combine (AndroidSdkHome, "system-images", $"android-{SdkVersion}", "default", AndroidAbi);
9596
File.AppendAllLines (configPath, new string[] {
9697
$"disk.dataPartition.size={diskSize}M",
97-
$"hw.ramSize={ramSize}"
98+
$"hw.ramSize={ramSize}",
99+
$"image.sysdir.1={fullSystemImagePath}"
98100
});
99101
}
100102

build-tools/automation/azure-pipelines.yaml

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -253,11 +253,18 @@ stages:
253253

254254
- template: yaml-templates/run-installer.yaml
255255

256-
# HACK - Provision Emulator
256+
- task: MSBuild@1
257+
displayName: build xaprepare
258+
inputs:
259+
solution: build-tools/xaprepare/xaprepare.sln
260+
configuration: $(XA.Build.Configuration)
261+
msbuildArguments: /t:Restore,Build
262+
257263
- script: |
258-
make prepare CONFIGURATION=$(ApkTestConfiguration) V=1 MSBUILD=msbuild MSBUILD_ARGS="$(AutoProvisionArgs)"
259-
git clean -xfd
260-
displayName: (hack) make prepare - provision emulator
264+
mono build-tools/xaprepare/xaprepare/bin/$(XA.Build.Configuration)/xaprepare.exe --s=UpdateMono --auto-provision=yes --auto-provision-uses-sudo=yes --no-emoji --run-mode=CI
265+
mono build-tools/xaprepare/xaprepare/bin/$(XA.Build.Configuration)/xaprepare.exe --s=Required --auto-provision=yes --auto-provision-uses-sudo=yes --no-emoji --run-mode=CI
266+
mono build-tools/xaprepare/xaprepare/bin/$(XA.Build.Configuration)/xaprepare.exe --s=AndroidToolchain --no-emoji --run-mode=CI
267+
displayName: provision dependencies
261268
262269
- task: NuGetCommand@2
263270
displayName: nuget restore Xamarin.Android.Tools.sln
@@ -415,7 +422,14 @@ stages:
415422
- task: MSBuild@1
416423
displayName: package results
417424
inputs:
418-
solution: build-tools\Xamarin.Android.Tools.BootstrapTasks\Xamarin.Android.Tools.BootstrapTasks.csproj
425+
solution: build-tools/xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks.csproj
419426
configuration: $(ApkTestConfiguration)
420-
msbuildArguments: /t:ZipTestResults /p:TestResultZipOutputPath=$(Build.ArtifactStagingDirectory)
427+
msbuildArguments: /t:ZipBuildStatus;ZipTestResults /p:BuildStatusZipOutputPath=$(Build.ArtifactStagingDirectory) /p:TestResultZipOutputPath=$(Build.ArtifactStagingDirectory)
428+
condition: always()
429+
430+
- task: PublishPipelineArtifact@0
431+
displayName: upload artifacts
432+
inputs:
433+
artifactName: mac-apk-test-results
434+
targetPath: $(Build.ArtifactStagingDirectory)
421435
condition: always()

build-tools/automation/yaml-templates/apk-instrumentation.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ parameters:
33
testName: []
44
project: []
55
testResultsFiles: []
6-
extraBuildArgs: []
6+
extraBuildArgs: ""
77
testResultsFormat: NUnit
88
packageType: Apk
99

@@ -15,7 +15,7 @@ steps:
1515
configuration: ${{ parameters.configuration }}
1616
msbuildArguments: >
1717
/t:AcquireAndroidTarget,SignAndroidPackage,UndeployTestApks,DeployTest${{ parameters.packageType }}s,RunTestApks,RenameApkTestCases,ReportComponentFailures
18-
/bl:$(System.DefaultWorkingDirectory)/bin/Test${{ parameters.configuration }}run${{ parameters.testName }}.binlog
18+
/bl:$(System.DefaultWorkingDirectory)/bin/Test${{ parameters.configuration }}/run${{ parameters.testName }}.binlog
1919
${{ parameters.extraBuildArgs }}
2020
condition: succeededOrFailed()
2121

build-tools/scripts/Jar.targets

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,8 @@
77
<_JavacSourceVersion Condition=" '$(_JavacSourceVersion)' == '' ">1.5</_JavacSourceVersion>
88
<_JavacTargetVersion Condition="$(_JdkVersion.StartsWith ('9'))">1.8</_JavacTargetVersion>
99
<_JavacTargetVersion Condition=" '$(_JavacTargetVersion)' == '' ">1.6</_JavacTargetVersion>
10-
<JarPath Condition=" '$(JarPath)' == '' And !$([MSBuild]::IsOsPlatform(Windows)) ">$(JavaSdkDirectory)\bin\jar</JarPath>
11-
<JarPath Condition=" '$(JarPath)' == '' And $([MSBuild]::IsOsPlatform(Windows)) ">$(JavaSdkDirectory)\bin\jar.exe</JarPath>
12-
<JavaCPath Condition=" '$(JavaCPath)' == '' And !$([MSBuild]::IsOsPlatform(Windows)) ">$(JavaSdkDirectory)\bin\javac</JavaCPath>
13-
<JavaCPath Condition=" '$(JavaCPath)' == '' And $([MSBuild]::IsOsPlatform(Windows)) ">$(JavaSdkDirectory)\bin\javac.exe</JavaCPath>
10+
<JarPath Condition=" '$(JarPath)' == '' ">$(JavaSdkDirectory)\bin\jar</JarPath>
11+
<JavaCPath Condition=" '$(JavaCPath)' == '' ">$(JavaSdkDirectory)\bin\javac</JavaCPath>
1412
</PropertyGroup>
1513
</Target>
1614
<Target Name="BuildTestJarFile"

build-tools/scripts/TestApks.targets

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -177,8 +177,7 @@
177177
<_StorePass>android</_StorePass>
178178
<!-- Support for running against a system installation of XA. -->
179179
<BundleToolJarPath Condition=" !Exists('$(BundleToolJarPath)') ">$(AndroidBundleToolJarPath)</BundleToolJarPath>
180-
<JavaPath Condition=" '$(JavaPath)' == '' And !$([MSBuild]::IsOsPlatform(Windows)) ">$(JavaSdkDirectory)\bin\java</JavaPath>
181-
<JavaPath Condition=" '$(JavaPath)' == '' And $([MSBuild]::IsOsPlatform(Windows)) ">$(JavaSdkDirectory)\bin\java.exe</JavaPath>
180+
<JavaPath Condition=" '$(JavaPath)' == '' ">$(JavaSdkDirectory)\bin\java</JavaPath>
182181
</PropertyGroup>
183182
<Xamarin.Android.Tools.BootstrapTasks.BundleTool
184183
Arguments="build-apks --connected-device --overwrite --mode default --bundle &quot;%(TestAab.Identity)&quot; --output &quot;%(TestAab.Identity).apks&quot;"
@@ -303,7 +302,7 @@
303302
/>
304303
</Target>
305304
<Target Name="RenameApkTestCases"
306-
Condition=" '@(TestApk)' != '' ">
305+
Condition=" '@(TestApk)' != '' Or '@(TestAab)' != '' ">
307306
<RenameTestCases
308307
Condition=" '%(TestApkInstrumentation.ResultsPath)' != '' "
309308
Configuration="$(Configuration)"

build-tools/xa-prep-tasks/Xamarin.Android.BuildTools.PrepTasks/ProcessLogcatTiming.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ public override bool Execute ()
5353
} else {
5454
if (line.Contains ($"Process {ApplicationPackageName} (pid {PID}) has died")) {
5555
Log.LogError ("Application crash detected. Could not collect performance data.");
56-
reader.Close ();
5756
return false;
5857
}
5958

@@ -99,11 +98,8 @@ public override bool Execute ()
9998
WriteResults ();
10099
} else {
101100
Log.LogError ("Application start wasn't detected. Could not collect performance data.");
102-
reader.Close ();
103101
return false;
104102
}
105-
106-
reader.Close ();
107103
}
108104

109105
return true;

tests/CodeGen-Binding/Xamarin.Android.LibraryProjectZip-LibBinding/Xamarin.Android.LibraryProjectZip-LibBinding.targets

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3-
<Import Project="..\..\..\build-tools\scripts\Jar.targets" />
4-
<UsingTask AssemblyFile="..\..\..\bin\Build$(Configuration)\xa-prep-tasks.dll" TaskName="Xamarin.Android.BuildTools.PrepTasks.ReplaceFileContents" />
3+
<Import Project="$(XamarinAndroidSourcePath)build-tools\scripts\Jar.targets" />
4+
<UsingTask AssemblyFile="$(XamarinAndroidSourcePath)bin\Build$(Configuration)\xa-prep-tasks.dll" TaskName="Xamarin.Android.BuildTools.PrepTasks.ReplaceFileContents" />
55
<Target Name="BuildNativeLibs"
66
DependsOnTargets="AndroidPrepareForBuild;_GetJavacVersions"
77
Inputs="jni\simple-lib.c;jni\Android.mk"

tests/Xamarin.Forms-Performance-Integration/Droid/Xamarin.Forms.Performance.Integration.Droid.targets

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<Import Project="Xamarin.Forms.Performance.Integration.Droid.projitems" />
4-
<Import Project="..\..\..\build-tools\scripts\TestApks.targets" />
5-
<Import Project="..\..\..\build-tools\scripts\JavaInteropDllConfigs.targets" />
4+
<Import Project="$(XamarinAndroidSourcePath)build-tools\scripts\TestApks.targets" />
5+
<Import Project="$(XamarinAndroidSourcePath)build-tools\scripts\JavaInteropDllConfigs.targets" />
66
<Target Name="EnsureJavaInteropDllConfigs"
77
Condition="Exists ('$(XAInstallPrefix)xbuild\Xamarin\Android\Java.Interop.dll')"
88
BeforeTargets="_GenerateJniMarshalMethods"

0 commit comments

Comments
 (0)