Skip to content

Commit 741e905

Browse files
authored
Migrating Apple and Android AppBuilder and TestRunner binaries to Artifacts/Bin (#35909)
This PR is a part of #35123. This PR achieves two things: 1. Migrates Apple and Android AppBuilder and TestRunner binaries to `<repo-root>/artifacts/bin` 2. Add property paths for Apple and Android AppBuilder and TestRunner projects and binaries After changes, when building `./build.sh -os iOS -subset Mono+Libs+Libs.Tests`, binary files are no longer produced in `<repo-root>/src/mono/msbuild/`. Instead, they can be found in `<repo-root>/artifacts/bin/`
1 parent af1db3e commit 741e905

10 files changed

Lines changed: 33 additions & 18 deletions

File tree

eng/testing/tests.props

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,13 @@
2020
<_withoutCategories Condition="!$(_withCategories.Contains('failing'))">$(_withoutCategories);failing</_withoutCategories>
2121
</PropertyGroup>
2222

23+
<PropertyGroup>
24+
<AppleAppBuilder>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AppleAppBuilder'))</AppleAppBuilder>
25+
<AppleTestRunner>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AppleTestRunner'))</AppleTestRunner>
26+
<AndroidAppBuilder>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AndroidAppBuilder'))</AndroidAppBuilder>
27+
<AndroidTestRunner>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AndroidTestRunner'))</AndroidTestRunner>
28+
</PropertyGroup>
29+
2330
<!--
2431
Unit/Functional/Integration test support.
2532
Supported runners: xunit.

eng/testing/tests.targets

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,10 @@
104104
<!-- Generate a self-contained app bundle for Android with tests.
105105
This target is executed once build is done for a test lib (after CopyFilesToOutputDirectory target) -->
106106
<UsingTask TaskName="AndroidAppBuilderTask"
107-
AssemblyFile="$(ArtifactsObjDir)mono\AndroidAppBuilder\$(HostArch)\$(Configuration)\AndroidAppBuilder.dll" />
107+
AssemblyFile="$(AndroidAppBuilder)\$(HostArch)\$(Configuration)\AndroidAppBuilder.dll" />
108108
<Target Condition="'$(TargetOS)' == 'Android'" Name="BundleTestAndroidApp" AfterTargets="CopyFilesToOutputDirectory">
109109
<PropertyGroup>
110110
<BundleDir>$(OutDir)\Bundle</BundleDir>
111-
<AndroidTestRunner>$(RepoRoot)\src\mono\msbuild\AndroidTestRunner\bin</AndroidTestRunner>
112111
<AndroidAbi Condition="'$(TargetArchitecture)'=='arm64'">arm64-v8a</AndroidAbi>
113112
<AndroidAbi Condition="'$(TargetArchitecture)'=='arm'">armeabi</AndroidAbi>
114113
<AndroidAbi Condition="'$(TargetArchitecture)'=='x64'">x86_64</AndroidAbi>
@@ -165,11 +164,10 @@
165164
<!-- Generate a self-contained app bundle for iOS with tests.
166165
This target is executed once build is done for a test lib (after CopyFilesToOutputDirectory target) -->
167166
<UsingTask TaskName="AppleAppBuilderTask"
168-
AssemblyFile="$(ArtifactsObjDir)mono\AppleAppBuilder\$(HostArch)\$(Configuration)\AppleAppBuilder.dll" />
167+
AssemblyFile="$(AppleAppBuilder)\$(HostArch)\$(Configuration)\AppleAppBuilder.dll" />
169168
<Target Condition="'$(TargetOS)' == 'iOS'" Name="BundleTestAppleApp" AfterTargets="CopyFilesToOutputDirectory">
170169
<PropertyGroup>
171170
<BundleDir>$(OutDir)\Bundle</BundleDir>
172-
<AppleTestRunner>$(RepoRoot)\src\mono\msbuild\AppleTestRunner\bin</AppleTestRunner>
173171
</PropertyGroup>
174172
<!-- We need to copy additional stuff into $(OutDir)\Bundle
175173
1) The whole BCL

