2026-05-26 21:47:55 +02:00
<Project Sdk= "Microsoft.NET.Sdk" >
<PropertyGroup >
<TargetFramework > net10.0</TargetFramework>
<OutputType > Exe</OutputType>
<Nullable > enable</Nullable>
<ImplicitUsings > enable</ImplicitUsings>
<AssemblyName > CatalogLite</AssemblyName>
<RootNamespace > CatalogLite</RootNamespace>
<AvaloniaUseCompiledBindingsByDefault > false</AvaloniaUseCompiledBindingsByDefault>
<CatalogLiteExpirationDate Condition= "'$(CatalogLiteExpirationDate)' == ''" > 2026-12-31</CatalogLiteExpirationDate>
</PropertyGroup>
<PropertyGroup Condition= "'$(RuntimeIdentifier)' == 'win-x64' Or '$(RuntimeIdentifier)' == 'win-arm64'" >
<OutputType > WinExe</OutputType>
</PropertyGroup>
<ItemGroup >
2026-05-26 22:33:46 +02:00
<Compile Include= "$(IntermediateOutputPath)CatalogLiteExpiration.g.cs" Visible= "false" />
2026-05-26 21:47:55 +02:00
</ItemGroup>
<ItemGroup >
<ProjectReference Include= "..\MaddoShared\MaddoShared.csproj" />
</ItemGroup>
<ItemGroup >
<PackageReference Include= "Avalonia" Version= "11.3.13" />
<PackageReference Include= "Avalonia.Desktop" Version= "11.3.13" />
<PackageReference Include= "Avalonia.Themes.Fluent" Version= "11.3.13" />
<PackageReference Include= "IconPacks.Avalonia" Version= "2.0.0" />
<PackageReference Include= "Microsoft.Extensions.DependencyInjection" Version= "10.0.8" />
<PackageReference Include= "Microsoft.Extensions.Logging" Version= "10.0.8" />
<PackageReference Include= "Microsoft.Extensions.Logging.Console" Version= "10.0.8" />
</ItemGroup>
<Target Name= "ValidateCatalogLiteExpirationDate" BeforeTargets= "BeforeCompile" >
<PropertyGroup >
<_CatalogLiteExpirationDateIsIso > $([System.Text.RegularExpressions.Regex]::IsMatch('$(CatalogLiteExpirationDate)', '^\d{4}-\d{2}-\d{2}$'))</_CatalogLiteExpirationDateIsIso>
</PropertyGroup>
<Error Condition= "'$(_CatalogLiteExpirationDateIsIso)' != 'True'" Text= "CatalogLiteExpirationDate must use yyyy-MM-dd format. Current value: $(CatalogLiteExpirationDate)" />
</Target>
2026-05-26 22:33:46 +02:00
<Target Name= "GenerateCatalogLiteExpirationSource" BeforeTargets= "CoreCompile" DependsOnTargets= "ValidateCatalogLiteExpirationDate" >
<WriteLinesToFile
File="$(IntermediateOutputPath)CatalogLiteExpiration.g.cs"
Overwrite="true"
Lines="using System.Reflection%3B
 
 [assembly: AssemblyMetadata(" CatalogLiteGeneratedExpirationDate" , " $(CatalogLiteExpirationDate)" )]
 [assembly: AssemblyMetadata(" CatalogLiteExpirationDate" , " $(CatalogLiteExpirationDate)" )]
 
 namespace CatalogLite%3B
 
 internal static class BuildExpiration
 {
 public const string ExpirationDate = " $(CatalogLiteExpirationDate)" %3B
 }" />
</Target>
2026-05-26 21:47:55 +02:00
</Project>