Skip to content

Commit

Permalink
Feature/fat version (#569)
Browse files Browse the repository at this point in the history
* adds ilrepack
* builds both thin and fat
* makes ReleaseFat default test configuration
* fixes test configuration
  • Loading branch information
pardeike authored Feb 3, 2024
1 parent 04ba15b commit 6a1059b
Show file tree
Hide file tree
Showing 9 changed files with 103 additions and 86 deletions.
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<HarmonyVersion>2.3.0.0</HarmonyVersion>
<HarmonyPrerelease>-prerelease.5</HarmonyPrerelease>
<HarmonyPrerelease>-prerelease.7</HarmonyPrerelease>
<MonoModCoreVersion>1.1.0-prerelease.2</MonoModCoreVersion>
</PropertyGroup>

Expand Down
62 changes: 40 additions & 22 deletions Harmony.sln
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29509.3
# Visual Studio Version 17
VisualStudioVersion = 17.8.34525.116
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{887FC7DA-9A29-4130-92E7-66E21E76CAC4}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
.gitattributes = .gitattributes
.gitignore = .gitignore
_config.yml = _config.yml
azure-pipelines-job-template.yml = azure-pipelines-job-template.yml
azure-pipelines.yml = azure-pipelines.yml
CNAME = CNAME
Expand All @@ -17,6 +16,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
global.json = global.json
LICENSE = LICENSE
README.md = README.md
_config.yml = _config.yml
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Harmony", "Harmony\Harmony.csproj", "{69AEE16A-B6E7-4642-8081-3928B32455DF}"
Expand All @@ -28,30 +28,48 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Documentation", "Harmony\Do
{69AEE16A-B6E7-4642-8081-3928B32455DF} = {69AEE16A-B6E7-4642-8081-3928B32455DF}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestLibrary", "TestLibrary\TestLibrary.csproj", "{11F828EC-7C50-48F4-A30D-9BED06837F3A}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestLibrary", "TestLibrary\TestLibrary.csproj", "{11F828EC-7C50-48F4-A30D-9BED06837F3A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
DebugFat|Any CPU = DebugFat|Any CPU
DebugThin|Any CPU = DebugThin|Any CPU
ReleaseFat|Any CPU = ReleaseFat|Any CPU
ReleaseThin|Any CPU = ReleaseThin|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{69AEE16A-B6E7-4642-8081-3928B32455DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{69AEE16A-B6E7-4642-8081-3928B32455DF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{69AEE16A-B6E7-4642-8081-3928B32455DF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{69AEE16A-B6E7-4642-8081-3928B32455DF}.Release|Any CPU.Build.0 = Release|Any CPU
{DEE74EFC-29A8-4704-8536-7DA38D3999F7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DEE74EFC-29A8-4704-8536-7DA38D3999F7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DEE74EFC-29A8-4704-8536-7DA38D3999F7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DEE74EFC-29A8-4704-8536-7DA38D3999F7}.Release|Any CPU.Build.0 = Release|Any CPU
{9B9DD18C-6EB7-497F-8ED5-699515A840C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9B9DD18C-6EB7-497F-8ED5-699515A840C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9B9DD18C-6EB7-497F-8ED5-699515A840C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9B9DD18C-6EB7-497F-8ED5-699515A840C5}.Release|Any CPU.Build.0 = Release|Any CPU
{11F828EC-7C50-48F4-A30D-9BED06837F3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{11F828EC-7C50-48F4-A30D-9BED06837F3A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{11F828EC-7C50-48F4-A30D-9BED06837F3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{11F828EC-7C50-48F4-A30D-9BED06837F3A}.Release|Any CPU.Build.0 = Release|Any CPU
{69AEE16A-B6E7-4642-8081-3928B32455DF}.DebugFat|Any CPU.ActiveCfg = DebugFat|Any CPU
{69AEE16A-B6E7-4642-8081-3928B32455DF}.DebugFat|Any CPU.Build.0 = DebugFat|Any CPU
{69AEE16A-B6E7-4642-8081-3928B32455DF}.DebugThin|Any CPU.ActiveCfg = DebugThin|Any CPU
{69AEE16A-B6E7-4642-8081-3928B32455DF}.DebugThin|Any CPU.Build.0 = DebugThin|Any CPU
{69AEE16A-B6E7-4642-8081-3928B32455DF}.ReleaseFat|Any CPU.ActiveCfg = ReleaseFat|Any CPU
{69AEE16A-B6E7-4642-8081-3928B32455DF}.ReleaseFat|Any CPU.Build.0 = ReleaseFat|Any CPU
{69AEE16A-B6E7-4642-8081-3928B32455DF}.ReleaseThin|Any CPU.ActiveCfg = ReleaseThin|Any CPU
{69AEE16A-B6E7-4642-8081-3928B32455DF}.ReleaseThin|Any CPU.Build.0 = ReleaseThin|Any CPU
{DEE74EFC-29A8-4704-8536-7DA38D3999F7}.DebugFat|Any CPU.ActiveCfg = Debug|Any CPU
{DEE74EFC-29A8-4704-8536-7DA38D3999F7}.DebugFat|Any CPU.Build.0 = Debug|Any CPU
{DEE74EFC-29A8-4704-8536-7DA38D3999F7}.DebugThin|Any CPU.ActiveCfg = Debug|Any CPU
{DEE74EFC-29A8-4704-8536-7DA38D3999F7}.DebugThin|Any CPU.Build.0 = Debug|Any CPU
{DEE74EFC-29A8-4704-8536-7DA38D3999F7}.ReleaseFat|Any CPU.ActiveCfg = Release|Any CPU
{DEE74EFC-29A8-4704-8536-7DA38D3999F7}.ReleaseFat|Any CPU.Build.0 = Release|Any CPU
{DEE74EFC-29A8-4704-8536-7DA38D3999F7}.ReleaseThin|Any CPU.ActiveCfg = Release|Any CPU
{DEE74EFC-29A8-4704-8536-7DA38D3999F7}.ReleaseThin|Any CPU.Build.0 = Release|Any CPU
{9B9DD18C-6EB7-497F-8ED5-699515A840C5}.DebugFat|Any CPU.ActiveCfg = Default|Any CPU
{9B9DD18C-6EB7-497F-8ED5-699515A840C5}.DebugFat|Any CPU.Build.0 = Default|Any CPU
{9B9DD18C-6EB7-497F-8ED5-699515A840C5}.DebugThin|Any CPU.ActiveCfg = Default|Any CPU
{9B9DD18C-6EB7-497F-8ED5-699515A840C5}.DebugThin|Any CPU.Build.0 = Default|Any CPU
{9B9DD18C-6EB7-497F-8ED5-699515A840C5}.ReleaseFat|Any CPU.ActiveCfg = Default|Any CPU
{9B9DD18C-6EB7-497F-8ED5-699515A840C5}.ReleaseFat|Any CPU.Build.0 = Default|Any CPU
{9B9DD18C-6EB7-497F-8ED5-699515A840C5}.ReleaseThin|Any CPU.ActiveCfg = Default|Any CPU
{9B9DD18C-6EB7-497F-8ED5-699515A840C5}.ReleaseThin|Any CPU.Build.0 = Default|Any CPU
{11F828EC-7C50-48F4-A30D-9BED06837F3A}.DebugFat|Any CPU.ActiveCfg = Debug|Any CPU
{11F828EC-7C50-48F4-A30D-9BED06837F3A}.DebugFat|Any CPU.Build.0 = Debug|Any CPU
{11F828EC-7C50-48F4-A30D-9BED06837F3A}.DebugThin|Any CPU.ActiveCfg = Debug|Any CPU
{11F828EC-7C50-48F4-A30D-9BED06837F3A}.DebugThin|Any CPU.Build.0 = Debug|Any CPU
{11F828EC-7C50-48F4-A30D-9BED06837F3A}.ReleaseFat|Any CPU.ActiveCfg = Release|Any CPU
{11F828EC-7C50-48F4-A30D-9BED06837F3A}.ReleaseFat|Any CPU.Build.0 = Release|Any CPU
{11F828EC-7C50-48F4-A30D-9BED06837F3A}.ReleaseThin|Any CPU.ActiveCfg = Release|Any CPU
{11F828EC-7C50-48F4-A30D-9BED06837F3A}.ReleaseThin|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
17 changes: 2 additions & 15 deletions Harmony/Documentation/Documentation.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,15 @@
<IntermediateOutputPath>obj</IntermediateOutputPath>
<OutputPath>obj</OutputPath>
<CheckEolTargetFramework>false</CheckEolTargetFramework>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\Harmony.csproj" />
</ItemGroup>

<PropertyGroup Condition="'$(Configuration)'=='Debug'">
<Optimize>false</Optimize>
<DebugType>full</DebugType>
<DebugSymbols>true</DebugSymbols>
<DefineConstants>DEBUG</DefineConstants>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)'=='Release'">
<Configurations>Default</Configurations>
<Optimize>true</Optimize>
<DebugType>none</DebugType>
<DebugSymbols>false</DebugSymbols>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\Harmony.csproj" />
<PackageReference Include="MonoMod.Core" Version="$(MonoModCoreVersion)" />

<!-- Reference assemblies are needed for non-Windows .NET Framework targeting builds. -->
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" />
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net35" Version="1.0.3">
Expand Down
81 changes: 36 additions & 45 deletions Harmony/Harmony.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
<Copyright>Copyright © 2016</Copyright>
<Description>A general non-destructive patch library for .NET and Mono modules</Description>
<PackageId>Lib.Harmony</PackageId>
<PackageId Condition="'$(Configuration)'=='DebugThin' Or '$(Configuration)'=='ReleaseThin'">Lib.Harmony.Thin</PackageId>
<Authors>Andreas Pardeike</Authors>
<AssemblyName>0Harmony</AssemblyName>
<SignAssembly>true</SignAssembly>
Expand All @@ -23,87 +24,66 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<LangVersion>preview</LangVersion>
<DefaultItemExcludes>$(DefaultItemExcludes);Documentation/**</DefaultItemExcludes>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<CheckEolTargetFramework>false</CheckEolTargetFramework>
<NoWarn>$(NoWarn);SYSLIB0011</NoWarn>
<Version>$(HarmonyVersion)</Version>
<AssemblyVersion>$(HarmonyVersion)</AssemblyVersion>
<FileVersion>$(HarmonyVersion)</FileVersion>
<PackageVersion>$(HarmonyVersion)$(HarmonyPrerelease)</PackageVersion>
<InformationalVersion>$(HarmonyVersion)$(HarmonyPrerelease)</InformationalVersion>
<NoWarn>$(NoWarn);NU5131</NoWarn>
<NoWarn>$(NoWarn);SYSLIB0011;NU5131</NoWarn>
<Configurations>DebugThin;DebugFat;ReleaseThin;ReleaseFat</Configurations>
</PropertyGroup>

<!-- In .NET 5.0 Binary Formatters are off by default. Support is added for .NET 5.0+ for fallback JSON Serialization -->
<Choose>
<When Condition="'$(TargetFramework)'=='net5.0' Or '$(TargetFramework)'=='net6.0' Or '$(TargetFramework)'=='net7.0' Or '$(TargetFramework)'=='net8.0'">
<PropertyGroup>
<IsNET5OrGreater>true</IsNET5OrGreater>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<IsNET5OrGreater>false</IsNET5OrGreater>
</PropertyGroup>
</Otherwise>
</Choose>

<Choose>
<!--
Ideally would check for .NET Core and .NET 5.0+ via TargetFrameworkIdentifier being .NETCoreApp, but that property isn't defined at this point,
so instead, relying on the fact that all .NET Core and .NET 5.0+ (and .NET Standard) have a period in their TFMs.
-->
<When Condition="$(TargetFramework.Contains('.'))">
<PropertyGroup>
<IsCoreOrStandard>true</IsCoreOrStandard>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<IsCoreOrStandard>false</IsCoreOrStandard>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
</PropertyGroup>
</Otherwise>
</Choose>
<PropertyGroup Condition="'$(TargetFramework)'=='net5.0' Or '$(TargetFramework)'=='net6.0' Or '$(TargetFramework)'=='net7.0' Or '$(TargetFramework)'=='net8.0'">
<IsNET5OrGreater>true</IsNET5OrGreater>
</PropertyGroup>
<PropertyGroup Condition="'$(IsNET5OrGreater)' != 'true'">
<IsNET5OrGreater>false</IsNET5OrGreater>
</PropertyGroup>

<ItemGroup>
<None Include="..\README.md" Pack="true" PackagePath="" />
<None Include="..\LICENSE" Pack="true" PackagePath="" />
<None Include="..\HarmonyLogo.png" Pack="true" Visible="false" PackagePath="" />
</ItemGroup>

<PropertyGroup Condition="'$(Configuration)'=='Debug'">
<PropertyGroup Condition="'$(Configuration)'=='DebugThin' Or '$(Configuration)'=='DebugFat'">
<Optimize>false</Optimize>
<DebugType>full</DebugType>
<DebugSymbols>true</DebugSymbols>
<DefineConstants>DEBUG</DefineConstants>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)'=='Release'">
<PropertyGroup Condition="'$(Configuration)'=='ReleaseThin' Or '$(Configuration)'=='ReleaseFat'">
<Optimize>true</Optimize>
<DebugType>none</DebugType>
<DebugSymbols>false</DebugSymbols>
<ILRepackTargetsFile>$(SolutionDir)ILRepack.targets</ILRepackTargetsFile>
<ClearOutputDirectory>True</ClearOutputDirectory>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="MonoMod.Core" Version="$(MonoModCoreVersion)" />
<PackageReference Include="ILRepack.Lib.MSBuild.Task" Version="2.0.26" PrivateAssets="all" />
<PackageReference Include="MonoMod.Core" Version="$(MonoModCoreVersion)" PrivateAssets="all" />
<!-- Reference assemblies are needed for non-Windows .NET Framework targeting builds. -->
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" />
</ItemGroup>

<!-- netstandard2.0 reference assemblies -->
<PropertyGroup Condition="$(TargetFramework) == 'netstandard2.0'">
<PropertyGroup Condition="$(TargetFramework)=='netstandard2.0'">
<!-- Remove from /lib in NuGet -->
<IncludeBuildOutput>false</IncludeBuildOutput>
<!-- Create reference Assemblies instead of a full assembly -->
<ProduceOnlyReferenceAssembly>true</ProduceOnlyReferenceAssembly>
<!-- Add our target for packing -->
<TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);AddRefAssemblyToPackage</TargetsForTfmSpecificContentInPackage>
</PropertyGroup>
<ItemGroup Condition="$(TargetFramework) == 'netstandard2.0'">
<!-- Adding System.Reflection.Emit to because there are public types exposed from its's package -->
<ItemGroup Condition="$(TargetFramework)=='netstandard2.0'">
<!-- Adding System.Reflection.Emit because there are public types exposed from its's package -->
<PackageReference Include="System.Reflection.Emit" Version="4.7.0" />
</ItemGroup>
<Target Name="AddRefAssemblyToPackage" Condition="$(TargetFramework) == 'netstandard2.0'">
<Target Name="AddRefAssemblyToPackage" Condition="$(TargetFramework)=='netstandard2.0'">
<ItemGroup>
<!-- Adding the Reference Assembly and the xml documentation to /ref of NuGet -->
<TfmSpecificPackageFile Include="$(OutDir)$(AssemblyName).dll">
Expand Down Expand Up @@ -144,15 +124,26 @@
<Delete Files="@(OldNugetPackages)" />
</Target>

<Target Name="Zip" AfterTargets="Pack" DependsOnTargets="CleanZip" Condition="'$(Configuration)'=='Release'">
<ZipDirectory SourceDirectory="$(MSBuildThisFileDirectory)bin\$(Configuration)" DestinationFile="$(MSBuildThisFileDirectory)bin\Harmony.$(Version).zip" Overwrite="true" />
</Target>

<Target Name="CleanZip" AfterTargets="Clean">
<ItemGroup>
<OldZipFiles Include="$(MSBuildThisFileDirectory)bin\*.zip" />
<OldZipFiles Include="$(MSBuildThisFileDirectory)bin\Harmony-Thin.*.zip" Condition="'$(Configuration)'=='ReleaseThin'"/>
<OldZipFiles Include="$(MSBuildThisFileDirectory)bin\Harmony-Fat.*.zip" Condition="'$(Configuration)'=='ReleaseFat'"/>
</ItemGroup>
<Delete Files="@(OldZipFiles)" />
</Target>

<Target Name="RemoveExtraDlls" AfterTargets="Pack">
<ItemGroup Condition="'$(Configuration)'=='DebugThin' Or '$(Configuration)'=='ReleaseThin'">
<ExtraDlls Include="$(MSBuildThisFileDirectory)bin\**\MonoMod.*.dll" />
<ExtraDlls Include="$(MSBuildThisFileDirectory)bin\**\Mono.*.dll" />
<ExtraDlls Include="$(MSBuildThisFileDirectory)bin\**\System.*.dll" />
</ItemGroup>
<Delete Files="@(ExtraDlls)" />
</Target>

<Target Name="Zip" AfterTargets="RemoveExtraDlls" DependsOnTargets="CleanZip">
<ZipDirectory SourceDirectory="$(MSBuildThisFileDirectory)bin\$(Configuration)" DestinationFile="$(MSBuildThisFileDirectory)bin\Harmony-Thin.$(Version).zip" Overwrite="true" Condition="'$(Configuration)'=='ReleaseThin'"/>
<ZipDirectory SourceDirectory="$(MSBuildThisFileDirectory)bin\$(Configuration)" DestinationFile="$(MSBuildThisFileDirectory)bin\Harmony-Fat.$(Version).zip" Overwrite="true" Condition="'$(Configuration)'=='ReleaseFat'"/>
</Target>

</Project>
1 change: 1 addition & 0 deletions HarmonyTests/HarmonyTests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
<LangVersion>preview</LangVersion>
<IsPackable>false</IsPackable>
<CheckEolTargetFramework>false</CheckEolTargetFramework>
<Configurations>Debug;Release</Configurations>
</PropertyGroup>

<!-- In .NET 5.0 Binary Formatters are off by default. Support is added for .NET 5.0+ for fallback JSON Serialization -->
Expand Down
1 change: 0 additions & 1 deletion HarmonyTests/Patching/Assets/PatchClasses.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using HarmonyLib;
using MonoMod.Utils.Cil;
using System;
using System.Collections;
using System.Collections.Generic;
Expand Down
9 changes: 9 additions & 0 deletions ILRepack.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="ILRepacker" AfterTargets="Build" Condition="'$(Configuration)' == 'DebugFat' Or '$(Configuration)' == 'ReleaseFat'">
<ItemGroup>
<InputAssemblies Include="$(OutputPath)\*.dll" />
</ItemGroup>
<ILRepack InputAssemblies="@(InputAssemblies)" OutputFile="$(OutputPath)\$(AssemblyName).dll" CopyAttributes="true" XmlDocumentation="true" Parallel="true" TargetKind="Dll" Wildcards="true" />
</Target>
</Project>
1 change: 1 addition & 0 deletions TestLibrary/TestLibrary.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
<LangVersion>preview</LangVersion>
<IsPackable>false</IsPackable>
<CheckEolTargetFramework>false</CheckEolTargetFramework>
<Configurations>Debug;Release</Configurations>
</PropertyGroup>

<ItemGroup>
Expand Down
15 changes: 13 additions & 2 deletions azure-pipelines-job-template.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,33 @@
parameters:

- name: dependsOn
type: string
default: ''

- name: os
type: string
values: [windows, ubuntu, macOS]

- name: runtimeType
type: string
values: [dotnet, mono]
default: dotnet

- name: architecture
type: string
values: [x86, x64]

- name: frameworks
type: object

- name: buildConfiguration
type: string
default: ReleaseFat

- name: testConfiguration
type: string
default: Release

- name: publishBuild
type: boolean
default: false
Expand Down Expand Up @@ -101,7 +112,7 @@ jobs:
inputs:
command: test
projects: HarmonyTests
arguments: "--no-build --configuration ${{parameters.buildConfiguration}} --framework ${{framework}} --logger \"console;verbosity=normal\" $(blameArg) -- $(runSettingsArgs)"
arguments: "--no-build --configuration ${{parameters.testConfiguration}} --framework ${{framework}} --logger \"console;verbosity=normal\" $(blameArg) -- $(runSettingsArgs)"
publishTestResults: true
# .NET Framework on non-Windows implicitly always uses mono.
${{ if and(ne(parameters.os, 'windows'), not(contains(framework, '.'))) }}:
Expand Down Expand Up @@ -129,7 +140,7 @@ jobs:
# Execute the tests via mono + vstest.console.
mono="$(eval $programFilesCmd)/Mono/bin/mono.exe"
vstest="$(vswhere.exe -latest -property installationPath)/Common7/IDE/CommonExtensions/Microsoft/TestWindow/vstest.console.exe"
"$mono" "$vstest" "HarmonyTests/bin/${{parameters.buildConfiguration}}/${{framework}}/HarmonyTests.dll" --Framework:${{framework}} --logger:trx --ResultsDirectory:"$(Agent.TempDirectory)" $(blameArg) -- $(runSettingsArgs)
"$mono" "$vstest" "HarmonyTests/bin/${{parameters.testConfiguration}}/${{framework}}/HarmonyTests.dll" --Framework:${{framework}} --logger:trx --ResultsDirectory:"$(Agent.TempDirectory)" $(blameArg) -- $(runSettingsArgs)
displayName: "Test ${{replace(framework, 'net35', 'net35 in CLR 4.0 \"compatibility mode\"')}}"
condition: succeededOrFailed()
env:
Expand Down

0 comments on commit 6a1059b

Please sign in to comment.