summary refs log tree commit diff
path: root/crypto/src/BouncyCastle.Crypto.csproj
blob: b4b5f8f4eadd3c5e60352bfd732934a7733eeb20 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>net6.0;netstandard2.0;net461</TargetFrameworks>
    <RootNamespace>Org.BouncyCastle</RootNamespace>
    <AssemblyOriginatorKeyFile>..\..\BouncyCastle.NET.snk</AssemblyOriginatorKeyFile>
    <SignAssembly>true</SignAssembly>
	<NoWarn>1591</NoWarn>

    <AssemblyName>BouncyCastle.Cryptography</AssemblyName>
    <AssemblyTitle>BouncyCastle.NET Cryptography ($(TargetFramework))</AssemblyTitle>
    <Authors>Legion of the Bouncy Castle Inc.</Authors>
    <Company>Legion of the Bouncy Castle Inc.</Company>
    <Copyright>Copyright © Legion of the Bouncy Castle Inc. 2000-2023</Copyright>
    <Description>BouncyCastle.NET is a popular cryptography library for .NET</Description>
    <PackageIcon>packageIcon.png</PackageIcon>
    <PackageIconUrl>https://www.bouncycastle.org/images/nuget_packageIcon.png</PackageIconUrl>
    <PackageId>BouncyCastle.Cryptography</PackageId>
    <PackageLicenseFile>LICENSE.md</PackageLicenseFile>
    <PackageProjectUrl>https://www.bouncycastle.org/csharp/</PackageProjectUrl>
    <PackageReadmeFile>README.md</PackageReadmeFile>
    <PackageReleaseNotes>https://www.bouncycastle.org/csharp/</PackageReleaseNotes>
    <PackageTags>bouncycastle cryptography dtls encryption open-source openpgp post-quantum security tls</PackageTags>
	<Product>BouncyCastle.NET</Product>
	<PublishRepositoryUrl>true</PublishRepositoryUrl>
    <Title>BouncyCastle.NET Cryptography</Title>
    <Configurations>Debug;Release;Publish</Configurations>
  </PropertyGroup>

  <!-- CI systems other than GitLab might need different conditions -->
  <PropertyGroup Condition="'$(CI)' != ''">
    <!-- Deterministic build. -->
    <ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
  </PropertyGroup>

  <!--Source-Level Debugging-->
  <PropertyGroup>
	<!-- Any custom target adding things to the Compile item group needs BeforeTargets="BeforeCompile".	-->
    <EmbedUntrackedSources>true</EmbedUntrackedSources>

    <!-- Tell SourceLink to use this remote to derive the published git repository URL and source links. -->
    <GitRepositoryRemoteName>public</GitRepositoryRemoteName>

    <IncludeSymbols>true</IncludeSymbols>
    <SymbolPackageFormat>snupkg</SymbolPackageFormat>
  </PropertyGroup>

  <!--Package Validation-->
  <PropertyGroup>
    <EnablePackageValidation>true</EnablePackageValidation>
    <PackageValidationBaselineVersion>2.0.0</PackageValidationBaselineVersion>

	<!-- In case we disable signing for local builds, ignore identity mismatch with baseline version. -->
    <NoWarn Condition="'$(SignAssembly)' != 'true'">$(NoWarn);CP0003</NoWarn>

	<!--
	  We added Span-based variant methods to several APIs. Code that uses those methods or implements the
	  affected interfaces (or abstract classes) will not be backward compatible. There are also several
	  methods in DotNetUtilities dealing with ECDsa which is only available from net47.

	  TODO: Use suppressions for each individual case of version-dependent methods.
    -->
    <NoWarn>$(NoWarn);CP0002;CP0005;CP0006</NoWarn>
    <RunAnalyzersDuringBuild>False</RunAnalyzersDuringBuild>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)'=='Debug'">
    <DefineConstants>DEBUG;TRACE</DefineConstants>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)'=='Release'">
    <DefineConstants />
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
    <Optimize>True</Optimize>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)'=='Publish'">
    <DefineConstants />
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
    <!-- Deterministic build. -->
    <ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
    <Optimize>True</Optimize>
  </PropertyGroup>

  <ItemGroup>
    <None Remove="**\*.properties" />
    <None Remove="pqc\crypto\**\*.bz2" />
    <EmbeddedResource Include="**\*.properties" />
    <EmbeddedResource Include="pqc\crypto\**\*.bz2" />
    <None Include="..\..\LICENSE.md" Pack="true" PackagePath="\" />
    <None Include="..\..\packageIcon.png" Pack="true" PackagePath="\" />
    <None Include="..\..\README.md" Pack="true" PackagePath="\" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Nerdbank.GitVersioning" Version="3.5.119">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
  </ItemGroup>

  <Target Name="FixAssemblyAttributes" AfterTargets="GetBuildVersion">
    <PropertyGroup>
		<!-- Here we can override/use any MSBuild properties set by Nerdbank.GitVersioning -->
    </PropertyGroup>
  </Target>
  <Target Name="SignAssemblies" AfterTargets="PostBuildEvent" Condition="'$(Configuration)'=='Publish'">
    <Exec Command="call &quot;$(ProjectDir)..\..\signfile.bat&quot; &quot;$(TargetPath)&quot;" />
  </Target>
</Project>