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

  <PropertyGroup>
    <TargetFramework>net9.0-windows</TargetFramework>
    <UseWpf>true</UseWpf>
    <UseWindowsForms>true</UseWindowsForms>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>Flow.Launcher.Core</RootNamespace>
    <AssemblyName>Flow.Launcher.Core</AssemblyName>
    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
    <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
    <SatelliteResourceLanguages>en</SatelliteResourceLanguages>
    <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
  </PropertyGroup>
  
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>portable</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>..\Output\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <Prefer32Bit>false</Prefer32Bit>
  </PropertyGroup>
  
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>..\Output\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <Prefer32Bit>false</Prefer32Bit>
    <NoWarn>$(NoWarn);FLSG0007</NoWarn>
  </PropertyGroup>

  <ItemGroup>
    <None Include="Plugin\README.md" />
    <None Include="README.md" />
  </ItemGroup>
  
  <ItemGroup>
    <None Remove="FodyWeavers.xml" />
  </ItemGroup>
  
  <ItemGroup>
    <Compile Include="..\SolutionAssemblyInfo.cs" Link="Properties\SolutionAssemblyInfo.cs" />
  </ItemGroup>

  <ItemGroup>
    <Content Include="FodyWeavers.xml" />
  </ItemGroup>
  
  <ItemGroup>
    <PackageReference Include="Droplex" Version="1.7.0" />
    <PackageReference Include="Flow.Launcher.Localization" Version="0.0.6" />
    <PackageReference Include="FSharp.Core" Version="9.0.303" />
    <PackageReference Include="Meziantou.Framework.Win32.Jobs" Version="3.4.5" />
    <PackageReference Include="Microsoft.IO.RecyclableMemoryStream" Version="3.0.1" />
    <PackageReference Include="SemanticVersioning" Version="3.0.0" />
    <!-- Do not upgrade this to higher version since higher version removes UpdateManager instance -->
    <PackageReference Include="squirrel.windows" Version="1.9.0" NoWarn="NU1701" />
    <PackageReference Include="StreamJsonRpc" Version="2.22.11" />
  </ItemGroup>

  <PropertyGroup>
    <FLLUseDependencyInjection>true</FLLUseDependencyInjection>
  </PropertyGroup>

  <ItemGroup>
    <AdditionalFiles Remove="Languages\en.xaml" />
    <AdditionalFiles Include="..\Flow.Launcher\Languages\en.xaml">
      <Link>Languages\en.xaml</Link>
    </AdditionalFiles>
  </ItemGroup>
  
  <ItemGroup>
    <ProjectReference Include="..\Flow.Launcher.Infrastructure\Flow.Launcher.Infrastructure.csproj" />
    <ProjectReference Include="..\Flow.Launcher.Plugin\Flow.Launcher.Plugin.csproj" />
  </ItemGroup>

</Project>