src/mono/Directory.Build.props

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,4 +101,12 @@
101101
<MonoObjDir>$(ArtifactsObjDir)mono/$(PlatformConfigPathPart)/</MonoObjDir>
102102
<MonoLLVMDir Condition="('$(MonoEnableLLVM)' == 'true' or '$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'Browser') and '$(MonoLLVMDir)' == ''">$(MonoObjDir)llvm</MonoLLVMDir>
103103
</PropertyGroup>
104+
105+
<!-- Paths for Mobile App Projects -->
106+
<PropertyGroup>
107+
<AppleAppBuilderProjDirectory>$([MSBuild]::NormalizeDirectory('$(MonoProjectRoot)', 'msbuild', 'AppleAppBuilder'))</AppleAppBuilderProjDirectory>
108+
<AppleTestRunnerProjDirectory>$([MSBuild]::NormalizeDirectory('$(MonoProjectRoot)', 'msbuild', 'AppleTestRunner'))</AppleTestRunnerProjDirectory>
109+
<AndroidAppBuilderProjDirectory>$([MSBuild]::NormalizeDirectory('$(MonoProjectRoot)', 'msbuild', 'AndroidAppBuilder'))</AndroidAppBuilderProjDirectory>
110+
<AndroidTestRunnerProjDirectory>$([MSBuild]::NormalizeDirectory('$(MonoProjectRoot)', 'msbuild', 'AndroidTestRunner'))</AndroidTestRunnerProjDirectory>
111+
</PropertyGroup>
104112
</Project>

src/mono/mono.proj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -927,19 +927,19 @@
927927
<Import Project="Directory.Build.targets" />
928928

929929
<Target Name="BuildAppleAppBuilder">
930-
<MSBuild Projects="$(MonoProjectRoot)msbuild\AppleAppBuilder\AppleAppBuilder.csproj"
930+
<MSBuild Projects="$(AppleAppBuilderProjDirectory)AppleAppBuilder.csproj"
931931
Properties="Configuration=$(Configuration);Platform=$(HostArch)"
932932
Targets="Restore;Build" />
933-
<MSBuild Projects="$(MonoProjectRoot)msbuild\AppleTestRunner\AppleTestRunner.csproj"
933+
<MSBuild Projects="$(AppleTestRunnerProjDirectory)AppleTestRunner.csproj"
934934
Properties="Configuration=$(Configuration)"
935935
Targets="Restore;Build" />
936936
</Target>
937937

938938
<Target Name="BuildAndroidAppBuilder">
939-
<MSBuild Projects="$(MonoProjectRoot)msbuild\AndroidAppBuilder\AndroidAppBuilder.csproj"
939+
<MSBuild Projects="$(AndroidAppBuilderProjDirectory)AndroidAppBuilder.csproj"
940940
Properties="Configuration=$(Configuration);Platform=$(HostArch)"
941941
Targets="Restore;Build" />
942-
<MSBuild Projects="$(MonoProjectRoot)msbuild\AndroidTestRunner\AndroidTestRunner.csproj"
942+
<MSBuild Projects="$(AndroidTestRunnerProjDirectory)AndroidTestRunner.csproj"
943943
Properties="Configuration=$(Configuration)"
944944
Targets="Restore;Build" />
945945
</Target>

src/mono/msbuild/AndroidAppBuilder/AndroidAppBuilder.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<OutputType>Library</OutputType>
4-
<OutputPath>bin</OutputPath>
4+
<OutputPath>$(AndroidAppBuilder)</OutputPath>
55
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
66
<Nullable>enable</Nullable>
77
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>

src/mono/msbuild/AndroidTestRunner/AndroidTestRunner.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<OutputType>Exe</OutputType>
4-
<OutputPath>bin</OutputPath>
4+
<OutputPath>$(AndroidTestRunner)</OutputPath>
55
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
66
<Nullable>enable</Nullable>
77
</PropertyGroup>

