Browse Source

Move the feature constants from Directory.Build.props to Directory.Build.targets to be able to use TargetFrameworkIdentifier-based conditions

pull/1013/head
Kévin Chalet 6 years ago
committed by GitHub
parent
commit
8276843268
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 30
      Directory.Build.props
  2. 53
      Directory.Build.targets
  3. 14
      Directory.Packages.props
  4. 4
      src/OpenIddict.Abstractions/OpenIddict.Abstractions.csproj
  5. 4
      src/OpenIddict.Core/OpenIddict.Core.csproj
  6. 8
      src/OpenIddict.Server/OpenIddict.Server.csproj
  7. 8
      test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddict.Server.AspNetCore.IntegrationTests.csproj
  8. 4
      test/OpenIddict.Server.IntegrationTests/OpenIddict.Server.IntegrationTests.csproj
  9. 4
      test/OpenIddict.Server.Owin.IntegrationTests/OpenIddict.Server.Owin.IntegrationTests.csproj
  10. 2
      test/OpenIddict.Server.Tests/OpenIddict.Server.Tests.csproj

30
Directory.Build.props

@ -51,37 +51,9 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="JetBrains.Annotations" PrivateAssets="All" /> <PackageReference Include="JetBrains.Annotations" PrivateAssets="All" />
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" PrivateAssets="All" /> <PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" PrivateAssets="All" />
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Condition=" '$(OS)' != 'Windows_NT' " PrivateAssets="All" /> <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" PrivateAssets="All" />
</ItemGroup> </ItemGroup>
<PropertyGroup Condition=" '$(TargetFramework)' != 'net461' ">
<DefineConstants>$(DefineConstants);SUPPORTS_ECDSA</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' != 'net461' And '$(TargetFramework)' != 'netstandard2.0' ">
<DefineConstants>$(DefineConstants);SUPPORTS_CERTIFICATE_GENERATION</DefineConstants>
<DefineConstants>$(DefineConstants);SUPPORTS_DIRECT_KEY_CREATION_WITH_SPECIFIED_SIZE</DefineConstants>
<DefineConstants>$(DefineConstants);SUPPORTS_EPHEMERAL_KEY_SETS</DefineConstants>
<DefineConstants>$(DefineConstants);SUPPORTS_KEY_DERIVATION_WITH_SPECIFIED_HASH_ALGORITHM</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' != 'net461' And
'$(TargetFramework)' != 'net472' And
'$(TargetFramework)' != 'netstandard2.0' ">
<DefineConstants>$(DefineConstants);SUPPORTS_BASE64_SPAN_CONVERSION</DefineConstants>
<DefineConstants>$(DefineConstants);SUPPORTS_STATIC_RANDOM_NUMBER_GENERATOR_METHODS</DefineConstants>
<DefineConstants>$(DefineConstants);SUPPORTS_TIME_CONSTANT_COMPARISONS</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' != 'net461' And
'$(TargetFramework)' != 'net472' And
'$(TargetFramework)' != 'netcoreapp2.1' And
'$(TargetFramework)' != 'netstandard2.0' ">
<DefineConstants>$(DefineConstants);SUPPORTS_BCL_ASYNC_ENUMERABLE</DefineConstants>
<DefineConstants>$(DefineConstants);SUPPORTS_GENERIC_HOST</DefineConstants>
<DefineConstants>$(DefineConstants);SUPPORTS_SERVICE_PROVIDER_IN_HTTP_MESSAGE_HANDLER_BUILDER</DefineConstants>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<ProjectCapability Include="DynamicDependentFile" /> <ProjectCapability Include="DynamicDependentFile" />
<ProjectCapability Include="DynamicFileNesting" /> <ProjectCapability Include="DynamicFileNesting" />

53
Directory.Build.targets

