Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bring up full library test CI runs on iOS / tvOS devices #59503

Merged
merged 80 commits into from
Nov 2, 2021
Merged
Show file tree
Hide file tree
Changes from 77 commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
64ef141
iOS AOT run w/ smaller test files
Aug 13, 2021
f7f87f7
Merge remote-tracking branch 'upstream/main' into test-zip-app
Aug 13, 2021
2e1ee0e
Bump timeout. Skip some tests that fail aot
Aug 14, 2021
336ec94
Merge remote-tracking branch 'upstream/main' into test-zip-app
Aug 14, 2021
9b29dc5
Print out space used and number of tests processed
Aug 15, 2021
4d678d5
Structure iOS test build to be able to run on helix
Sep 3, 2021
c42ef12
Get past race by enabling logging. Test passes on helix now
Sep 9, 2021
c69a4cd
Enable building on helix for other apple configurations
Sep 9, 2021
5324672
Integrate soft trimming
Sep 14, 2021
f052234
Update template to work with arcade changes
Sep 20, 2021
fe39010
Merge remote-tracking branch 'upstream/main' into build-ios-tests-helix
Sep 20, 2021
d610108
Post merge with main adjustments
Sep 21, 2021
f7bb825
Bring up library tests on iOS / tvOS devices
Sep 22, 2021
f084ae9
Bump arcade / cleanup
Sep 23, 2021
17a2bb2
fix sim runs
Sep 24, 2021
e5d84bc
Build tweaks to fix running tests locally
Sep 28, 2021
2b2d451
Merge remote-tracking branch 'upstream/main' into build-ios-tests-helix
Sep 28, 2021
c17c79e
Preserve more
Sep 28, 2021
7b4eda7
iOS arm64 runs take about 3 hours to complete. Use tvOS to get enough…
Sep 28, 2021
074f565
Figure out why tvos is taking forever uploading to helix.
Sep 28, 2021
abc79f2
Get sim lanes working. Move back to AggressiveTrimming
Sep 28, 2021
e5e136b
Save size by chopping native assets on the build machine and reassemb…
Sep 29, 2021
d8f104e
move binlog mv to sep step
Sep 29, 2021
5d9baa6
Make sure aot/process arguments are populated in the right spot
Sep 29, 2021
784cb6b
Remove trimming so that we can exclude the runtime pack from the arti…
Sep 29, 2021
c4c83fa
Fixup xml tests and debug/release local builds
Oct 7, 2021
9fbb6c7
Merge remote-tracking branch 'upstream/main' into build-ios-tests-helix
Oct 7, 2021
62e907f
Don't use iOS device runs for now. Too little capacity
Oct 7, 2021
7b5ea33
Incorporate MonoTargetsTask
Oct 7, 2021
f90e00e
Skip generic math tests and additional test cleanup (paths)
Oct 8, 2021
650209b
Fix test
Oct 8, 2021
92259e2
Test fixup
Oct 8, 2021
5503e2b
Tweak
Oct 9, 2021
6023b0c
Set MONO_AOT_MODE environment variable to enable PlatformDetection.Is…
MaximLipnin Oct 11, 2021
891d814
Merge remote-tracking branch 'upstream/main' into build-ios-tests-helix
Oct 11, 2021
9038a81
Enable System.Runtime tests on iOS devices only. Disable some tests
Oct 11, 2021
3415de4
Merge remote-tracking branch 'origin/build-ios-tests-helix' into buil…
Oct 11, 2021
25574ed
Skip SRE and fix more tests
Oct 11, 2021
fe194f7
Merge remote-tracking branch 'upstream/main' into build-ios-tests-helix
Oct 12, 2021
56b30b7
Merge branch 'main' into build-ios-tests-helix
MaximLipnin Oct 12, 2021
2c4add6
Use a platform detection not a runtime feature
MaximLipnin Oct 12, 2021
61a895c
Skip more tests that use sre
Oct 12, 2021
41a9f51
Make sure runtimeconfig.bin is generated.
Oct 12, 2021
8ef6c49
Wrong name for runtimeconfig
Oct 12, 2021
ddc2b64
tweak
Oct 12, 2021
b52675b
Skip some tests - bump work item timeout
Oct 13, 2021
633a8f1
Exclude JitInfoIsNotPopulated test when dynamic code is not supported
MaximLipnin Oct 13, 2021
8653d81
Mark one test with an active issue on iOS
MaximLipnin Oct 13, 2021
b862450
Make sure the right test timeout is being passed along
Oct 13, 2021
2189974
Merge branch 'main' into build-ios-tests-helix
MaximLipnin Oct 14, 2021
aa50b69
Exclude more SRE tests
MaximLipnin Oct 14, 2021
d4f38c4
Exclude satellite assemblies from being AOT'd / System.Runtime.Loader…
Oct 14, 2021
f37b1cb
Merge remote-tracking branch 'origin/build-ios-tests-helix' into buil…
Oct 14, 2021
458fb58
Mark some serialization tests with an active issue on iOS/tvOS
MaximLipnin Oct 15, 2021
637c061
Merge branch 'main' into build-ios-tests-helix
MaximLipnin Oct 15, 2021
a5263c1
Mark more serialization tests with an active issue
MaximLipnin Oct 15, 2021
128238e
Mark some System.Threading.Channels.Tests with an active issue
MaximLipnin Oct 15, 2021
8ce67d4
Skip more tests that use SRE
Oct 15, 2021
7a8f49c
Active issue and skip more tests
Oct 18, 2021
3b4c602
Skip more tests
Oct 19, 2021
e1d1748
Skip loader tests that assume assemblies are in as resource files
Oct 19, 2021
680c648
Merge remote-tracking branch 'upstream/main' into build-ios-tests-helix
Oct 19, 2021
4af365a
Skip failing RegexCultureTests
Oct 20, 2021
926989d
Merge remote-tracking branch 'upstream/main' into build-ios-tests-helix
Oct 20, 2021
0003313
Merge remote-tracking branch 'upstream/main' into build-ios-tests-helix
Oct 21, 2021
2419858
Skip test suites that hang for now
Oct 21, 2021
055b85d
Restored fact that was mistakenly removed
Oct 21, 2021
81bd7fd
Feedback
Oct 21, 2021
1a3b910
Skip DllImportGenerator tests as they were failing
Oct 22, 2021
3c1babf
Search top level only for zip files
Oct 22, 2021
fdb81ff
Skip DllImportGenerator tests on all apple mobile platforms. Tweak p…
Oct 22, 2021
7d43598
Merge remote-tracking branch 'upstream/main' into build-ios-tests-helix
Oct 22, 2021
e7d92da
Fix check specific platform check for catalyst
Oct 25, 2021
633dcf7
Remove old condition that was breaking unrelated projects
Oct 25, 2021
ef910cf
Feedback
Oct 26, 2021
4800f60
Merge remote-tracking branch 'upstream/main' into build-ios-tests-helix
Oct 26, 2021
df80bf0
Fix process test introduced in https://github.com/dotnet/runtime/pull…
Oct 26, 2021
0fb5d0b
PR Feedback
Oct 30, 2021
6c3c9ee
Merge remote-tracking branch 'upstream/main' into build-ios-tests-helix
Nov 2, 2021
1b75f13
Apply smoke test setting to iOS & tvOS devices
Nov 2, 2021
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
1 change: 1 addition & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
<_hostOS Condition="'$(TargetOS)' == 'Browser'">Browser</_hostOS>
<TargetOS Condition="'$(TargetOS)' == ''">$(_hostOS)</TargetOS>
<TargetsMobile Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'MacCatalyst' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'tvOSSimulator' or '$(TargetOS)' == 'Android' or '$(TargetOS)' == 'Browser'">true</TargetsMobile>
<TargetsAppleMobile Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'MacCatalyst' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'tvOSSimulator'">true</TargetsAppleMobile>
</PropertyGroup>

