<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net9.0</TargetFramework>
    <BuiltInComInteropSupport>true</BuiltInComInteropSupport>
    <ApplicationManifest>App.manifest</ApplicationManifest>
    <ApplicationIcon>App.ico</ApplicationIcon>
    <Version>$([System.IO.File]::ReadAllText("$(MSBuildProjectDirectory)\\..\\VERSION"))</Version>
    <BuiltInComInteropSupport>false</BuiltInComInteropSupport>
    <AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
    <SuppressTrimAnalysisWarnings>true</SuppressTrimAnalysisWarnings>

    <Product>SourceGit</Product>
    <Description>OpenSource GIT client</Description>
    <Company>sourcegit-scm</Company>
    <Copyright>Copyright © 2024 sourcegit-scm.</Copyright>
    <PackageLicenseExpression>MIT</PackageLicenseExpression>
    <PackageProjectUrl>https://github.com/sourcegit-scm/sourcegit.git</PackageProjectUrl>
    <RepositoryUrl>https://github.com/sourcegit-scm/sourcegit.git</RepositoryUrl>
    <RepositoryType>Public</RepositoryType>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)' == 'Release' and '$(DisableAOT)' != 'true'">
    <PublishAot>true</PublishAot>
    <PublishTrimmed>true</PublishTrimmed>
    <TrimMode>link</TrimMode>
  </PropertyGroup>

  <PropertyGroup Condition="'$(DisableUpdateDetection)' == 'true'">
    <DefineConstants>$(DefineConstants);DISABLE_UPDATE_DETECTION</DefineConstants>
  </PropertyGroup>

  <ItemGroup>
    <AvaloniaResource Include="App.ico" />
    <AvaloniaResource Include="Resources/Fonts/*" />
    <AvaloniaResource Include="Resources/Grammars/*" />
    <AvaloniaResource Include="Resources/Images/*" />
    <AvaloniaResource Include="Resources/Images/ExternalToolIcons/*" />
    <AvaloniaResource Include="Resources/Images/ExternalToolIcons/JetBrains/*" />
    <AvaloniaResource Include="Resources/Images/ShellIcons/*" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Avalonia" Version="11.2.4" />
    <PackageReference Include="Avalonia.Desktop" Version="11.2.4" />
    <PackageReference Include="Avalonia.Fonts.Inter" Version="11.2.4" />
    <PackageReference Include="Avalonia.Themes.Fluent" Version="11.2.4" />
    <PackageReference Include="Avalonia.Diagnostics" Version="11.2.4" Condition="'$(Configuration)' == 'Debug'" />
    <PackageReference Include="Avalonia.AvaloniaEdit" Version="11.1.0" />
    <PackageReference Include="AvaloniaEdit.TextMate" Version="11.1.0" />
    <PackageReference Include="Azure.AI.OpenAI" Version="2.2.0-beta.2" />
    <PackageReference Include="CommunityToolkit.Mvvm" Version="8.3.2" />
    <PackageReference Include="LiveChartsCore.SkiaSharpView.Avalonia" Version="2.0.0-rc5.4" />
    <PackageReference Include="OpenAI" Version="2.2.0-beta.2" />
    <PackageReference Include="TextMateSharp" Version="1.0.66" />
    <PackageReference Include="TextMateSharp.Grammars" Version="1.0.66" />
  </ItemGroup>

  <ItemGroup>
    <TrimmerRootAssembly Include="SourceGit" />
    <TrimmerRootAssembly Include="Avalonia.Themes.Fluent" />
  </ItemGroup>

  <ItemGroup Condition="$([MSBuild]::IsOSPlatform('OSX'))">
    <LinkerArg Include="-mmacosx-version-min=11.0" Condition="'$(Configuration)' == 'Release'" />
  </ItemGroup>
</Project>