src/mono/msbuild/AppleAppBuilder/AppleAppBuilder.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<OutputType>Library</OutputType>
4-
<OutputPath>bin</OutputPath>
4+
<OutputPath>$(AppleAppBuilder)</OutputPath>
55
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
66
<Nullable>enable</Nullable>
77
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>

src/mono/msbuild/AppleTestRunner/AppleTestRunner.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<OutputType>Exe</OutputType>
4-
<OutputPath>bin</OutputPath>
4+
<OutputPath>$(AppleTestRunner)</OutputPath>
55
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
66
<Nullable>enable</Nullable>
77
</PropertyGroup>

src/mono/netcore/sample/Android/Program.csproj

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,16 @@
66
<TargetArchitecture Condition="'$(TargetArchitecture)'==''">x64</TargetArchitecture>
77
<RuntimePackDir>$(ArtifactsDir)bin\lib-runtime-packs\runtimes\android-$(TargetArchitecture)</RuntimePackDir>
88
<BundleDir>$(MSBuildThisFileDirectory)\bin\bundle</BundleDir>
9+
<AndroidAppBuilder>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AndroidAppBuilder'))</AndroidAppBuilder>
910
</PropertyGroup>
1011

1112
<Target Name="RebuildAndroidAppBuilder">
12-
<MSBuild Projects="$(RepoRoot)src\mono\msbuild\AndroidAppBuilder\AndroidAppBuilder.csproj"
13-
Properties="Configuration=$(Configuration)" Targets="Restore;Build" />
13+
<MSBuild Projects="$(AndroidAppBuilderProjDirectory)\AndroidAppBuilder.csproj"
14+
Properties="Configuration=$(Configuration);Platform=$(HostArch)" Targets="Restore;Build" />
1415
</Target>
1516

1617
<UsingTask TaskName="AndroidAppBuilderTask"
17-
AssemblyFile="$(ArtifactsObjDir)mono\AndroidAppBuilder\$(TargetArchitecture)\$(Configuration)\AndroidAppBuilder.dll" />
18+
AssemblyFile="$(AndroidAppBuilder)\$(HostArch)\$(Configuration)\AndroidAppBuilder.dll" />
1819

1920
<Target Name="BuildAppBundle" DependsOnTargets="RebuildAndroidAppBuilder">
2021
<PropertyGroup>

src/mono/netcore/sample/iOS/Program.csproj

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,16 @@
77
<RuntimePackDir>$(ArtifactsDir)bin\lib-runtime-packs\runtimes\ios-$(TargetArchitecture)</RuntimePackDir>
88
<MonoRuntimeDir>$(ArtifactsDir)bin\mono\iOS.$(TargetArchitecture).$(Configuration)</MonoRuntimeDir>
99
<BundleDir>$(MSBuildThisFileDirectory)\bin\bundle</BundleDir>
10+
<AppleAppBuilder>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AppleAppBuilder'))</AppleAppBuilder>
1011
</PropertyGroup>
1112

1213
<Target Name="RebuildAppleAppBuilder">
13-
<MSBuild Projects="$(RepoRoot)src\mono\msbuild\AppleAppBuilder\AppleAppBuilder.csproj"
14-
Properties="Configuration=$(Configuration)" Targets="Restore;Build" />
14+
<MSBuild Projects="$(AppleAppBuilderProjDirectory)AppleAppBuilder.csproj"
15+
Properties="Configuration=$(Configuration);Platform=$(HostArch)" Targets="Restore;Build" />
1516
</Target>
1617

1718
<UsingTask TaskName="AppleAppBuilderTask"
18-
AssemblyFile="$(ArtifactsObjDir)mono\AppleAppBuilder\$(TargetArchitecture)\$(Configuration)\AppleAppBuilder.dll" />
19+
AssemblyFile="$(AppleAppBuilder)\$(HostArch)\$(Configuration)\AppleAppBuilder.dll" />
1920

2021
<Target Name="BuildAppBundle" DependsOnTargets="RebuildAppleAppBuilder">
2122
<PropertyGroup>

0 commit comments

Comments
 (0)