<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Library</OutputType>
    <TargetFrameworks>netstandard2.1;net452</TargetFrameworks>
    <LangVersion>7.3</LangVersion>
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
    <IsPackable>true</IsPackable>

    <!-- This should be kept in sync with the version number in AssemblyInfo.cs -->
    <Version>3.1.0</Version>

    <AssemblyName>AWS.EncryptionSDK</AssemblyName>
    <PackageId>AWS.EncryptionSDK</PackageId>
    <Title>AWS Encryption SDK for .NET</Title>
    <Description>The AWS Encryption SDK is a client-side encryption library designed to make it easy for everyone to encrypt and decrypt data using industry standards and best practices.</Description>
    <Authors>Amazon Web Services</Authors>
    <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
    <RepositoryUrl>https://github.com/aws/aws-encryption-sdk-dafny</RepositoryUrl>
    <PackageIcon>icon.png</PackageIcon>
    <PackageReadmeFile>README.md</PackageReadmeFile>
    <PackageTags>AWS;Amazon;KMS;Encryption;Cryptography</PackageTags>
    <!--
      Ignore errors from generated code. Ideally this would be scoped to just the relevant files.
      CS0105: duplicate namespace, CS0618: obsolete members
    -->
    <NoWarn>CS0105,CS0618</NoWarn>
  </PropertyGroup>

  <ItemGroup>
    <DafnySource Remove="@(DafnySource)" />
    <DafnySource Include="../../src/**/*.dfy" />
  </ItemGroup>

  <!-- Runtime dependencies -->
  <ItemGroup>
    <PackageReference Include="AWSSDK.Core" Version="3.7.9.2" />
    <PackageReference Include="AWSSDK.KeyManagementService" Version="3.7.2" />
    <PackageReference Include="Portable.BouncyCastle" Version="1.8.5.2" />
    <!--
      System.Collections.Immutable can be removed once dafny.msbuild is updated with
      https://github.com/dafny-lang/dafny.msbuild/pull/10 and versioned
    -->
    <PackageReference Include="System.Collections.Immutable" Version="1.7.0" />
    <!-- Work around for dafny-lang/dafny/issues/1951; remove once resolved -->
    <PackageReference Include="System.ValueTuple" Version="4.5.0" />
  </ItemGroup>

  <!-- Build dependencies -->
  <ItemGroup>
    <PackageReference Include="dafny.msbuild" Version="1.0.0">
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
  </ItemGroup>

  <!-- Test dependencies -->
  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0">
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
  </ItemGroup>

  <ItemGroup>
    <VerifyDafnyPassthrough Include="timeLimit:300" />
    <VerifyDafnyPassthrough Include="definiteAssignment:3" />
  </ItemGroup>

  <ItemGroup>
    <Folder Include="API\Generated\Crypto" />
    <Folder Include="API\Generated\Esdk" />
  </ItemGroup>

  <ItemGroup>
    <None Include="..\icon.png" Pack="true" PackagePath="" />
    <None Include="..\README.md" Pack="true" PackagePath="" />
  </ItemGroup>

</Project>