Skip to content

Commit caba7b6

Browse files
authored
chore: remove custom targets, move to Directory.build.props. (#75)
* chore: remove custom targets, move to Directory.build.props. * test: fix tests and upgrade to latest verify lib.
1 parent ce1a4b8 commit caba7b6

File tree

42 files changed

+76
-249
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+76
-249
lines changed

Diff for: Directory.Build.props

+57
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,61 @@
11
<Project>
2+
<PropertyGroup>
3+
<SourceRoot Condition="$(SourceRoot) == ''">$(MSBuildThisFileDirectory)</SourceRoot>
4+
<SourcePrefix>4.0.0</SourcePrefix>
5+
</PropertyGroup>
6+
7+
<PropertyGroup>
8+
<!-- Versioning is defined from the build script. Use a default dev build if it's not defined.
9+
Sets the AssemblyVersion, AssemblyFileVersion and AssemblyInformationalVersion -->
10+
<Version Condition="'$(Version)' == ''">$(SourcePrefix)-dev</Version>
11+
<PackageVersion Condition="'$(PackageVersion)' == ''">$(SourcePrefix)-dev</PackageVersion>
12+
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
13+
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
14+
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
15+
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
16+
17+
<!--
18+
Make sure any documentation comments which are included in code get checked for syntax during the build, but do
19+
not report warnings for missing comments.
20+
21+
CS1573: Parameter 'parameter' has no matching param tag in the XML comment for 'parameter' (but other parameters do)
22+
CS1591: Missing XML comment for publicly visible type or member 'Type_or_Member'
23+
-->
24+
<GenerateDocumentationFile>true</GenerateDocumentationFile>
25+
<NoWarn>$(NoWarn),1573,1591,1712</NoWarn>
26+
27+
<!-- Show full paths for the warnings and errors -->
28+
<GenerateFullPaths>true</GenerateFullPaths>
29+
30+
<!-- Use C# 9.0 -->
31+
<LangVersion>latest</LangVersion>
32+
</PropertyGroup>
33+
34+
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
35+
<DefineConstants>$(DefineConstants);RELEASE</DefineConstants>
36+
</PropertyGroup>
37+
38+
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
39+
<DefineConstants>$(DefineConstants);CODE_ANALYSIS</DefineConstants>
40+
</PropertyGroup>
41+
42+
<!-- Common dependencies for all projects -->
43+
<ItemGroup>
44+
<AdditionalFiles Include="$(SourceRoot)scripts\stylecop.json">
45+
<Link>stylecop.json</Link>
46+
</AdditionalFiles>
47+
48+
<PackageReference Include="Stylecop.Analyzers" Condition="$(StylecopEnabled) == '' or $(StylecopEnabled) != 'false'">
49+
<Version>$(StylecopVersion)</Version>
50+
</PackageReference>
51+
</ItemGroup>
52+
53+
<!-- Code analysis settings -->
54+
<PropertyGroup>
55+
<CodeAnalysisRuleSet>$(SourceRoot)scripts/stylecop.ruleset</CodeAnalysisRuleSet>
56+
<CodeAnalysisRuleSet Condition="$(TestProject) == 'true'">$(SourceRoot)scripts/stylecop.test.ruleset</CodeAnalysisRuleSet>
57+
</PropertyGroup>
58+
259
<PropertyGroup>
360
<!-- Test Assets use the minimum supported versions -->
461
<NETTestSdkMinimumVersion>16.5.0</NETTestSdkMinimumVersion>

Diff for: scripts/settings.targets

-58
This file was deleted.

Diff for: scripts/version.props

-6
This file was deleted.

Diff for: src/Directory.Build.props

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<Project>
2+
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)..\'))" />
3+
</Project>
4+
<!-- vim: set ft=xml : -->

Diff for: src/JUnit.Xml.Package/JUnit.Xml.Package.csproj

-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<SourceRoot Condition="$(SourceRoot) == ''">..\..\</SourceRoot>
54
<PackageIcon>packageIcon.png</PackageIcon>
65
</PropertyGroup>
7-
<Import Project="$(SourceRoot)scripts/settings.targets" />
86

97
<PropertyGroup>
108
<TargetFramework>netstandard1.5</TargetFramework>

Diff for: src/JUnit.Xml.TestLogger/JUnit.Xml.TestLogger.csproj