@ -15,6 +15,59 @@
<PublicSign>false</PublicSign> <PublicSign>false</PublicSign>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETCoreApp' Or
('$(TargetFrameworkIdentifier)' == '.NETFramework' And
$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '4.7'))) Or
('$(TargetFrameworkIdentifier)' == '.NETStandard' And
$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '1.6'))) ">
<DefineConstants>$(DefineConstants);SUPPORTS_ECDSA</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' And
$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '2.0'))) Or
('$(TargetFrameworkIdentifier)' == '.NETFramework' And
$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '4.7.2'))) Or
('$(TargetFrameworkIdentifier)' == '.NETStandard' And
$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '2.1'))) ">
<DefineConstants>$(DefineConstants);SUPPORTS_CERTIFICATE_GENERATION</DefineConstants>
<DefineConstants>$(DefineConstants);SUPPORTS_DIRECT_KEY_CREATION_WITH_SPECIFIED_SIZE</DefineConstants>
<DefineConstants>$(DefineConstants);SUPPORTS_EPHEMERAL_KEY_SETS</DefineConstants>
<DefineConstants>$(DefineConstants);SUPPORTS_KEY_DERIVATION_WITH_SPECIFIED_HASH_ALGORITHM</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' And
$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '2.1'))) Or
('$(TargetFrameworkIdentifier)' == '.NETFramework' And
$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '4.8'))) Or
('$(TargetFrameworkIdentifier)' == '.NETStandard' And
$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '2.1'))) ">
<DefineConstants>$(DefineConstants);SUPPORTS_CERTIFICATE_HASHING_WITH_SPECIFIED_ALGORITHM</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' And
$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '2.1'))) Or
('$(TargetFrameworkIdentifier)' == '.NETStandard' And
$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '2.1'))) ">
<DefineConstants>$(DefineConstants);SUPPORTS_BASE64_SPAN_CONVERSION</DefineConstants>
<DefineConstants>$(DefineConstants);SUPPORTS_STATIC_RANDOM_NUMBER_GENERATOR_METHODS</DefineConstants>
<DefineConstants>$(DefineConstants);SUPPORTS_TIME_CONSTANT_COMPARISONS</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' And
$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '2.2'))) Or
('$(TargetFrameworkIdentifier)' == '.NETStandard' And
$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '2.1'))) ">
<DefineConstants>$(DefineConstants);SUPPORTS_GENERIC_HOST</DefineConstants>
<DefineConstants>$(DefineConstants);SUPPORTS_SERVICE_PROVIDER_IN_HTTP_MESSAGE_HANDLER_BUILDER</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' And
$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '3.0'))) Or
('$(TargetFrameworkIdentifier)' == '.NETStandard' And
$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '2.1'))) ">
<DefineConstants>$(DefineConstants);SUPPORTS_BCL_ASYNC_ENUMERABLE</DefineConstants>
</PropertyGroup>
<!-- <!--
Note: Entity Framework Core 2.x references System.Interactive.Async 3.x, that includes Note: Entity Framework Core 2.x references System.Interactive.Async 3.x, that includes
its own IAsyncEnumerable. To work around collisions between this type and the new type its own IAsyncEnumerable. To work around collisions between this type and the new type

14
Directory.Packages.props

@ -24,8 +24,12 @@
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' Or <ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' Or
'$(TargetFramework)' == 'netstandard2.0' Or ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' And
'$(TargetFramework)' == 'netcoreapp2.1'"> $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '2.0')) And
$([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '3.0'))) Or
('$(TargetFrameworkIdentifier)' == '.NETStandard' And
$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '2.0')) And
$([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '2.1'))) ">
<PackageVersion Include="Microsoft.AspNetCore.Authentication" Version="2.1.0" /> <PackageVersion Include="Microsoft.AspNetCore.Authentication" Version="2.1.0" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="2.1.0" /> <PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="2.1.0" />
<PackageVersion Include="Microsoft.AspNetCore.DataProtection" Version="2.1.0" /> <PackageVersion Include="Microsoft.AspNetCore.DataProtection" Version="2.1.0" />
@ -45,7 +49,11 @@
<PackageVersion Include="Microsoft.Extensions.WebEncoders" Version="2.1.0" /> <PackageVersion Include="Microsoft.Extensions.WebEncoders" Version="2.1.0" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.1' Or '$(TargetFramework)' == 'netcoreapp3.1' "> <ItemGroup Condition=" ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' And
$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '3.0')) And
$([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '5.0'))) Or
('$(TargetFrameworkIdentifier)' == '.NETStandard' And
$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '2.1'))) ">
<PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="3.1.0" /> <PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="3.1.0" />
<PackageVersion Include="Microsoft.AspNetCore.DataProtection" Version="3.1.0" /> <PackageVersion Include="Microsoft.AspNetCore.DataProtection" Version="3.1.0" />
<PackageVersion Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.1.0" /> <PackageVersion Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.1.0" />

4
src/OpenIddict.Abstractions/OpenIddict.Abstractions.csproj

@ -15,7 +15,9 @@
<PackageReference Include="System.Text.Json" /> <PackageReference Include="System.Text.Json" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' Or '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' Or
('$(TargetFrameworkIdentifier)' == '.NETStandard' And
$([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '2.1'))) ">
<PackageReference Include="Microsoft.Bcl.HashCode" /> <PackageReference Include="Microsoft.Bcl.HashCode" />
</ItemGroup> </ItemGroup>

