<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net8.0</TargetFramework>
    <Nullable>enable</Nullable>
    <BuiltInComInteropSupport>true</BuiltInComInteropSupport>
    <ApplicationManifest>app.manifest</ApplicationManifest>
    <AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
  </PropertyGroup>
  <PropertyGroup Label="Avalonia">
    <AvaloniaXamlIlDebuggerLaunch>False</AvaloniaXamlIlDebuggerLaunch>
	<ApplicationIcon>app.ico</ApplicationIcon>
    <AssemblyName>NeedleworkDotNet</AssemblyName>
    <AssemblyVersion>0.14.0.0</AssemblyVersion>
    <FileVersion>$(AssemblyVersion)</FileVersion>
    <AvaloniaXamlVerboseExceptions>False</AvaloniaXamlVerboseExceptions>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="akavache" Version="10.2.41" />
    <PackageReference Include="AngleSharp" Version="1.3.0" />
    <PackageReference Include="Avalonia" Version="11.2.8" />
    <PackageReference Include="Avalonia.AvaloniaEdit" Version="11.3.0" />
    <PackageReference Include="Avalonia.Controls.DataGrid" Version="11.2.8" />
    <PackageReference Include="Avalonia.Controls.ItemsRepeater" Version="11.1.5" />
    <PackageReference Include="Avalonia.Desktop" Version="11.2.8" />
    <PackageReference Include="Avalonia.Fonts.Inter" Version="11.2.8" />
    <!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
    <PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="11.2.8" />
    <PackageReference Include="Avalonia.Themes.Fluent" Version="11.2.8" />
    <PackageReference Include="AvaloniaEdit.TextMate" Version="11.3.0" />
    <PackageReference Include="BlossomiShymae.Briar" Version="0.2.3" />
    <PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.0" />
    <PackageReference Include="DebounceThrottle" Version="3.0.1" />
    <PackageReference Include="FastCache.Cached" Version="1.8.2" />
    <PackageReference Include="FluentAvaloniaUI" Version="2.3.0" />
    <PackageReference Include="Flurl" Version="4.0.0" />
    <PackageReference Include="Flurl.Http" Version="4.0.2" />
    <PackageReference Include="Material.Icons.Avalonia" Version="2.4.1" />
    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.6" />
    <PackageReference Include="Microsoft.Extensions.Http" Version="9.0.0" />
    <PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.0" />
    <PackageReference Include="Microsoft.NET.ILLink.Tasks" Version="9.0.3" />
    <PackageReference Include="Microsoft.OpenApi" Version="1.6.24" />
    <PackageReference Include="Microsoft.OpenApi.Readers" Version="1.6.24" />
    <PackageReference Include="Projektanker.Icons.Avalonia" Version="9.6.2" />
    <PackageReference Include="Projektanker.Icons.Avalonia.FontAwesome" Version="9.6.2" />
    <PackageReference Include="Serilog" Version="4.3.0" />
    <PackageReference Include="Serilog.Extensions.Logging" Version="9.0.2" />
    <PackageReference Include="Serilog.Sinks.File" Version="7.0.0" />
    <PackageReference Include="TextMateSharp.Grammars" Version="1.0.69" />
  </ItemGroup>
  
  <ItemGroup>
    <AvaloniaResource Include="Assets\**" />	
  </ItemGroup>
  
  <ItemGroup>
    <AvaloniaXaml Remove="Utilities\**" />
    <Compile Remove="Utilities\**" />
    <EmbeddedResource Remove="Utilities\**" />
    <None Remove="Utilities\**" />
  </ItemGroup>

  <ItemGroup>
    <UpToDateCheckInput Remove="Views\AboutView.axaml" />
  </ItemGroup>

  <ItemGroup>
    <Compile Update="Controls\BusyArea.axaml.cs">
      <DependentUpon>BusyArea.axaml</DependentUpon>
    </Compile>
    <Compile Update="Views\MainWindow\MainWindowView.axaml.cs">
      <DependentUpon>MainWindowView.axaml</DependentUpon>
    </Compile>
    <Compile Update="Views\Pages\Endpoints\EndpointListView.axaml.cs">
      <DependentUpon>EndpointListView.axaml</DependentUpon>
    </Compile>
    <Compile Update="Views\Pages\Endpoints\EndpointsView.axaml.cs">
      <DependentUpon>EndpointsView.axaml</DependentUpon>
    </Compile>
    <Compile Update="Views\Pages\Endpoints\PluginView.axaml.cs">
      <DependentUpon>PluginView.axaml</DependentUpon>
    </Compile>
    <Compile Update="Views\Pages\Schemas\SchemaSearchDetailsView.axaml.cs">
      <DependentUpon>SchemaSearchDetailsView.axaml</DependentUpon>
    </Compile>
    <Compile Update="Views\Pages\WebSocket\WebsocketView.axaml.cs">
      <DependentUpon>WebSocketView.axaml</DependentUpon>
    </Compile>
  </ItemGroup>

  <ItemGroup>
    <Folder Include="Assets\Users\" />
  </ItemGroup>

  <ItemGroup>
    <None Include="ViewModels\Pages\Schemas\SchemaSearchDetailsViewModel.cs" />
  </ItemGroup>
</Project>