-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
<Project Sdk="Microsoft.NET.Sdk">
2-
<PropertyGroup>
3-
<SourceRoot Condition="$(SourceRoot) == ''">..\..\</SourceRoot>
4-
</PropertyGroup>
5-
<Import Project="$(SourceRoot)scripts/settings.targets" />
62

73
<PropertyGroup>
84
<TargetFramework>netstandard1.5</TargetFramework>

Diff for: src/NUnit.Xml.Package/NUnit.Xml.Package.csproj

-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<PropertyGroup>
4-
<SourceRoot Condition="$(SourceRoot) == ''">..\..\</SourceRoot>
5-
</PropertyGroup>
6-
<Import Project="$(SourceRoot)scripts/settings.targets" />
7-
83
<PropertyGroup>
94
<TargetFramework>netstandard1.5</TargetFramework>
105
<Version>$(PackageVersion)</Version>

Diff for: src/NUnit.Xml.TestLogger/NUnit.Xml.TestLogger.csproj

-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
<Project Sdk="Microsoft.NET.Sdk">
2-
<PropertyGroup>
3-
<SourceRoot Condition="$(SourceRoot) == ''">..\..\</SourceRoot>
4-
</PropertyGroup>
5-
<Import Project="$(SourceRoot)scripts/settings.targets" />
62

73
<PropertyGroup>
84
<TargetFramework>netstandard1.5</TargetFramework>

Diff for: src/TestLogger/TestLogger.csproj

-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<PropertyGroup>
4-
<SourceRoot Condition="$(SourceRoot) == ''">..\..\</SourceRoot>
5-
</PropertyGroup>
6-
<Import Project="$(SourceRoot)scripts/settings.targets" />
7-
83
<PropertyGroup>
94
<TargetFramework>netstandard1.5</TargetFramework>
105
<AssemblyName>Spekt.TestLogger</AssemblyName>

Diff for: src/Xunit.Xml.Package/Xunit.Xml.Package.csproj

-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<PropertyGroup>
4-
<SourceRoot Condition="$(SourceRoot) == ''">..\..\</SourceRoot>
5-
</PropertyGroup>
6-
<Import Project="$(SourceRoot)scripts/settings.targets" />
7-
83
<PropertyGroup>
94
<TargetFramework>netstandard1.5</TargetFramework>
105
<Version>$(PackageVersion)</Version>

Diff for: src/Xunit.Xml.TestLogger/Xunit.Xml.TestLogger.csproj

-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<PropertyGroup>
4-
<SourceRoot Condition="$(SourceRoot) == ''">..\..\</SourceRoot>
5-
</PropertyGroup>
6-
<Import Project="$(SourceRoot)scripts/settings.targets" />
7-
83
<PropertyGroup>
94
<TargetFramework>netstandard1.5</TargetFramework>
105
<AssemblyName>Microsoft.VisualStudio.TestPlatform.Extension.Xunit.Xml.TestLogger</AssemblyName>

Diff for: test/JUnit.Xml.TestLogger.AcceptanceTests/JUnit.Xml.TestLogger.AcceptanceTests.csproj

+1-6
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<PropertyGroup>
4-
<SourceRoot Condition="$(SourceRoot) == ''">..\..\</SourceRoot>
5-
<TestProject>true</TestProject>
6-
</PropertyGroup>
7-
<Import Project="$(SourceRoot)scripts/settings.targets" />
8-
93
<PropertyGroup>
104
<TargetFramework>net8.0</TargetFramework>
115
<WarningsAsErrors>true</WarningsAsErrors>
126
<EnableCodeAnalysis>true</EnableCodeAnalysis>
137
<IsPackable>false</IsPackable>
8+
<TestProject>true</TestProject>
149
</PropertyGroup>
1510

1611
<ItemGroup>

Diff for: test/JUnit.Xml.TestLogger.UnitTests/JUnit.Xml.TestLogger.UnitTests.csproj

+1-5
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
<Project Sdk="Microsoft.NET.Sdk">
2-
<PropertyGroup>
3-
<SourceRoot Condition="$(SourceRoot) == ''">..\..\</SourceRoot>
4-
<TestProject>true</TestProject>
5-
</PropertyGroup>
6-
<Import Project="$(SourceRoot)scripts/settings.targets" />
72

83
<PropertyGroup>
94
<TargetFramework>net8.0</TargetFramework>
105
<WarningsAsErrors>true</WarningsAsErrors>
116
<EnableCodeAnalysis>true</EnableCodeAnalysis>
127
<IsPackable>false</IsPackable>
8+
<TestProject>true</TestProject>
139
</PropertyGroup>
1410

