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

  <PropertyGroup>
    <TargetFrameworks>net462;net7.0;net8.0;net9.0</TargetFrameworks>
    <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
	  <Description>This package defines the abstraction layer for the DigitalData.Core.Application module, providing interfaces and contracts for application services, repositories, and infrastructure components in alignment with Clean Architecture principles.</Description>
	  <PackageId>DigitalData.Core.Abstraction.Application</PackageId>
    <Authors>Digital Data GmbH</Authors>
    <Company>Digital Data GmbH</Company>
    <Product>DigitalData.Core.Abstraction.Application</Product>
    <Copyright>Copyright 2025</Copyright>
    <PackageIcon>core_icon.png</PackageIcon>
    <RepositoryUrl>http://git.dd:3000/AppStd/WebCoreModules.git</RepositoryUrl>
    <PackageTags>digital data core application clean architecture abstraction</PackageTags>
    <Version>1.6.0</Version>
    <AssemblyVersion>1.6.0</AssemblyVersion>
    <FileVersion>1.6.0</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>
    <PackageReference Include="Microsoft.Extensions.Configuration" Version="7.0.0" />
    <PackageReference Include="Microsoft.Extensions.Localization.Abstractions" Version="7.0.16" />
    <PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="7.0.0" />
    <PackageReference Include="System.DirectoryServices.AccountManagement" Version="7.0.1" />
    <PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="7.5.1" />
    <PackageReference Include="System.Security.Cryptography.Cng" Version="5.0.0" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFramework)' == 'net462'">
	<PackageReference Include="AutoMapper" Version="10.1.1" />
	<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="7.0.0" />
	<PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="7.0.0" />
	<PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="3.1.32" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFramework)' == 'net7.0'">
	<PackageReference Include="AutoMapper" Version="13.0.1" />
	<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="7.0.0" />
	<PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="7.0.0" />
	<PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="7.0.20" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
	<PackageReference Include="AutoMapper" Version="14.0.0" />
	<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="8.0.1" />
	<PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="8.0.0" />
	<PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="8.0.15" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
	<PackageReference Include="AutoMapper" Version="14.0.0" />
	<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="9.0.5" />
	<PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="9.0.5" />
	<PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="9.0.5" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\DigitalData.Core.Abstractions\DigitalData.Core.Abstractions.csproj" />
  </ItemGroup>
	
</Project>
