Skip to content

Commit

Permalink
Add target framework sets
Browse files Browse the repository at this point in the history
  • Loading branch information
thomaslevesque committed Oct 22, 2019
1 parent 22b25d8 commit 2a5e445
Show file tree
Hide file tree
Showing 13 changed files with 91 additions and 25 deletions.
71 changes: 71 additions & 0 deletions Directory.Build.props
Expand Up @@ -17,4 +17,75 @@
</CodeAnalysisDictionary>
</ItemGroup>

<!-- Build profiles -->

<PropertyGroup>
<BuildProfile Condition=" '$(BuildProfile)' == '' ">full</BuildProfile>
</PropertyGroup>

<!-- Everything -->
<PropertyGroup Condition=" '$(BuildProfile)' == 'full' ">
<FakeItEasyTargetFrameworks>net40;net45;netstandard1.6;netstandard2.0;netstandard2.1</FakeItEasyTargetFrameworks>
<ValueTaskExtensionsTargetFrameworks>net45;netstandard1.6;netstandard2.0;netstandard2.1</ValueTaskExtensionsTargetFrameworks>
<ExampleTargetFrameworks>net45</ExampleTargetFrameworks>
<SpecsTargetFrameworks>net461;netcoreapp1.0;netcoreapp2.1;netcoreapp3.0</SpecsTargetFrameworks>
<IntegrationTestsTargetFrameworks>net461;netcoreapp1.0;netcoreapp2.1;netcoreapp3.0</IntegrationTestsTargetFrameworks>
<UnitTestsTargetFrameworks>net461;netcoreapp1.0;netcoreapp2.1;netcoreapp3.0</UnitTestsTargetFrameworks>
<AnalyzerTestsTargetFrameworks>net461;netcoreapp2.1;netcoreapp3.0</AnalyzerTestsTargetFrameworks>
<TestHelpersTargetFrameworks>net461;netstandard1.6;netstandard2.0</TestHelpersTargetFrameworks>
<ApprovalTestsTargetFrameworks>net461</ApprovalTestsTargetFrameworks>
</PropertyGroup>

<!-- .NET Core 3 / .NET Standard 2.1 -->
<PropertyGroup Condition=" '$(BuildProfile)' == 'netcore3.0' ">
<FakeItEasyTargetFrameworks>netstandard2.1</FakeItEasyTargetFrameworks>
<ValueTaskExtensionsTargetFrameworks>netstandard2.1</ValueTaskExtensionsTargetFrameworks>
<ExampleTargetFrameworks>netcoreapp3.0</ExampleTargetFrameworks>
<SpecsTargetFrameworks>netcoreapp3.0</SpecsTargetFrameworks>
<IntegrationTestsTargetFrameworks>netcoreapp3.0</IntegrationTestsTargetFrameworks>
<UnitTestsTargetFrameworks>netcoreapp3.0</UnitTestsTargetFrameworks>
<AnalyzerTestsTargetFrameworks>netcoreapp3.0</AnalyzerTestsTargetFrameworks>
<TestHelpersTargetFrameworks>netstandard2.1</TestHelpersTargetFrameworks>
<ApprovalTestsTargetFrameworks>netcoreapp3.0</ApprovalTestsTargetFrameworks>
</PropertyGroup>

<!-- .NET Core 2.1 / .NET Standard 2.0 -->
<PropertyGroup Condition=" '$(BuildProfile)' == 'netcore2.1' ">
<FakeItEasyTargetFrameworks>netstandard2.0</FakeItEasyTargetFrameworks>
<ValueTaskExtensionsTargetFrameworks>netstandard2.0</ValueTaskExtensionsTargetFrameworks>
<ExampleTargetFrameworks>netcoreapp2.1</ExampleTargetFrameworks>
<SpecsTargetFrameworks>netcoreapp2.1</SpecsTargetFrameworks>
<IntegrationTestsTargetFrameworks>netcoreapp2.1</IntegrationTestsTargetFrameworks>
<UnitTestsTargetFrameworks>netcoreapp2.1</UnitTestsTargetFrameworks>
<AnalyzerTestsTargetFrameworks>netcoreapp2.1</AnalyzerTestsTargetFrameworks>
<TestHelpersTargetFrameworks>netstandard2.0</TestHelpersTargetFrameworks>
<ApprovalTestsTargetFrameworks>netcoreapp2.1</ApprovalTestsTargetFrameworks>
</PropertyGroup>

