<Project Sdk="Microsoft.NET.Sdk">
  <!-- Build -->
  <PropertyGroup>
    <ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>
    <AssemblyName>OptimaJet.Workflow.SQLite</AssemblyName>
    <RootNamespace>OptimaJet.Workflow.SQLite</RootNamespace>
    <TargetFrameworks>net8.0;net10.0</TargetFrameworks>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>disable</Nullable>
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
    <NoWarn>1701;1702;8002</NoWarn>
  </PropertyGroup>
  <!-- Targets -->
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <DefineConstants>TRACE;DEBUG</DefineConstants>
    <OutputPath>..\DLL\NETCORE\</OutputPath>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    <DefineConstants>TRACE;RELEASE</DefineConstants>
    <OutputPath>..\DLL\NETCORE\</OutputPath>
  </PropertyGroup>
  <ItemGroup>
    <Compile Remove="Properties\AssemblyInfo.cs" />
  </ItemGroup>
  <!-- Nuget -->
  <PropertyGroup>
    <PackageId>WorkflowEngine.NETCore-ProviderForSQLite</PackageId>
    <PackageLicenseFile>License.txt</PackageLicenseFile>
    <Description>
      Contains dlls for SQLite Server Persistence Provider: DbPersistenceProvider which implements interface IPersistenceProvider,
      DbSchemePersistenceProvider which implements interface ISchemePersistenceProvider,
      DbXmlWorkflowGenerator which implements interface IWorkflowGenerator.

      Steps for workflow runtime configuration with SQLiteProvider: https://workflowengine.io/documentation/workflow-server/how-to-launch/#customdb in
      Create WorkflowRuntime section.
    </Description>
    <PackageTags>workflow engine, SQLite, sqlite, provider for SQLite</PackageTags>
    <PackageIcon>icon.png</PackageIcon>
  </PropertyGroup>
  <!-- Dependencies -->
  <ItemGroup>
    <PackageReference Include="WorkflowEngine.NETCore-Core" Version="21.1.2" />
    <PackageReference Include="WorkflowEngine.NETCore-Migrator" Version="21.1.2" />
  </ItemGroup>
  <ItemGroup Condition=" '$(TargetFramework)' == 'net8.0' ">
    <PackageReference Include="Microsoft.Data.Sqlite" Version="8.0.16" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="8.0.26" />
  </ItemGroup>
  <ItemGroup Condition=" '$(TargetFramework)' == 'net10.0' ">
    <PackageReference Include="Microsoft.Data.Sqlite" Version="9.0.15" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="9.0.15" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="FluentMigrator.Runner.SQLite" Version="5.2.0" />
  </ItemGroup>
  <ItemGroup>
    <InternalsVisibleTo Include="OptimaJet.Workflow.SingleServer.Test, PublicKey=002400000480000094000000060200000024000052534131000400000100010065d40ec9673e8069ae5e05ccba45efe141a95751a82e90dd8c6db1a29e8c87884bb1d2c2672b7fe8ca6ce5091ddc3301f6092f7a1f36f88de1531613924a35f2c8213aa9c261f071db2f537c7109659ac6b46b5a4b28611c4de18c37f0fbcc7844a739a07386248558b54bf41bc616a988fabfdab6ea0f9a710a3fd55b3495bf" />
    <InternalsVisibleTo Include="OptimaJet.Workflow.Test, PublicKey=002400000480000094000000060200000024000052534131000400000100010065d40ec9673e8069ae5e05ccba45efe141a95751a82e90dd8c6db1a29e8c87884bb1d2c2672b7fe8ca6ce5091ddc3301f6092f7a1f36f88de1531613924a35f2c8213aa9c261f071db2f537c7109659ac6b46b5a4b28611c4de18c37f0fbcc7844a739a07386248558b54bf41bc616a988fabfdab6ea0f9a710a3fd55b3495bf" />
  </ItemGroup>
  <!-- Includes -->
  <ItemGroup>
    <None Include="license.txt" Pack="true" PackagePath="$(PackageLicenseFile)" />
    <None Include="icon.png" Pack="true" PackagePath="" />
  </ItemGroup>
  <PropertyGroup>
    <SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings>
  </PropertyGroup>
  <ItemGroup>
    <None Remove="Scripts\InitialWorkflowEngineSchema.sql" />
    <EmbeddedResource Include="Scripts\InitialWorkflowEngineSchema.sql" />
    <None Remove="Scripts\CreateUniqueIndexes.sql" />
    <EmbeddedResource Include="Scripts\CreateUniqueIndexes.sql" />
    <None Remove="Scripts\CreateWorkflowForms.sql" />
    <EmbeddedResource Include="Scripts\CreateWorkflowForms.sql" />
    <None Remove="Scripts\RemoveDeterminingParametersColumns.sql" />
    <EmbeddedResource Include="Scripts\RemoveDeterminingParametersColumns.sql" />
    <None Remove="Scripts\CreateCalendarNameColumn.sql" />
    <EmbeddedResource Include="Scripts\CreateCalendarNameColumn.sql" />
  </ItemGroup>
</Project>