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

  <PropertyGroup>
    <TargetFrameworks>net462;net7.0;net8.0;net9.0</TargetFrameworks>
    <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
    <PackageId>DigitalData.Core.Infrastructure</PackageId>
    <Authors>Digital Data GmbH</Authors>
    <Company>Digital Data GmbH</Company>
    <Product>DigitalData.Core.Infrastructure</Product>
    <Description>This package provides implementations for data access and other low-level services within the DigitalData.Core.Application library. It includes generic CRUD operations using Entity Framework Core, database context management, and other infrastructure-related functionalities, adhering to Clean Architecture principles.</Description>
    <Copyright>Copyright 2024</Copyright>
    <PackageIcon>core_icon.png</PackageIcon>
    <RepositoryUrl>http://git.dd:3000/AppStd/WebCoreModules.git</RepositoryUrl>
    <RepositoryType>digital data core abstractions clean architecture</RepositoryType>
    <PackageTags>digital data core infrastructure clean architecture</PackageTags>
    <Version>2.5.2</Version>
    <AssemblyVersion>2.5.2</AssemblyVersion>
    <FileVersion>2.5.2</FileVersion>
  </PropertyGroup>

  <ItemGroup>
    <None Include="..\Assets\core_icon.png">
      <Pack>True</Pack>
      <PackagePath>\</PackagePath>
    </None>
  </ItemGroup>

  <!-- disable for net462 -->
  <PropertyGroup Condition="'$(TargetFramework)' == 'net462'">
	<Nullable>disable</Nullable>
	<ImplicitUsings>disable</ImplicitUsings>
	<LangVersion>7.3</LangVersion>
  </PropertyGroup>

  <!-- enable for net7 and more -->
  <PropertyGroup Condition="'$(TargetFramework)' == 'net7.0' Or '$(TargetFramework)' == 'net8.0' Or '$(TargetFramework)' == 'net9.0'">
	<Nullable>enable</Nullable>
	<ImplicitUsings>enable</ImplicitUsings>
	<LangVersion>latest</LangVersion>
  </PropertyGroup>

  <ItemGroup Condition="'$(TargetFramework)' == 'net462'">
	<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.32" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="3.1.32" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFramework)' == 'net7.0'">
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.20" />
	<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="7.0.20" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.15" />
	<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.15" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.5" />
	<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="9.0.5" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\DigitalData.Core.Abstraction.Application\DigitalData.Core.Abstraction.Application.csproj" />
  </ItemGroup>

  <ItemGroup>
    <None Update="Assets\icon.png">
      <PackagePath>\</PackagePath>
      <Pack>True</Pack>
    </None>
  </ItemGroup>

</Project>