<!-- All .NET Core / .NET Standard TFMs -->
<PropertyGroup Condition=" '$(BuildProfile)' == 'netcoreall' ">
<FakeItEasyTargetFrameworks>netstandard1.6;netstandard2.0;netstandard2.1</FakeItEasyTargetFrameworks>
<ValueTaskExtensionsTargetFrameworks>netstandard1.6;netstandard2.0;netstandard2.1</ValueTaskExtensionsTargetFrameworks>
<ExampleTargetFrameworks>netcoreapp2.1</ExampleTargetFrameworks>
<SpecsTargetFrameworks>netcoreapp1.0;netcoreapp2.1;netcoreapp3.0</SpecsTargetFrameworks>
<IntegrationTestsTargetFrameworks>netcoreapp1.0;netcoreapp2.1;netcoreapp3.0</IntegrationTestsTargetFrameworks>
<UnitTestsTargetFrameworks>netcoreapp1.0;netcoreapp2.1;netcoreapp3.0</UnitTestsTargetFrameworks>
<AnalyzerTestsTargetFrameworks>netcoreapp2.1;netcoreapp3.0</AnalyzerTestsTargetFrameworks>
<TestHelpersTargetFrameworks>netstandard1.6;netstandard2.0;netstandard2.1</TestHelpersTargetFrameworks>
<ApprovalTestsTargetFrameworks>netcoreapp3.0</ApprovalTestsTargetFrameworks>
</PropertyGroup>

<!-- .NET Framework 4.5 only -->
<PropertyGroup Condition=" '$(BuildProfile)' == 'net45' ">
<FakeItEasyTargetFrameworks>net45</FakeItEasyTargetFrameworks>
<ValueTaskExtensionsTargetFrameworks>net45</ValueTaskExtensionsTargetFrameworks>
<ExampleTargetFrameworks>net45</ExampleTargetFrameworks>
<SpecsTargetFrameworks>net461</SpecsTargetFrameworks>
<IntegrationTestsTargetFrameworks>net461</IntegrationTestsTargetFrameworks>
<UnitTestsTargetFrameworks>net461</UnitTestsTargetFrameworks>
<AnalyzerTestsTargetFrameworks>net461</AnalyzerTestsTargetFrameworks>
<TestHelpersTargetFrameworks>net461</TestHelpersTargetFrameworks>
<ApprovalTestsTargetFrameworks>net461</ApprovalTestsTargetFrameworks>
</PropertyGroup>

</Project>
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net45</TargetFramework>
<TargetFrameworks>$(ExampleTargetFrameworks)</TargetFrameworks>
</PropertyGroup>

<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion samples/FakeItEasy.Examples/FakeItEasy.Examples.csproj
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net45</TargetFramework>
<TargetFrameworks>$(ExampleTargetFrameworks)</TargetFrameworks>
<AssemblyName>FakeItEasy.Examples</AssemblyName>
</PropertyGroup>

Expand Down
@@ -1,8 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net45;netstandard1.6;netstandard2.0;netstandard2.1</TargetFrameworks>
<TargetFrameworks>$(ValueTaskExtensionsTargetFrameworks)</TargetFrameworks>
<SignAssembly>true</SignAssembly>
<IncludeBuildOutput>false</IncludeBuildOutput>
<BeforePack>AddNetStd21Placeholder;$(BeforePackOn)</BeforePack>
</PropertyGroup>

<PropertyGroup Label="Package properties">
Expand Down Expand Up @@ -40,23 +42,16 @@
<DefineConstants>$(DefineConstants);FEATURE_NETCORE_REFLECTION</DefineConstants>
</PropertyGroup>

<!-- Include PDB in package -->
<!-- Selectively include build output for package -->
<ItemGroup>
<None Include="$(OutputPath)/net45/$(AssemblyName).pdb" Pack="true" PackagePath="lib/net45" Visible="false" />
<None Include="$(OutputPath)/netstandard1.6/$(AssemblyName).pdb" Pack="true" PackagePath="lib/netstandard1.6" Visible="false" />
<None Include="$(OutputPath)/netstandard2.0/$(AssemblyName).pdb" Pack="true" PackagePath="lib/netstandard2.0" Visible="false" />
<None Include="$(OutputPath)/**/$(AssemblyName).dll" Pack="true" PackagePath="lib" Visible="false" />
<None Include="$(OutputPath)/**/$(AssemblyName).pdb" Pack="true" PackagePath="lib" Visible="false" />
<None Include="$(OutputPath)/**/$(AssemblyName).xml" Pack="true" PackagePath="lib" Visible="false" />
<None Remove="$(OutputPath)/netstandard2.1/*" />
</ItemGroup>