1511
<ItemGroup>

Diff for: test/Json.TestLogger.TestAdapter/Json.TestLogger.TestAdapter.csproj

-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<PropertyGroup>
4-
<SourceRoot Condition="$(SourceRoot) == ''">..\..\</SourceRoot>
5-
</PropertyGroup>
6-
<Import Project="$(SourceRoot)scripts/settings.targets" />
7-
83
<PropertyGroup>
94
<TargetFramework>netstandard1.5</TargetFramework>
105
<AssemblyName>Json.TestAdapter</AssemblyName>

Diff for: test/Json.TestLogger/Json.TestLogger.csproj

-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<PropertyGroup>
4-
<SourceRoot Condition="$(SourceRoot) == ''">..\..\</SourceRoot>
5-
</PropertyGroup>
6-
<Import Project="$(SourceRoot)scripts/settings.targets" />
7-
83
<PropertyGroup>
94
<TargetFramework>netstandard1.5</TargetFramework>
105
<AssemblyName>Json.TestLogger</AssemblyName>

Diff for: test/NUnit.Xml.TestLogger.AcceptanceTests/NUnit.Xml.TestLogger.AcceptanceTests.csproj

+1-6
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<PropertyGroup>
4-
<SourceRoot Condition="$(SourceRoot) == ''">..\..\</SourceRoot>
5-
<TestProject>true</TestProject>
6-
</PropertyGroup>
7-
<Import Project="$(SourceRoot)scripts/settings.targets" />
8-
93
<PropertyGroup>
104
<TargetFramework>net8.0</TargetFramework>
115
<WarningsAsErrors>true</WarningsAsErrors>
126
<EnableCodeAnalysis>true</EnableCodeAnalysis>
137
<IsPackable>false</IsPackable>
8+
<TestProject>true</TestProject>
149
</PropertyGroup>
1510

1611
<ItemGroup>

Diff for: test/NUnit.Xml.TestLogger.UnitTests/NUnit.Xml.TestLogger.UnitTests.csproj

+1-5
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
<Project Sdk="Microsoft.NET.Sdk">
2-
<PropertyGroup>
3-
<SourceRoot Condition="$(SourceRoot) == ''">..\..\</SourceRoot>
4-
<TestProject>true</TestProject>
5-
</PropertyGroup>
6-
<Import Project="$(SourceRoot)scripts/settings.targets" />
72

83
<PropertyGroup>
94
<TargetFramework>net8.0</TargetFramework>
105
<WarningsAsErrors>true</WarningsAsErrors>
116
<EnableCodeAnalysis>true</EnableCodeAnalysis>
127
<IsPackable>false</IsPackable>
8+
<TestProject>true</TestProject>
139
</PropertyGroup>
1410

1511
<ItemGroup>

Diff for: test/TestLogger.AcceptanceTests/TestLogger.AcceptanceTests.csproj

+2-7
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<PropertyGroup>
4-
<SourceRoot Condition="$(SourceRoot) == ''">..\..\</SourceRoot>
5-
<TestProject>true</TestProject>
6-
</PropertyGroup>
7-
<Import Project="$(SourceRoot)scripts/settings.targets" />
8-
93
<PropertyGroup>
104
<TargetFramework>net8.0</TargetFramework>
115
<WarningsAsErrors>true</WarningsAsErrors>
126
<EnableCodeAnalysis>true</EnableCodeAnalysis>
137
<IsPackable>false</IsPackable>
8+
<TestProject>true</TestProject>
149
</PropertyGroup>
1510

1611
<PropertyGroup>
@@ -53,7 +48,7 @@
5348
<Message Importance="High" Text="... Completed" />
5449
</Target>
5550
<ItemGroup>
56-
<PackageReference Include="Verify.MSTest" Version="16.3.2" />
51+
<PackageReference Include="Verify.MSTest" Version="25.0.3" />
5752
</ItemGroup>
5853
<ItemGroup>
5954
<ProjectReference Include="..\Json.TestLogger.TestAdapter\Json.TestLogger.TestAdapter.csproj" />

Diff for: test/TestLogger.AcceptanceTests/TestLoggerAcceptanceTests.cs

