mirror of https://github.com/dotnet/runtime
Move mobile AppBuilder & AOTCompiler projects into tools-local (#36478)
Moving the projects will make sure their artifacts are always available to the different CI legs.
This commit is contained in:
parent
ec08b85572
commit
b6ef0a54ad
41
Build.proj
41
Build.proj
|
@ -27,43 +27,10 @@
|
||||||
<Import Project="$(RepositoryEngineeringDir)restore\docs.targets" Condition="'$(DotNetBuildFromSource)' != 'true'" />
|
<Import Project="$(RepositoryEngineeringDir)restore\docs.targets" Condition="'$(DotNetBuildFromSource)' != 'true'" />
|
||||||
<Import Project="$(RepositoryEngineeringDir)restore\optimizationData.targets" Condition="'$(DotNetBuildFromSource)' != 'true' and '$(EnableNgenOptimization)' == 'true'" />
|
<Import Project="$(RepositoryEngineeringDir)restore\optimizationData.targets" Condition="'$(DotNetBuildFromSource)' != 'true' and '$(EnableNgenOptimization)' == 'true'" />
|
||||||
|
|
||||||
<!--
|
<Target Name="BuildLocalTasks"
|
||||||
Use synthetic inputs/outputs to avoid building it all the time. This should let devs build with
|
BeforeTargets="Restore">
|
||||||
MSBuild node reuse enabled (the Arcade default). If it were built every time, it would hit file
|
<MSBuild Projects="$(RepoTasksDir)tasks.proj"
|
||||||
locking issues vs. the persistent nodes that loaded the task DLL for the previous build. It
|
Targets="BuildAndRestoreIncrementally"/>
|
||||||
isn't particularly accurate, but better than nothing.
|
|
||||||
-->
|
|
||||||
<Target Name="BuildRepoTasks"
|
|
||||||
DependsOnTargets="GetRepoTasksSrc"
|
|
||||||
BeforeTargets="Restore"
|
|
||||||
Inputs="@(RepoTasksSrc)"
|
|
||||||
Outputs="$(RepoTasksOutputFile)">
|
|
||||||
<ItemGroup>
|
|
||||||
<RepoTaskProjects Include="$(RepoTasksDir)**\*.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<MSBuild Projects="@(RepoTaskProjects)"
|
|
||||||
Properties="MSBuildRestoreSessionId=$([System.Guid]::NewGuid());Configuration=Debug;Platform=AnyCPU"
|
|
||||||
Targets="Restore"/>
|
|
||||||
|
|
||||||
<MSBuild Projects="@(RepoTaskProjects)"
|
|
||||||
Properties="Configuration=Debug;Platform=AnyCPU"
|
|
||||||
Targets="Build"/>
|
|
||||||
|
|
||||||
<WriteLinesToFile File="$(RepoTasksOutputFile)"
|
|
||||||
Lines="$(RepoTasksOutputFile)"
|
|
||||||
Overwrite="true" />
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
<Target Name="GetRepoTasksSrc">
|
|
||||||
<PropertyGroup>
|
|
||||||
<RepoTasksDir>$(RepoTasksDir)</RepoTasksDir>
|
|
||||||
<RepoTasksOutputFile>$(ArtifactsObjDir)runtime.tasks\Debug\build-semaphore.txt</RepoTasksOutputFile>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<RepoTasksSrc Include="$(RepoTasksDir)**\*.cs*" />
|
|
||||||
</ItemGroup>
|
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="RestoreWithoutStaticGraph"
|
<Target Name="RestoreWithoutStaticGraph"
|
||||||
|
|
|
@ -47,6 +47,16 @@
|
||||||
<CoreLibSharedDir>$([MSBuild]::NormalizeDirectory('$(LibrariesProjectRoot)', 'System.Private.CoreLib', 'src'))</CoreLibSharedDir>
|
<CoreLibSharedDir>$([MSBuild]::NormalizeDirectory('$(LibrariesProjectRoot)', 'System.Private.CoreLib', 'src'))</CoreLibSharedDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<PropertyGroup Condition="'$(TargetsMobile)' == 'true'">
|
||||||
|
<AppleAppBuilderDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AppleAppBuilder', 'Debug', '$(NetCoreAppCurrent)'))</AppleAppBuilderDir>
|
||||||
|
<AndroidAppBuilderDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AndroidAppBuilder', 'Debug', '$(NetCoreAppCurrent)'))</AndroidAppBuilderDir>
|
||||||
|
<MonoAOTCompilerDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'MonoAOTCompiler', 'Debug', '$(NetCoreAppCurrent)'))</MonoAOTCompilerDir>
|
||||||
|
|
||||||
|
<AppleAppBuilderTasksAssemblyPath>$([MSBuild]::NormalizePath('$(AppleAppBuilderDir)', 'AppleAppBuilder.dll'))</AppleAppBuilderTasksAssemblyPath>
|
||||||
|
<AndroidAppBuilderTasksAssemblyPath>$([MSBuild]::NormalizePath('$(AndroidAppBuilderDir)', 'AndroidAppBuilder.dll'))</AndroidAppBuilderTasksAssemblyPath>
|
||||||
|
<MonoAOTCompilerTasksAssemblyPath>$([MSBuild]::NormalizePath('$(MonoAOTCompilerDir)', 'MonoAOTCompiler.dll'))</MonoAOTCompilerTasksAssemblyPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
<!-- Packaging properties -->
|
<!-- Packaging properties -->
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!--
|
<!--
|
||||||
|
|
|
@ -7,8 +7,9 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<!-- Generate a self-contained app bundle for Android with tests. -->
|
<!-- Generate a self-contained app bundle for Android with tests. -->
|
||||||
<UsingTask TaskName="AndroidAppBuilderTask"
|
<UsingTask Condition="'$(TargetOS)' == 'Android'"
|
||||||
AssemblyFile="$(AndroidAppBuilderDir)AndroidAppBuilder.dll" />
|
TaskName="AndroidAppBuilderTask"
|
||||||
|
AssemblyFile="$(AndroidAppBuilderTasksAssemblyPath)" />
|
||||||
|
|
||||||
<Target Condition="'$(TargetOS)' == 'Android'" Name="BundleTestAndroidApp">
|
<Target Condition="'$(TargetOS)' == 'Android'" Name="BundleTestAndroidApp">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
@ -48,12 +49,13 @@
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<!-- Generate a self-contained app bundle for iOS with tests. -->
|
<!-- Generate a self-contained app bundle for iOS with tests. -->
|
||||||
<UsingTask TaskName="AppleAppBuilderTask"
|
<UsingTask Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS'"
|
||||||
AssemblyFile="$(AppleAppBuilderDir)AppleAppBuilder.dll" />
|
TaskName="AppleAppBuilderTask"
|
||||||
|
AssemblyFile="$(AppleAppBuilderTasksAssemblyPath)" />
|
||||||
<UsingTask TaskName="MonoAOTCompiler"
|
<UsingTask TaskName="MonoAOTCompiler"
|
||||||
AssemblyFile="$(MonoAOTCompilerDir)MonoAOTCompiler.dll" />
|
AssemblyFile="$(MonoAOTCompilerTasksAssemblyPath)" />
|
||||||
|
|
||||||
<Import Project="$(MonoProjectRoot)msbuild\AotCompilerTask\MonoAOTCompiler.props" />
|
<Import Project="$(MonoAOTCompilerDir)MonoAOTCompiler.props" />
|
||||||
|
|
||||||
<Target Condition="'$(TargetOS)' == 'iOS'" Name="BundleTestAppleApp">
|
<Target Condition="'$(TargetOS)' == 'iOS'" Name="BundleTestAppleApp">
|
||||||
<Error Condition="!Exists('$(RuntimePackRidDir)')" Text="RuntimePackRidDir=$(RuntimePackRidDir) doesn't exist" />
|
<Error Condition="!Exists('$(RuntimePackRidDir)')" Text="RuntimePackRidDir=$(RuntimePackRidDir) doesn't exist" />
|
||||||
|
|
|
@ -21,11 +21,6 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(TargetsMobile)' == 'true'">
|
<PropertyGroup Condition="'$(TargetsMobile)' == 'true'">
|
||||||
<MobileHelperTasksDirSuffix>$(NetCoreAppCurrent)-$(MonoConfiguration)</MobileHelperTasksDirSuffix>
|
|
||||||
<AppleAppBuilderDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AppleAppBuilder', '$(MobileHelperTasksDirSuffix)'))</AppleAppBuilderDir>
|
|
||||||
<AndroidAppBuilderDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AndroidAppBuilder', '$(MobileHelperTasksDirSuffix)'))</AndroidAppBuilderDir>
|
|
||||||
<MonoAOTCompilerDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'MonoAOTCompiler', '$(MobileHelperTasksDirSuffix)'))</MonoAOTCompilerDir>
|
|
||||||
|
|
||||||
<!-- Test runners are built as part of libs.pretest so we need to use libraries configuration -->
|
<!-- Test runners are built as part of libs.pretest so we need to use libraries configuration -->
|
||||||
<MobileRunnersDirSuffix>$(NetCoreAppCurrent)-$(Configuration)</MobileRunnersDirSuffix>
|
<MobileRunnersDirSuffix>$(NetCoreAppCurrent)-$(Configuration)</MobileRunnersDirSuffix>
|
||||||
<AppleTestRunnerDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AppleTestRunner', '$(MobileRunnersDirSuffix)'))</AppleTestRunnerDir>
|
<AppleTestRunnerDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AppleTestRunner', '$(MobileRunnersDirSuffix)'))</AppleTestRunnerDir>
|
||||||
|
|
|
@ -104,10 +104,10 @@
|
||||||
|
|
||||||
<!-- Paths for Mobile App Projects -->
|
<!-- Paths for Mobile App Projects -->
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<AppleAppBuilderProjDirectory>$([MSBuild]::NormalizeDirectory('$(MonoProjectRoot)', 'msbuild', 'AppleAppBuilder'))</AppleAppBuilderProjDirectory>
|
<AppleAppBuilderProjDirectory>$([MSBuild]::NormalizeDirectory('$(RepoTasksDir)', 'mobile.tasks', 'AppleAppBuilder'))</AppleAppBuilderProjDirectory>
|
||||||
<AppleTestRunnerProjDirectory>$([MSBuild]::NormalizeDirectory('$(MonoProjectRoot)', 'msbuild', 'AppleTestRunner'))</AppleTestRunnerProjDirectory>
|
<AppleTestRunnerProjDirectory>$([MSBuild]::NormalizeDirectory('$(LibrariesProjectRoot)', 'Common', tests, 'AppleTestRunner'))</AppleTestRunnerProjDirectory>
|
||||||
<AndroidAppBuilderProjDirectory>$([MSBuild]::NormalizeDirectory('$(MonoProjectRoot)', 'msbuild', 'AndroidAppBuilder'))</AndroidAppBuilderProjDirectory>
|
<AndroidAppBuilderProjDirectory>$([MSBuild]::NormalizeDirectory('$(RepoTasksDir)', 'mobile.tasks', 'AndroidAppBuilder'))</AndroidAppBuilderProjDirectory>
|
||||||
<AndroidTestRunnerProjDirectory>$([MSBuild]::NormalizeDirectory('$(MonoProjectRoot)', 'msbuild', 'AndroidTestRunner'))</AndroidTestRunnerProjDirectory>
|
<AndroidTestRunnerProjDirectory>$([MSBuild]::NormalizeDirectory('$(LibrariesProjectRoot)', 'Common', tests, 'AndroidTestRunner'))</AndroidTestRunnerProjDirectory>
|
||||||
<MonoAOTCompilerProjDirectory>$([MSBuild]::NormalizeDirectory('$(MonoProjectRoot)', 'msbuild', 'AotCompilerTask'))</MonoAOTCompilerProjDirectory>
|
<MonoAOTCompilerProjDirectory>$([MSBuild]::NormalizeDirectory('$(RepoTasksDir)', 'mobile.tasks', 'AotCompilerTask'))</MonoAOTCompilerProjDirectory>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -885,18 +885,6 @@
|
||||||
|
|
||||||
<Import Project="Directory.Build.targets" />
|
<Import Project="Directory.Build.targets" />
|
||||||
|
|
||||||
<Target Name="BuildAppleAppBuilder" Condition="'$(TargetsiOS)' == 'true' or '$(TargetstvOS)' == 'true'">
|
|
||||||
<MSBuild Projects="$(AppleAppBuilderProjDirectory)AppleAppBuilder.csproj"
|
|
||||||
Properties="Configuration=$(Configuration);Platform=$(HostArch)"
|
|
||||||
Targets="Restore;Build" />
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
<Target Name="BuildAndroidAppBuilder" Condition="'$(TargetsAndroid)' == 'true'">
|
|
||||||
<MSBuild Projects="$(AndroidAppBuilderProjDirectory)AndroidAppBuilder.csproj"
|
|
||||||
Properties="Configuration=$(Configuration);Platform=$(HostArch)"
|
|
||||||
Targets="Restore;Build" />
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
<!-- Need to publish this since it references System.Reflection.MetadataLoadContext -->
|
<!-- Need to publish this since it references System.Reflection.MetadataLoadContext -->
|
||||||
<Target Name="BuildWasmAppBuilder" Condition="'$(TargetsBrowser)' == 'true'">
|
<Target Name="BuildWasmAppBuilder" Condition="'$(TargetsBrowser)' == 'true'">
|
||||||
<MSBuild Projects="$(MonoProjectRoot)msbuild\WasmAppBuilder\WasmAppBuilder.csproj"
|
<MSBuild Projects="$(MonoProjectRoot)msbuild\WasmAppBuilder\WasmAppBuilder.csproj"
|
||||||
|
@ -904,15 +892,9 @@
|
||||||
Targets="Restore;Build;Publish"/>
|
Targets="Restore;Build;Publish"/>
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="BuildMonoAOTCompilerTask">
|
|
||||||
<MSBuild Projects="$(MonoProjectRoot)msbuild\AotCompilerTask\MonoAOTCompiler.csproj"
|
|
||||||
Properties="Configuration=$(Configuration)"
|
|
||||||
Targets="Restore;Build" />
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
<!-- Ordering matters! Overwriting the Build target. -->
|
<!-- Ordering matters! Overwriting the Build target. -->
|
||||||
<!-- General targets -->
|
<!-- General targets -->
|
||||||
<Target Name="Build" DependsOnTargets="BuildMonoRuntimeUnix;BuildMonoRuntimeWindows;BuildAppleAppBuilder;BuildAndroidAppBuilder;BuildWasmAppBuilder;BuildMonoAOTCompilerTask">
|
<Target Name="Build" DependsOnTargets="BuildMonoRuntimeUnix;BuildMonoRuntimeWindows;BuildWasmAppBuilder;">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_MonoRuntimeFilePath Condition="'$(TargetsWindows)' == 'true' and '$(Platform)' == 'x64'">$(MonoObjDir)x64\Bin\$(Configuration)\mono-2.0-sgen.dll</_MonoRuntimeFilePath>
|
<_MonoRuntimeFilePath Condition="'$(TargetsWindows)' == 'true' and '$(Platform)' == 'x64'">$(MonoObjDir)x64\Bin\$(Configuration)\mono-2.0-sgen.dll</_MonoRuntimeFilePath>
|
||||||
<_MonoRuntimeFilePath Condition="'$(TargetsWindows)' == 'true' and '$(Platform)' == 'x86'">$(MonoObjDir)Win32\Bin\$(Configuration)\mono-2.0-sgen.dll</_MonoRuntimeFilePath>
|
<_MonoRuntimeFilePath Condition="'$(TargetsWindows)' == 'true' and '$(Platform)' == 'x86'">$(MonoObjDir)Win32\Bin\$(Configuration)\mono-2.0-sgen.dll</_MonoRuntimeFilePath>
|
||||||
|
|
|
@ -5,7 +5,7 @@ DOTNET := ../../../../.././dotnet.sh
|
||||||
#export ANDROID_NDK_ROOT=/path/to/android/ndk
|
#export ANDROID_NDK_ROOT=/path/to/android/ndk
|
||||||
#export ANDROID_SDK_ROOT=/path/to/android/sdk
|
#export ANDROID_SDK_ROOT=/path/to/android/sdk
|
||||||
|
|
||||||
all: runtimepack bundle
|
all: bundle
|
||||||
|
|
||||||
bundle: clean
|
bundle: clean
|
||||||
$(DOTNET) build -c $(MONO_CONFIG) Program.csproj
|
$(DOTNET) build -c $(MONO_CONFIG) Program.csproj
|
||||||
|
@ -14,8 +14,5 @@ bundle: clean
|
||||||
deploy-launch: bundle
|
deploy-launch: bundle
|
||||||
$(DOTNET) msbuild /t:ReinstallAndLaunch
|
$(DOTNET) msbuild /t:ReinstallAndLaunch
|
||||||
|
|
||||||
runtimepack:
|
|
||||||
../../../../.././build.sh -c $(MONO_CONFIG) -os Android -arch $(MONO_ARCH) -subset Mono+Libs /p:DisableCrossgen=true
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf bin
|
rm -rf bin
|
||||||
|
|
|
@ -7,7 +7,8 @@
|
||||||
<TargetArchitecture Condition="'$(TargetArchitecture)'==''">x64</TargetArchitecture>
|
<TargetArchitecture Condition="'$(TargetArchitecture)'==''">x64</TargetArchitecture>
|
||||||
<RuntimePackDir>$(ArtifactsDir)bin\lib-runtime-packs\$(NetCoreAppCurrent)-Android-$(Configuration)-$(TargetArchitecture)\runtimes\android-$(TargetArchitecture)</RuntimePackDir>
|
<RuntimePackDir>$(ArtifactsDir)bin\lib-runtime-packs\$(NetCoreAppCurrent)-Android-$(Configuration)-$(TargetArchitecture)\runtimes\android-$(TargetArchitecture)</RuntimePackDir>
|
||||||
<BundleDir>$(MSBuildThisFileDirectory)\bin\bundle</BundleDir>
|
<BundleDir>$(MSBuildThisFileDirectory)\bin\bundle</BundleDir>
|
||||||
<AndroidAppBuilderDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AndroidAppBuilder', '$(NetCoreAppCurrent)-$(Configuration)'))</AndroidAppBuilderDir>
|
<AndroidAppBuilderDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AndroidAppBuilder', 'Debug', '$(NetCoreAppCurrent)'))</AndroidAppBuilderDir>
|
||||||
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Target Name="RebuildAndroidAppBuilder">
|
<Target Name="RebuildAndroidAppBuilder">
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
MONO_CONFIG=Debug
|
MONO_CONFIG=Debug
|
||||||
MONO_ARCH=arm64
|
MONO_ARCH=x64
|
||||||
DOTNET := ../../../../.././dotnet.sh
|
DOTNET := ../../../../.././dotnet.sh
|
||||||
USE_LLVM=True
|
USE_LLVM=True
|
||||||
|
|
||||||
# usage example:
|
# usage example:
|
||||||
# 'make all MONO_ARCH=x64 MONO_CONFIG=Release' to build the app for simulator
|
# 'make all MONO_ARCH=x64 MONO_CONFIG=Release' to build the app for simulator
|
||||||
all: runtimepack bundle
|
all: bundle
|
||||||
|
|
||||||
program:
|
program:
|
||||||
$(DOTNET) build -c $(MONO_CONFIG) Program.csproj
|
$(DOTNET) build -c $(MONO_CONFIG) Program.csproj
|
||||||
|
@ -17,8 +17,5 @@ bundle: clean program
|
||||||
deploy-sim:
|
deploy-sim:
|
||||||
$(DOTNET) msbuild /t:IosDeployToSimulator /p:Configuration=$(MONO_CONFIG) /p:TargetArchitecture=$(MONO_ARCH)
|
$(DOTNET) msbuild /t:IosDeployToSimulator /p:Configuration=$(MONO_CONFIG) /p:TargetArchitecture=$(MONO_ARCH)
|
||||||
|
|
||||||
runtimepack:
|
|
||||||
../../../../.././build.sh -c $(MONO_CONFIG) -os iOS -arch $(MONO_ARCH) -subset Mono+Libs /p:DisableCrossgen=true
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf bin
|
rm -rf bin
|
||||||
|
|
|
@ -9,9 +9,11 @@
|
||||||
<RuntimePackDir>$(ArtifactsDir)bin\lib-runtime-packs\$(NetCoreAppCurrent)-iOS-$(Configuration)-$(TargetArchitecture)\runtimes\ios-$(TargetArchitecture)</RuntimePackDir>
|
<RuntimePackDir>$(ArtifactsDir)bin\lib-runtime-packs\$(NetCoreAppCurrent)-iOS-$(Configuration)-$(TargetArchitecture)\runtimes\ios-$(TargetArchitecture)</RuntimePackDir>
|
||||||
<MonoRuntimeDir>$(ArtifactsDir)bin\mono\iOS.$(TargetArchitecture).$(Configuration)</MonoRuntimeDir>
|
<MonoRuntimeDir>$(ArtifactsDir)bin\mono\iOS.$(TargetArchitecture).$(Configuration)</MonoRuntimeDir>
|
||||||
<BundleDir>$(MSBuildThisFileDirectory)\bin\bundle</BundleDir>
|
<BundleDir>$(MSBuildThisFileDirectory)\bin\bundle</BundleDir>
|
||||||
<AppleAppBuilderDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AppleAppBuilder', '$(NetCoreAppCurrent)-$(Configuration)'))</AppleAppBuilderDir>
|
<AppleAppBuilderDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AppleAppBuilder', 'Debug', '$(NetCoreAppCurrent)'))</AppleAppBuilderDir>
|
||||||
<MonoAOTCompilerDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'MonoAOTCompiler', '$(NetCoreAppCurrent)-$(Configuration)'))</MonoAOTCompilerDir>
|
<MonoAOTCompilerDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'MonoAOTCompiler', 'Debug', '$(NetCoreAppCurrent)'))</MonoAOTCompilerDir>
|
||||||
<RunAOTCompilation Condition="'$(TargetArchitecture)' == 'arm64' or '$(TargetArchitecture)' == 'arm'">true</RunAOTCompilation>
|
<RunAOTCompilation Condition="'$(TargetArchitecture)' == 'arm64' or '$(TargetArchitecture)' == 'arm'">true</RunAOTCompilation>
|
||||||
|
<Optimized Condition="'$(Configuration)' != 'Debug'">true</Optimized>
|
||||||
|
<Optimized Condition="'$(Configuration)' == 'Debug'">false</Optimized>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Target Name="RebuildAppleAppBuilder">
|
<Target Name="RebuildAppleAppBuilder">
|
||||||
|
@ -84,7 +86,7 @@
|
||||||
BuildAppBundle="True"
|
BuildAppBundle="True"
|
||||||
DevTeamProvisioning="$(DevTeamProvisioning)"
|
DevTeamProvisioning="$(DevTeamProvisioning)"
|
||||||
OutputDirectory="$(BundleDir)"
|
OutputDirectory="$(BundleDir)"
|
||||||
Optimized="True"
|
Optimized="$(Optimized)"
|
||||||
AppDir="$(BundleDir)">
|
AppDir="$(BundleDir)">
|
||||||
<Output TaskParameter="AppBundlePath" PropertyName="AppBundlePath" />
|
<Output TaskParameter="AppBundlePath" PropertyName="AppBundlePath" />
|
||||||
<Output TaskParameter="XcodeProjectPath" PropertyName="XcodeProjectPath" />
|
<Output TaskParameter="XcodeProjectPath" PropertyName="XcodeProjectPath" />
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
<TargetFrameworks>$(NetCoreAppCurrent)</TargetFrameworks>
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||||
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
|
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<EmbeddedResource Include="Templates\*.*" />
|
<EmbeddedResource Include="Templates\*.*" />
|
|
@ -1,8 +1,10 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
<TargetFrameworks>$(NetCoreAppCurrent)</TargetFrameworks>
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||||
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
|
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.Build" Version="$(RefOnlyMicrosoftBuildVersion)" />
|
<PackageReference Include="Microsoft.Build" Version="$(RefOnlyMicrosoftBuildVersion)" />
|
||||||
|
@ -14,4 +16,9 @@
|
||||||
<Compile Include="MonoAOTCompiler.cs" />
|
<Compile Include="MonoAOTCompiler.cs" />
|
||||||
<Compile Include="Utils.cs" />
|
<Compile Include="Utils.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="MonoAOTCompiler.props">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
|
@ -1,8 +1,10 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
<TargetFrameworks>$(NetCoreAppCurrent)</TargetFrameworks>
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||||
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
|
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<EmbeddedResource Include="Templates\*.*" />
|
<EmbeddedResource Include="Templates\*.*" />
|
|
@ -0,0 +1,48 @@
|
||||||
|
<Project Sdk="Microsoft.Build.Traversal">
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="$(MSBuildThisFileDirectory)**\*.csproj" Exclude="$(MSBuildProjectFullPath)" />
|
||||||
|
<ProjectReference Remove="$(MSBuildThisFileDirectory)mobile.tasks\AndroidAppBuilder\AndroidAppBuilder.csproj"
|
||||||
|
Condition="'$(TargetOS)' != 'Android'" />
|
||||||
|
<ProjectReference Remove="$(MSBuildThisFileDirectory)mobile.tasks\AppleAppBuilder\AppleAppBuilder.csproj"
|
||||||
|
Condition="'$(TargetOS)' != 'iOS' and '$(TargetOS)' != 'tvOS'" />
|
||||||
|
<ProjectReference Remove="$(MSBuildThisFileDirectory)mobile.tasks\AotCompilerTask\MonoAOTCompiler.csproj"
|
||||||
|
Condition="'$(TargetsMobile)' != 'true'" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Use synthetic inputs/outputs to avoid building it all the time. This should let devs build with
|
||||||
|
MSBuild node reuse enabled (the Arcade default). If it were built every time, it would hit file
|
||||||
|
locking issues vs. the persistent nodes that loaded the task DLL for the previous build. It
|
||||||
|
isn't particularly accurate, but better than nothing.
|
||||||
|
-->
|
||||||
|
<Target Name="BuildAndRestoreIncrementally"
|
||||||
|
DependsOnTargets="GetTasksSrc"
|
||||||
|
Inputs="@(TasksSrc)"
|
||||||
|
Outputs="$(TasksIntermediateFile)">
|
||||||
|
<ItemGroup>
|
||||||
|
<TaskProject Include="$(MSBuildProjectFullPath)" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<MSBuild Projects="@(TaskProject)"
|
||||||
|
Properties="MSBuildRestoreSessionId=$([System.Guid]::NewGuid());Configuration=Debug;Platform=AnyCPU"
|
||||||
|
Targets="Restore"/>
|
||||||
|
|
||||||
|
<MSBuild Projects="@(TaskProject)"
|
||||||
|
Properties="Configuration=Debug;Platform=AnyCPU"
|
||||||
|
Targets="Build"/>
|
||||||
|
|
||||||
|
<WriteLinesToFile File="$(TasksIntermediateFile)"
|
||||||
|
Lines="$(TasksIntermediateFile)"
|
||||||
|
Overwrite="true" />
|
||||||
|
</Target>
|
||||||
|
|
||||||
|
<Target Name="GetTasksSrc">
|
||||||
|
<PropertyGroup>
|
||||||
|
<TasksIntermediateFile>$([MSBuild]::NormalizePath('$(ArtifactsObjDir)', '$(MSBuildProjectName)', 'Debug', 'build-semaphore.txt'))</TasksIntermediateFile>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<TasksSrc Include="$(MSBuildThisFileDirectory)**\*.cs*;$(MSBuildThisFileDirectory)**\*.*proj" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Target>
|
||||||
|
</Project>
|
Loading…
Reference in New Issue