<!-- Exclude files from netstandard2.1 folder in package -->
<Target Name="RemoveNetStd21Files" AfterTargets="_WalkEachTargetPerFramework">
<ItemGroup>
<_BuildOutputInPackage Remove="$(MSBuildThisFileDirectory)$(IntermediateOutputPath)netstandard2.1/$(AssemblyName).*" Pack="false" />
</ItemGroup>
</Target>

<!-- Include a placeholder file in netstandard2.1 folder in package -->

<Target Name="AddNetStd21Placeholder" BeforeTargets="_WalkEachTargetPerFramework">
<Target Name="AddNetStd21Placeholder">
<WriteLinesToFile File="$(IntermediateOutputPath)_._" Overwrite="true" Lines="" />
<ItemGroup>
<None Include="$(IntermediateOutputPath)_._" Pack="true" PackagePath="lib/netstandard2.1" Visible="false" />
Expand Down
2 changes: 1 addition & 1 deletion src/FakeItEasy/FakeItEasy.csproj
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net40;net45;netstandard1.6;netstandard2.0;netstandard2.1</TargetFrameworks>
<TargetFrameworks>$(FakeItEasyTargetFrameworks)</TargetFrameworks>
<AssemblyName>FakeItEasy</AssemblyName>
<FileAlignment>512</FileAlignment>
<SignAssembly>true</SignAssembly>
Expand Down
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net461;netcoreapp2.1;netcoreapp3.0</TargetFrameworks>
<TargetFrameworks>$(AnalyzerTestsTargetFrameworks)</TargetFrameworks>
<AssemblyName>FakeItEasy.Analyzer.CSharp.Tests</AssemblyName>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
Expand Down
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net461;netcoreapp2.1;netcoreapp3.0</TargetFrameworks>
<TargetFrameworks>$(AnalyzerTestsTargetFrameworks)</TargetFrameworks>
<AssemblyName>FakeItEasy.Analyzer.VisualBasic.Tests</AssemblyName>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
Expand Down
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net461;netcoreapp1.0;netcoreapp2.1;netcoreapp3.0</TargetFrameworks>
<TargetFrameworks>$(IntegrationTestsTargetFrameworks)</TargetFrameworks>
<SignAssembly>true</SignAssembly>
</PropertyGroup>

Expand Down
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net461;netcoreapp1.0;netcoreapp2.1;netcoreapp3.0</TargetFrameworks>
<TargetFrameworks>$(IntegrationTestsTargetFrameworks)</TargetFrameworks>
<AssemblyName>FakeItEasy.IntegrationTests</AssemblyName>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
Expand Down
2 changes: 1 addition & 1 deletion tests/FakeItEasy.Specs/FakeItEasy.Specs.csproj
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net461;netcoreapp1.0;netcoreapp2.1;netcoreapp3.0</TargetFrameworks>
<TargetFrameworks>$(SpecsTargetFrameworks)</TargetFrameworks>
<AssemblyName>FakeItEasy.Specs</AssemblyName>
<CodeAnalysisRuleset>FakeItEasy.Specs.ruleset</CodeAnalysisRuleset>
<SignAssembly>true</SignAssembly>
Expand Down
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net461</TargetFrameworks>
<TargetFrameworks>$(ApprovalTestsTargetFrameworks)</TargetFrameworks>
<AssemblyName>FakeItEasy.Tests.Approval</AssemblyName>
</PropertyGroup>

Expand Down
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net461;netstandard1.6;netstandard2.0</TargetFrameworks>
<TargetFrameworks>$(TestHelpersTargetFrameworks)</TargetFrameworks>
<SignAssembly>true</SignAssembly>
</PropertyGroup>

Expand Down
2 changes: 1 addition & 1 deletion tests/FakeItEasy.Tests/FakeItEasy.Tests.csproj
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net461;netcoreapp1.0;netcoreapp2.1;netcoreapp3.0</TargetFrameworks>
<TargetFrameworks>$(UnitTestsTargetFrameworks)</TargetFrameworks>
<AssemblyName>FakeItEasy.Tests</AssemblyName>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
Expand Down

0 comments on commit 2a5e445

Please sign in to comment.