+7-6
Original file line numberDiff line numberDiff line change
@@ -52,17 +52,16 @@ private Task VerifyAssembly(string testAssembly, string args, string comment)
5252
settings.ScrubLinesWithReplace(x =>
5353
{
5454
var options = RegexOptions.IgnoreCase | RegexOptions.Compiled;
55-
var nameInDebugFolderMatch = new Regex(@"^( Name: ).*([\/\\]*bin[\/\\]*Debug[\/\\]*.*)$", options);
55+
var nameInDebugFolderMatch = new Regex(@".*([\/\\]*bin[\/\\]*Debug[\/\\]*.*)$", options);
5656
var prefixedMatch = new Regex(@"^(.{0,}: )(.{0,}test[\/\\]assets[\/\\]Json\.TestLogger)(.{0,})$", options);
5757
var pathMatch = new Regex(@"^(.{0,}test[\/\\]assets[\/\\]Json\.TestLogger)(.{0,})$", options);
5858

5959
if (nameInDebugFolderMatch.IsMatch(x))
6060
{
61-
// Used to take something like ' Name: C:\\lsdkjf\sdf\bin\Debug\a\b\c.txt' => ' Name: /bin/Debug/a/b/c.txt' which helps with cross dev/platform comparison
61+
// Used to take something like 'C:\\lsdkjf\sdf\bin\Debug\a\b\c.txt' => '/bin/Debug/a/b/c.txt' which helps with cross dev/platform comparison
6262
var m = nameInDebugFolderMatch.Match(x);
63-
var prefix = m.Groups[1].Captures[0].Value.Replace('\\', '/');
64-
var pathForwardSlashes = m.Groups[2].Captures[0].Value.Replace('\\', '/');
65-
x = prefix + pathForwardSlashes;
63+
var pathForwardSlashes = m.Groups[1].Captures[0].Value.Replace('\\', '/');
64+
x = pathForwardSlashes;
6665
x = x.Replace("//", "/");
6766
}
6867
else if (prefixedMatch.IsMatch(x))
@@ -88,7 +87,9 @@ private Task VerifyAssembly(string testAssembly, string args, string comment)
8887
DotnetTestFixture.Execute(testAssembly, args, collectCoverage, out var resultsFile);
8988
var testReport = JsonConvert.DeserializeObject<TestReport>(File.ReadAllText(resultsFile));
9089

91-
return this.Verify(testReport.TestAssemblies, settings);
90+
// Using VerifyJson with serialized JSON to avoid incompatibility in object serialization
91+
// between NewtonSoft.Json and Argon (the JSON serializer used by Verify)
92+
return this.VerifyJson(JsonConvert.SerializeObject(testReport.TestAssemblies), settings);
9293
}
9394
}
9495
}

Diff for: test/TestLogger.UnitTests/TestLogger.UnitTests.csproj

+1-5
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
<Project Sdk="Microsoft.NET.Sdk">
2-
<PropertyGroup>
3-
<SourceRoot Condition="$(SourceRoot) == ''">..\..\</SourceRoot>
4-
<TestProject>true</TestProject>
5-
</PropertyGroup>
6-
<Import Project="$(SourceRoot)scripts/settings.targets" />
72

83
<PropertyGroup>
94
<TargetFramework>net8.0</TargetFramework>
105
<WarningsAsErrors>true</WarningsAsErrors>
116
<EnableCodeAnalysis>true</EnableCodeAnalysis>
127
<IsPackable>false</IsPackable>
8+
<TestProject>true</TestProject>
139
</PropertyGroup>
1410

1511
<PropertyGroup Label="Configuration">

Diff for: test/Xunit.Xml.TestLogger.AcceptanceTests/Xunit.Xml.TestLogger.AcceptanceTests.csproj

+1-6
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

3-
<PropertyGroup>
4-
<SourceRoot Condition="$(SourceRoot) == ''">..\..\</SourceRoot>
5-
<TestProject>true</TestProject>
6-
</PropertyGroup>
7-
<Import Project="$(SourceRoot)scripts/settings.targets" />
8-
93
<PropertyGroup>
104
<TargetFramework>net8.0</TargetFramework>
115
<WarningsAsErrors>true</WarningsAsErrors>
126
<EnableCodeAnalysis>true</EnableCodeAnalysis>
137
<IsPackable>false</IsPackable>
8+
<TestProject>true</TestProject>
149
</PropertyGroup>
1510

1611
<ItemGroup>

0 commit comments

Comments
 (0)