4
src/OpenIddict.Core/OpenIddict.Core.csproj

@ -23,7 +23,9 @@
<Reference Include="System.ComponentModel.DataAnnotations" /> <Reference Include="System.ComponentModel.DataAnnotations" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' Or '$(TargetFramework)' == 'netstandard2.0' "> <ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' Or
('$(TargetFrameworkIdentifier)' == '.NETStandard' And
$([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '2.1'))) ">
<PackageReference Include="Portable.BouncyCastle" /> <PackageReference Include="Portable.BouncyCastle" />
</ItemGroup> </ItemGroup>

8
src/OpenIddict.Server/OpenIddict.Server.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net461;net472;netcoreapp2.1;netcoreapp3.1;netstandard2.0;netstandard2.1</TargetFrameworks> <TargetFrameworks>net461;net472;net48;netcoreapp2.1;netcoreapp3.1;netstandard2.0;netstandard2.1</TargetFrameworks>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
@ -21,9 +21,9 @@ To use the server feature on ASP.NET Core or OWIN/Katana, reference the OpenIddi
<PackageReference Include="Microsoft.IdentityModel.JsonWebTokens" /> <PackageReference Include="Microsoft.IdentityModel.JsonWebTokens" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net461' Or <ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' Or
'$(TargetFramework)' == 'net472' Or ('$(TargetFrameworkIdentifier)' == '.NETStandard' And
'$(TargetFramework)' == 'netstandard2.0' "> $([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '2.1'))) ">
<PackageReference Include="Portable.BouncyCastle" /> <PackageReference Include="Portable.BouncyCastle" />
</ItemGroup> </ItemGroup>

8
test/OpenIddict.Server.AspNetCore.IntegrationTests/OpenIddict.Server.AspNetCore.IntegrationTests.csproj

@ -1,13 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net461;net472;netcoreapp2.1;netcoreapp3.1</TargetFrameworks> <TargetFrameworks>net461;net472;net48;netcoreapp2.1;netcoreapp3.1</TargetFrameworks>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp3.1' ">
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\src\OpenIddict.Server.AspNetCore\OpenIddict.Server.AspNetCore.csproj" /> <ProjectReference Include="..\..\src\OpenIddict.Server.AspNetCore\OpenIddict.Server.AspNetCore.csproj" />
<ProjectReference Include="..\OpenIddict.Server.IntegrationTests\OpenIddict.Server.IntegrationTests.csproj" /> <ProjectReference Include="..\OpenIddict.Server.IntegrationTests\OpenIddict.Server.IntegrationTests.csproj" />
@ -17,7 +13,7 @@
<PackageReference Include="Microsoft.AspNetCore.TestHost" /> <PackageReference Include="Microsoft.AspNetCore.TestHost" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net472' "> <ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' ">
<Reference Include="System.Net.Http" /> <Reference Include="System.Net.Http" />
</ItemGroup> </ItemGroup>

4
test/OpenIddict.Server.IntegrationTests/OpenIddict.Server.IntegrationTests.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net461;net472;netcoreapp2.1;netcoreapp3.1</TargetFrameworks> <TargetFrameworks>net461;net472;net48;netcoreapp2.1;netcoreapp3.1</TargetFrameworks>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
@ -22,7 +22,7 @@
<PackageReference Include="System.Linq.Async" /> <PackageReference Include="System.Linq.Async" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net472' "> <ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' ">
<Reference Include="System.Net.Http" /> <Reference Include="System.Net.Http" />
</ItemGroup> </ItemGroup>

4
test/OpenIddict.Server.Owin.IntegrationTests/OpenIddict.Server.Owin.IntegrationTests.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net461;net472</TargetFrameworks> <TargetFrameworks>net461;net472;net48</TargetFrameworks>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
@ -13,7 +13,7 @@
<PackageReference Include="Microsoft.Owin.Testing" /> <PackageReference Include="Microsoft.Owin.Testing" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net472' "> <ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' ">
<Reference Include="System.Net.Http" /> <Reference Include="System.Net.Http" />
</ItemGroup> </ItemGroup>

2
test/OpenIddict.Server.Tests/OpenIddict.Server.Tests.csproj

@ -18,7 +18,7 @@
<ProjectReference Include="..\..\src\OpenIddict.Server\OpenIddict.Server.csproj" /> <ProjectReference Include="..\..\src\OpenIddict.Server\OpenIddict.Server.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net472' Or '$(TargetFramework)' == 'net461' "> <ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' ">
<Reference Include="System.Net.Http" /> <Reference Include="System.Net.Http" />
</ItemGroup> </ItemGroup>

Loading…
Cancel
Save