<!-- Platform property is required by RepoLayout.props in Arcade SDK. -->
Expand Down
3 changes: 2 additions & 1 deletion eng/pipelines/runtime-staging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ jobs:
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono
buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true /p:EnableSoftTrimming=true /p:BuildDarwinFrameworks=true
buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true /p:BuildTestsOnHelix=true /p:UsePortableRuntimePack=true /p:BuildDarwinFrameworks=true
timeoutInMinutes: 180
condition: >-
or(
Expand All @@ -185,6 +185,7 @@ jobs:
extraStepsParameters:
creator: dotnet-bot
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
extraHelixArguments: /p:NeedsToBuildiOSAppsOnHelix=true
steveisok marked this conversation as resolved.
Show resolved Hide resolved
condition: >-
or(
eq(variables['librariesContainsChange'], true),
Expand Down
5 changes: 5 additions & 0 deletions eng/testing/AppleHelixRunnerTemplate.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
XHARNESS_EXECUTION_DIR="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
XHARNESS_OUT="$XHARNESS_EXECUTION_DIR/xharness-output"

# RunCommands defined in tests.mobile.targets
[[RunCommands]]
17 changes: 10 additions & 7 deletions eng/testing/AppleRunnerTemplate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,18 @@ ASSEMBLY_NAME=$1
TARGET_ARCH=$2
TARGET_OS=$3
TEST_NAME=$4
CONFIGURATION=$5
XHARNESS_CMD="test"
XHARNESS_OUT="$EXECUTION_DIR/xharness-output"
XCODE_PATH=$(xcode-select -p)/../..

if [ -n "$5" ]; then
if [ -n "$6" ]; then
XHARNESS_CMD="run"
ADDITIONAL_ARGS=${@:5}
ADDITIONAL_ARGS=${@:6}
fi

if [[ "$CONFIGURATION" != "Debug" ]]; then $CONFIGURATION="Release"; fi

if [[ "$TARGET_OS" == "maccatalyst" ]]; then TARGET=maccatalyst; fi

if [[ "$TARGET_OS" == "iossimulator" && "$TARGET_ARCH" == "x86" ]]; then TARGET=ios-simulator-32; fi
Expand All @@ -29,11 +32,11 @@ if [[ "$TARGET_OS" == "tvossimulator" && "$TARGET_ARCH" == "arm64" ]]; then TARG
if [[ "$TARGET_OS" == "tvos" && "$TARGET_ARCH" == "arm64" ]]; then TARGET=tvos-device; fi

# "Release" in SCHEME_SDK is what xcode produces (see "bool Optimized" property in AppleAppBuilderTask)
if [[ "$TARGET" == "ios-simulator-"* ]]; then SCHEME_SDK=Release-iphonesimulator; fi
if [[ "$TARGET" == "tvos-simulator" ]]; then SCHEME_SDK=Release-appletvsimulator; fi
if [[ "$TARGET" == "ios-device" ]]; then SCHEME_SDK=Release-iphoneos; fi
if [[ "$TARGET" == "tvos-device" ]]; then SCHEME_SDK=Release-appletvos; fi
if [[ "$TARGET" == "maccatalyst" ]]; then SCHEME_SDK=Release-maccatalyst; fi
if [[ "$TARGET" == "ios-simulator-"* ]]; then SCHEME_SDK=$CONFIGURATION-iphonesimulator; fi
if [[ "$TARGET" == "tvos-simulator" ]]; then SCHEME_SDK=$CONFIGURATION-appletvsimulator; fi
if [[ "$TARGET" == "ios-device" ]]; then SCHEME_SDK=$CONFIGURATION-iphoneos; fi
if [[ "$TARGET" == "tvos-device" ]]; then SCHEME_SDK=$CONFIGURATION-appletvos; fi
if [[ "$TARGET" == "maccatalyst" ]]; then SCHEME_SDK=$CONFIGURATION-maccatalyst; fi

if [[ "$TARGET" == "ios-device" || "$TARGET" == "tvos-device" ]]; then SIGNAL_APP_END="--signal-app-end"; fi

Expand Down
187 changes: 187 additions & 0 deletions eng/testing/tests.ioslike.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
<Project>
<PropertyGroup>
<BundleTestAppTargets>$(BundleTestAppTargets);BundleTestAppleApp</BundleTestAppTargets>
</PropertyGroup>

<PropertyGroup>
<BuildTestsOn Condition="'$(ContinuousIntegrationBuild)' == 'true' and '$(Scenario)' == 'BuildAppleApps'">helix</BuildTestsOn>
<BuildTestsOn Condition="'$(BuildTestsOnHelix)' == 'true'">helix</BuildTestsOn>
<BuildTestsOn Condition="'$(BuildTestsOn)' == ''">local</BuildTestsOn>
</PropertyGroup>

<PropertyGroup Condition="'$(BuildTestsOnHelix)' == 'true'">
<_AOTBuildCommand>export PATH=$HELIX_CORRELATION_PAYLOAD/build/cmake/cmake-3.16.4-Darwin-x86_64/CMake.app/Contents/bin:$PATH &amp;&amp; </_AOTBuildCommand>
<_AOTBuildCommand>$(_AOTBuildCommand) dotnet msbuild publish/ProxyProjectForAOTOnHelix.proj /bl:$XHARNESS_OUT/AOTBuild.binlog</_AOTBuildCommand>

<!-- running aot-helix tests locally, so we can test with the same project file as CI -->
<_AOTBuildCommand Condition="'$(ContinuousIntegrationBuild)' != 'true'">$(_AOTBuildCommand) /p:RuntimeSrcDir=$(RepoRoot) /p:RuntimeConfig=$(Configuration)</_AOTBuildCommand>

<_AOTBuildCommand>$(_AOTBuildCommand) /p:XHARNESS_EXECUTION_DIR=&quot;$XHARNESS_EXECUTION_DIR&quot; /p:RunAOTCompilation=$(RunAOTCompilation) /p:TargetOS=$(TargetOS) /p:TargetArchitecture=$(TargetArchitecture) /p:MonoForceInterpreter=$(MonoForceInterpreter) /p:MonoEnableLLVM=true /p:DevTeamProvisioning=$(DevTeamProvisioning) /p:UsePortableRuntimePack=true /p:Configuration=$(Configuration)</_AOTBuildCommand>
<_AOTBuildCommand>$(_AOTBuildCommand) </_AOTBuildCommand>

<_ResetSimulatorSwitch Condition="'$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOSSimulator'">--reset-simulator</_ResetSimulatorSwitch>
<_SignalAppEndSwitch Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS'">--signal-app-end</_SignalAppEndSwitch>

<_AfterBuildCommands>
mv $XHARNESS_OUT/AOTBuild.binlog &quot;$HELIX_WORKITEM_UPLOAD_ROOT&quot;
sign &quot;$app&quot;
xharness apple test --app &quot;$app&quot; --output-directory &quot;$output_directory&quot; --target &quot;$target&quot; --timeout &quot;$timeout&quot; --xcode &quot;$xcode_path&quot; -v --launch-timeout &quot;$launch_timeout&quot; $(_ResetSimulatorSwitch) $(_SignalAppEndSwitch) --
</_AfterBuildCommands>

<RunScriptCommand>$(_AOTBuildCommand) $(_AfterBuildCommands)</RunScriptCommand>
</PropertyGroup>

<Import Project="$(MonoProjectRoot)\msbuild\apple\build\AppleApp.props"
Condition="'$(BuildTestsOn)' == 'local'" />
<Import Project="$(MonoProjectRoot)\msbuild\apple\build\AppleApp.InTree.targets"
Condition="'$(BuildTestsOn)' == 'local'" />

<PropertyGroup>
<AppleBuildAppDependsOn>PrepareForAppleBuildApp;$(AppleBuildAppDependsOn);_CopyTestArchive</AppleBuildAppDependsOn>

<BundleTestAppleAppDependsOn Condition="'$(BuildTestsOn)' == 'local'">AppleBuildApp</BundleTestAppleAppDependsOn>
<BundleTestAppleAppDependsOn Condition="'$(BuildTestsOnHelix)' == 'true'">$(BundleTestAppleAppDependsOn);_BundleAOTTestAppleAppForHelix;_CopyTestArchive</BundleTestAppleAppDependsOn>
</PropertyGroup>

<Target Name="BundleTestAppleApp" DependsOnTargets="$(BundleTestAppleAppDependsOn)" />

<UsingTask Condition="'$(BuildTestsOnHelix)' == 'true'"
TaskName="Microsoft.WebAssembly.Build.Tasks.GenerateAOTProps"
AssemblyFile="$(WasmBuildTasksAssemblyPath)" />
steveisok marked this conversation as resolved.
Show resolved Hide resolved

<Target Name="_BundleAOTTestAppleAppForHelix" DependsOnTargets="PrepareForAppleBuildApp">
<PropertyGroup>
<AppBundlePath>$(BundleDir)publish</AppBundlePath>
</PropertyGroup>

<PropertyGroup>
<_MainAssemblyPath Condition="'%(AppleAssembliesToBundle.FileName)' == $(AssemblyName) and '%(AppleAssembliesToBundle.Extension)' == '.dll'">%(AppleAssembliesToBundle.Identity)</_MainAssemblyPath>
<RuntimeConfigFilePath>$([System.IO.Path]::ChangeExtension($(_MainAssemblyPath), '.runtimeconfig.json'))</RuntimeConfigFilePath>
</PropertyGroup>

<ItemGroup>
<BundleFiles Condition="'%(AppleAssembliesToBundle._IsNative)' != 'true'"
Include="@(AppleAssembliesToBundle)" TargetDir="publish\%(AppleAssembliesToBundle.RecursiveDir)" />
<BundleFiles Include="@(AppleNativeFilesToBundle)" TargetDir="publish\%(AppleNativeFilesToBundle.RecursiveDir)" />
<BundleFiles Include="$(RuntimeConfigFilePath)" TargetDir="publish" />

<BundleFiles Include="$(MonoProjectRoot)\msbuild\apple\data\*" TargetDir="publish" />
<ExtraFiles Condition="'%(AppleAssembliesToBundle._IsNative)' == 'true'"
Include="@(AppleAssembliesToBundle)" TargetDir="extraFiles\%(AppleAssembliesToBundle.RecursiveDir)" />
</ItemGroup>

<ItemGroup Condition="'$(DebuggerSupport)' == 'true'">
<!-- Add any pdb files, if available -->
<_BundlePdbFiles Include="$([System.IO.Path]::ChangeExtension('%(AppleAssembliesToBundle.Identity)', '.pdb'))" />
<BundleFiles Include="@(_BundlePdbFiles)" TargetDir="publish" Condition="Exists(%(_BundlePdbFiles.Identity))" />
</ItemGroup>

<Copy SourceFiles="@(BundleFiles)" DestinationFolder="$(BundleDir)%(TargetDir)" />
<Copy SourceFiles="@(ExtraFiles)" DestinationFolder="$(BundleDir)\%(TargetDir)" />

<!-- Only publish artifacts minus runtime pack assets (move to dotnet build later as opposed to publish)-->
<ItemGroup Condition="'$(UsePortableRuntimePack)' == 'true'">
<_PublishBundleFiles Include="@(BundleFiles->'$(AppBundlePath)/%(FileName)%(Extension)')" />

<_RuntimePackFiles Include="$(MicrosoftNetCoreAppRuntimePackRidLibTfmDir)**\*.*" />
<_RuntimePackFiles Include="$(MicrosoftNetCoreAppRuntimePackNativeDir)*.*" />

<_UnusedRuntimePackFiles Include="@(_PublishBundleFiles)" Exclude="@(_RuntimePackFiles->'$(AppBundlePath)/%(FileName)%(Extension)')" />
<_UsedRuntimePackFiles Include="@(_PublishBundleFiles)" Exclude="@(_UnusedRuntimePackFiles)" />

<_RuntimePackFilesToDelete Include="@(_RuntimePackFiles->'$(AppBundlePath)/%(FileName)%(Extension)')" />
</ItemGroup>

<!-- Remove the runtime pack parts from the self contained app. We'll restore on helix -->
<Delete Condition="'$(UsePortableRuntimePack)' == 'true'" Files="@(_RuntimePackFilesToDelete)" />

<!-- To recreate the original project on helix, we need to set the apple properties also, same as the
library test project. Eg. $(InvariantGlobalization) -->
<ItemGroup>
<_ApplePropertyNames Include="InvariantGlobalization" />
<_ApplePropertyNames Include="AssemblyName" />
<_ApplePropertyNames Include="MonoEnableLLVM" />

<_ApplePropertiesToPass
Include="$(%(_ApplePropertyNames.Identity))"
Name="%(_ApplePropertyNames.Identity)"
ConditionToUse__="%(_ApplePropertyNames.ConditionToUse__)" />

<_AppleUsedRuntimePackFiles
Include="@(_UsedRuntimePackFiles->'%(FileName)%(Extension)')"
RemoveMetadata="_IsNative;TargetDir" />

<_AppleItemsToPass Include="@(_AppleUsedRuntimePackFiles)"
OriginalItemName__="_AppleUsedRuntimePackFiles" />

<!-- Example of passing items to the project

<_AppleItemsToPass Include="@(BundleFiles)" OriginalItemName__="BundleFiles" ConditionToUse__="'$(Foo)' != 'true'" />

-->
</ItemGroup>

<!-- This file gets imported by the project file on helix -->
<GenerateAOTProps
Properties="@(_ApplePropertiesToPass)"
Items="@(_AppleItemsToPass)"
OutputFile="$(BundleDir)publish\ProxyProjectForAOTOnHelix.props" />
</Target>

<Target Name="PrepareForAppleBuildApp">
<Error Condition="!Exists('$(MicrosoftNetCoreAppRuntimePackRidDir)')" Text="MicrosoftNetCoreAppRuntimePackRidDir=$(MicrosoftNetCoreAppRuntimePackRidDir) doesn't exist" />
<Error Condition="'$(TestArchiveTestsDir)' == ''" Text="TestArchiveTestsDir property to archive the test folder must be set." />

<WriteLinesToFile File="$(PublishDir)xunit-excludes.txt" Lines="$(XunitExcludesTxtFileContent)" Overwrite="true" />

<PropertyGroup>
<Optimized Condition="'$(Configuration)' == 'Release'">true</Optimized>
<MainLibraryFileName Condition="'$(MainLibraryFileName)' == ''">AppleTestRunner.dll</MainLibraryFileName>

<AppleAppDir>$(PublishDir)</AppleAppDir>
<AppleAppBundleDir>$(BundleDir)</AppleAppBundleDir>
</PropertyGroup>

<PropertyGroup>
<GenerateXcodeProject>true</GenerateXcodeProject>
<GenerateCMakeProject>false</GenerateCMakeProject>
<GenerateXcodeProject Condition="'$(UseAppBundleRootForBuildingTests)' == 'true'">false</GenerateXcodeProject>
<GenerateCMakeProject Condition="'$(UseAppBundleRootForBuildingTests)' == 'true' and '$(IgnoreForCI)' != 'true'">true</GenerateCMakeProject>
</PropertyGroup>

<ItemGroup>
<AppleAssembliesToBundle Include="@(NativeLibraries->'$(PublishDir)%(Identity)')">
<_InternalForceInterpret>true</_InternalForceInterpret>
<_IsNative>true</_IsNative>
</AppleAssembliesToBundle>

<_PublishAssemblies Include="$(PublishDir)\**\*.dll" Exclude="$(PublishDir)\**\*.resources.dll" />
<_SatelliteAssemblies Include="$(PublishDir)\**\*.resources.dll" />

<AppleAssembliesToBundle Include="@(_PublishAssemblies)">
<_InternalForceInterpret Condition="'$(UseMonoJustInterp)' == 'true' and '%(FileName)%(Extension)' != 'System.Private.CoreLib.dll'">true</_InternalForceInterpret>
<_IsNative>false</_IsNative>
</AppleAssembliesToBundle>

<AppleNativeFilesToBundle Include="$(PublishDir)\**\*.*" Exclude="$(PublishDir)\*.dll" />
</ItemGroup>
</Target>

<Target Name="_CopyTestArchive"
Condition="'$(ArchiveTests)' == 'true' and '$(IgnoreForCI)' != 'true'">

<!-- Adjust the variable names -->
<PropertyGroup Condition="'$(GenerateXcodeProject)' == 'true'">
<_AppBundleDir>$(AppBundlePath)/../</_AppBundleDir>
</PropertyGroup>

<MakeDir Condition="'$(GenerateXcodeProject)' == 'true'" Directories="$(TestArchiveTestsDir)" />
<ZipDirectory Condition="'$(GenerateXcodeProject)' == 'true'"
SourceDirectory="$(_AppBundleDir)"
DestinationFile="$([MSBuild]::NormalizePath('$(TestArchiveTestsDir)', '$(TestProjectName).zip'))"
Overwrite="true" />

<RemoveDir Condition="'$(NeedsToBuildiOSAppsOnHelixLocal)' != 'true'" Directories="$(OutDir)" />
mdh1418 marked this conversation as resolved.
Show resolved Hide resolved
</Target>

</Project>
Loading