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

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net10.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
    <RootNamespace>DotCraft</RootNamespace>

    <!-- Version Information -->
    <AssemblyVersion>0.1.7</AssemblyVersion>
    <Version>0.1.7</Version>
    <AssemblyName>dotcraft</AssemblyName>
    <AssemblyTitle>DotCraft</AssemblyTitle>
    <ProductName>DotCraft</ProductName>
    <ApplicationIcon>Resources\favicon.ico</ApplicationIcon>

    <!-- Emit compiler generated files for debugging -->
    <EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>

    <!-- Tells DotCraft.Gen to emit the ModuleRegistrations class in this assembly -->
    <DotCraftGenerateModuleRegistrations>true</DotCraftGenerateModuleRegistrations>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)'=='Release'">
    <DebugSymbols>False</DebugSymbols>
    <DebugType>None</DebugType>
    <EnableCompressionInSingleFile>true</EnableCompressionInSingleFile>
  </PropertyGroup>

  <ItemGroup>
    <Content Include="Resources\favicon.ico" />
    <EmbeddedResource Include="Resources\Templates\**\*" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="TextCopy" Version="6.2.1" />
  </ItemGroup>

  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\DotCraft.Core\DotCraft.Core.csproj" />
    <ProjectReference Include="..\DotCraft.Automations\DotCraft.Automations.csproj" />
  </ItemGroup>

  <!-- Source Generator Reference -->
  <ItemGroup>
    <ProjectReference Include="..\DotCraft.Gen\DotCraft.Gen.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
  </ItemGroup>

  <ItemGroup>
    <CompilerVisibleProperty Include="DotCraftGenerateModuleRegistrations" />
  </ItemGroup>

  <ItemGroup>
    <AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleToAttribute">
      <_Parameter1>DotCraft.App.Tests</_Parameter1>
    </AssemblyAttribute>
  </ItemGroup>

</Project>
