<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <OutputType>Library</OutputType>
        <TargetFramework>net9.0</TargetFramework>
        <Nullable>enable</Nullable>
        <OutputPath>bin/</OutputPath>
        <Platforms>x64</Platforms>
    </PropertyGroup>
    
    <ItemGroup>
        <ProjectReference Include="..\Artemis.Core\Artemis.Core.csproj" />
        <ProjectReference Include="..\Artemis.UI.Shared\Artemis.UI.Shared.csproj" />
        <ProjectReference Include="..\Artemis.WebClient.Updating\Artemis.WebClient.Updating.csproj" />
        <ProjectReference Include="..\Artemis.WebClient.Workshop\Artemis.WebClient.Workshop.csproj" />
    </ItemGroup>

    <ItemGroup>
        <PackageReference Include="AsyncImageLoader.Avalonia" />
        <PackageReference Include="Avalonia.AvaloniaEdit" />
        <PackageReference Include="Avalonia.Controls.PanAndZoom" />
        <PackageReference Include="Avalonia.Desktop" />
        <PackageReference Include="Avalonia.Skia.Lottie" />
        <PackageReference Include="AvaloniaEdit.TextMate" />
        <PackageReference Include="FluentAvalonia.ProgressRing" />
        <PackageReference Include="Markdown.Avalonia.Tight" />
        <PackageReference Include="Octopus.Octodiff" />
        <PackageReference Include="PropertyChanged.SourceGenerator">
          <PrivateAssets>all</PrivateAssets>
          <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        </PackageReference>
        <PackageReference Include="Splat.DryIoc" />
        <PackageReference Include="TextMateSharp.Grammars" />
    </ItemGroup>

    <ItemGroup>
        <AvaloniaResource Include="Assets\**" />
    </ItemGroup>

    <ItemGroup>
      <Compile Update="Screens\Workshop\Plugin\Dialogs\DeviceProviderPickerDialogView.axaml.cs">
        <DependentUpon>DeviceProviderPickerDialogView.axaml</DependentUpon>
        <SubType>Code</SubType>
      </Compile>
      <Compile Update="Screens\Workshop\Plugin\Dialogs\DeviceSelectionDialogView.axaml.cs">
        <DependentUpon>DeviceSelectionDialogView.axaml</DependentUpon>
        <SubType>Code</SubType>
      </Compile>
      <Compile Update="Screens\Workshop\Layout\LayoutListView.axaml.cs">
        <DependentUpon>LayoutListView.axaml</DependentUpon>
        <SubType>Code</SubType>
      </Compile>
      <Compile Update="Screens\Workshop\Plugins\PluginListView.axaml.cs">
        <DependentUpon>LayoutListView.axaml</DependentUpon>
        <SubType>Code</SubType>
      </Compile>
      <Compile Update="Screens\Workshop\Profile\ProfileListView.axaml.cs">
        <DependentUpon>LayoutListView.axaml</DependentUpon>
        <SubType>Code</SubType>
      </Compile>
      <Compile Update="Screens\Workshop\EntryReleases\EntryReleasesView.axaml.cs">
        <DependentUpon>EntryReleasesView.axaml</DependentUpon>
        <SubType>Code</SubType>
      </Compile>
    </ItemGroup>

    <ItemGroup>
      <UpToDateCheckInput Remove="Screens\Workshop\Entries\Tabs\PluginListView.axaml" />
      <UpToDateCheckInput Remove="Screens\Workshop\Entries\Tabs\ProfileListView.axaml" />
      <UpToDateCheckInput Remove="Screens\Workshop\Plugins\Dialogs\PluginDialogView.axaml" />
      <UpToDateCheckInput Remove="Screens\Scripting\Dialogs\ScriptConfigurationCreateView.axaml" />
      <UpToDateCheckInput Remove="Screens\Scripting\Dialogs\ScriptConfigurationEditView.axaml" />
      <UpToDateCheckInput Remove="Screens\Scripting\ScriptsDialogView.axaml" />
    </ItemGroup>
</Project>