
Technically we could've overridden this to false in the parsing and shared projects for the same effect, but it's imo more sensible to opt in to it in the one project where we actually want rebuilds when the architecture changes.
94 lines
5.5 KiB
XML
94 lines
5.5 KiB
XML
<Project Sdk="Microsoft.NET.Sdk.Web">
|
|
|
|
<PropertyGroup>
|
|
<!-- ASP.NET MVC & Razor Pages don't support trimming yet (and everything else might also break) -->
|
|
<PublishTrimmed>false</PublishTrimmed>
|
|
<!-- Makes sure that we compile against the correct native dependency -->
|
|
<UseCurrentRuntimeIdentifier>true</UseCurrentRuntimeIdentifier>
|
|
<!-- Enables DATAS - https://www.thinktecture.com/en/net/optimize-asp-net-core-memory-with-datas -->
|
|
<GarbageCollectionAdaptationMode>1</GarbageCollectionAdaptationMode>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\Iceshrimp.Frontend\Iceshrimp.Frontend.csproj" />
|
|
<ProjectReference Include="..\Iceshrimp.Parsing\Iceshrimp.Parsing.fsproj" />
|
|
<ProjectReference Include="..\Iceshrimp.Shared\Iceshrimp.Shared.csproj" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="AngleSharp" Version="1.1.2" />
|
|
<PackageReference Include="AsyncKeyedLock" Version="7.0.1" />
|
|
<PackageReference Include="CommunityToolkit.HighPerformance" Version="8.3.0" />
|
|
<PackageReference Include="dotNetRdf.Core" Version="3.2.10-iceshrimp" />
|
|
<PackageReference Include="EntityFrameworkCore.Exceptions.PostgreSQL" Version="8.1.3" />
|
|
<PackageReference Include="EntityFrameworkCore.Projectables" Version="3.0.4" />
|
|
<PackageReference Include="FlexLabs.EntityFrameworkCore.Upsert" Version="8.0.0" />
|
|
<PackageReference Include="Iceshrimp.ObjectStorage.S3" Version="0.34.2" />
|
|
<PackageReference Include="Isopoh.Cryptography.Argon2" Version="2.0.0" />
|
|
<PackageReference Include="JetBrains.Annotations" Version="2024.2.0" />
|
|
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="8.0.8" />
|
|
<PackageReference Include="Microsoft.AspNetCore.DataProtection.EntityFrameworkCore" Version="8.0.8" />
|
|
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.8" />
|
|
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="8.0.8" />
|
|
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" Version="8.0.8" />
|
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.8">
|
|
<PrivateAssets>all</PrivateAssets>
|
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
</PackageReference>
|
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.8" />
|
|
<PackageReference Include="Microsoft.Extensions.Configuration.Ini" Version="8.0.0" />
|
|
<PackageReference Include="PommaLabs.MimeTypes" Version="2.9.5-iceshrimp" />
|
|
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.4" />
|
|
<PackageReference Include="SixLabors.ImageSharp.Drawing" Version="2.1.4" />
|
|
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.6-iceshrimp" />
|
|
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.7.3" />
|
|
<PackageReference Include="System.IO.Hashing" Version="8.0.0" />
|
|
<PackageReference Include="System.Text.RegularExpressions" Version="4.3.1" />
|
|
<PackageReference Include="System.Text.Json" Version="8.0.4" />
|
|
<PackageReference Include="Ulid" Version="1.3.4" />
|
|
<PackageReference Include="Iceshrimp.WebPush" Version="2.0.0" />
|
|
<PackageReference Include="Iceshrimp.AssemblyUtils" Version="1.0.0" />
|
|
<PackageReference Include="NetVips" Version="2.4.1" />
|
|
</ItemGroup>
|
|
|
|
<!-- Transitive dependency version overrides to patch security vulnerabilities -->
|
|
<ItemGroup>
|
|
<PackageReference Include="System.Private.Uri" Version="4.3.2" />
|
|
<PackageReference Include="System.Formats.Asn1" Version="8.0.1" />
|
|
</ItemGroup>
|
|
|
|
<!-- If the build flag BundleNativeDeps is set, reference the LibVips native dependecy -->
|
|
<ItemGroup Condition=" '$(BundleNativeDeps)' == 'true' ">
|
|
<PackageReference Include="NetVips.Native" Version="8.15.2-iceshrimp" />
|
|
</ItemGroup>
|
|
|
|
<!-- This makes sure configuration.ini & the preloaded AS contexts are added to the assembly as embedded resources -->
|
|
<ItemGroup>
|
|
<EmbeddedResource Include="configuration.ini" CopyToOutputDirectory="Always" />
|
|
<EmbeddedResource Include="Core\Federation\ActivityStreams\Contexts\*.json">
|
|
<TargetPath>contexts\%(Filename)%(Extension)</TargetPath>
|
|
</EmbeddedResource>
|
|
<Content Update="Core\Federation\ActivityStreams\Contexts\*.json">
|
|
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
|
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
|
|
</Content>
|
|
</ItemGroup>
|
|
|
|
<!-- This is a script used during development, and not needed in the final output -->
|
|
<ItemGroup>
|
|
<None Remove="Core\Database\prune-designer-cs-files.sh" />
|
|
</ItemGroup>
|
|
|
|
<!-- This saves a bunch of disk space by discarding the original and gzip-compressed static assets. -->
|
|
<!-- For clients that don't support brotli, they will be transparently decompressed by the server. -->
|
|
<Target Name="KeepOnlyBrotliCompressedStaticAssets" AfterTargets="Publish">
|
|
<ItemGroup>
|
|
<CompressedFiles Include="$(PublishDir)\wwwroot\_framework\*.br" />
|
|
<FilesToClean Include="@(CompressedFiles->'%(RootDir)%(Directory)%(Filename)')" />
|
|
<FilesToClean Include="@(CompressedFiles->'%(RootDir)%(Directory)%(Filename).gz')" />
|
|
</ItemGroup>
|
|
|
|
<Delete Files="@(FilesToClean->Exists())" />
|
|
</Target>
|
|
|
|
</Project>
|