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

  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
    <Description>The Duplicati Tray implementation</Description>
    <AssemblyName>Duplicati.GUI.TrayIcon.Implementation</AssemblyName>
    <RootNamespace>Duplicati.GUI.TrayIcon</RootNamespace>
    <ApplicationIcon>Duplicati.ico</ApplicationIcon>
    <!--Avalonia doesen't support TrimMode=link currently,but we are working on that https://github.com/AvaloniaUI/Avalonia/issues/6892 -->
    <TrimMode>copyused</TrimMode>
    <BuiltInComInteropSupport>true</BuiltInComInteropSupport>
    <ApplicationManifest>app.manifest</ApplicationManifest>
    <Copyright>Copyright © 2026 Team Duplicati, MIT license</Copyright>
  </PropertyGroup>

  <ItemGroup>
    <!--This helps with theme dll-s trimming.
    If you will publish your application in self-contained mode with p:PublishTrimmed=true and it will use Fluent theme Default theme will be trimmed from the output and vice versa.
    https://github.com/AvaloniaUI/Avalonia/issues/5593 -->
    <TrimmableAssembly Include="Avalonia.Themes.Fluent" />
    <TrimmableAssembly Include="Avalonia.Themes.Default" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Avalonia" Version="12.0.0" />
    <PackageReference Include="Avalonia.Desktop" Version="12.0.0" />
    <!-- Avalonia.Desktop Depends on this, but references an old vulnerable version -->
    <PackageReference Include="Tmds.DBus.Protocol" Version="0.92.0" />

    <PackageReference Include="Avalonia.Themes.Fluent" Version="12.0.0" />
    <!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
    <PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="11.3.13" />
  </ItemGroup>
  <ItemGroup>
    <AvaloniaResource Include="Assets\**" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\..\Library\Backend\OAuthHelper\Duplicati.Library.OAuthHelper.csproj" />
    <ProjectReference Include="..\..\Library\Common\Duplicati.Library.Common.csproj" />
    <ProjectReference Include="..\..\Server\Duplicati.Server.csproj" />
    <ProjectReference Include="..\..\Server\Duplicati.Server.Serialization\Duplicati.Server.Serialization.csproj" />
    <ProjectReference Include="..\..\Library\Utility\Duplicati.Library.Utility.csproj" />
    <ProjectReference Include="..\..\Library\Interface\Duplicati.Library.Interface.csproj" />
    <ProjectReference Include="..\..\CommandLine\CLI\Duplicati.CommandLine.csproj" />
    <ProjectReference Include="..\..\CommandLine\BackendTester\Duplicati.CommandLine.BackendTester.csproj" />
    <ProjectReference Include="..\..\CommandLine\BackendTool\Duplicati.CommandLine.BackendTool.csproj" />
    <ProjectReference Include="..\..\Library\SQLiteHelper\Duplicati.Library.SQLiteHelper.csproj" />
    <ProjectReference Include="..\..\Library\DynamicLoader\Duplicati.Library.DynamicLoader.csproj" />
    <ProjectReference Include="..\..\Library\Logging\Duplicati.Library.Logging.csproj" />
    <ProjectReference Include="..\..\Library\Main\Duplicati.Library.Main.csproj" />
    <ProjectReference Include="..\..\License\Duplicati.License.csproj" />
    <ProjectReference Include="..\..\Library\Localization\Duplicati.Library.Localization.csproj" />
    <ProjectReference Include="..\..\Library\AutoUpdater\Duplicati.Library.AutoUpdater.csproj" />
    <ProjectReference Include="..\..\CommandLine\RecoveryTool\Duplicati.CommandLine.RecoveryTool.csproj" />
    <ProjectReference Include="..\..\Library\UsageReporter\Duplicati.Library.UsageReporter.csproj" />
    <ProjectReference Include="..\..\Tools\Duplicati.Tools.csproj" />
  </ItemGroup>

</Project>
