-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNKS.WebDevConsole.Daemon.csproj
More file actions
89 lines (82 loc) · 4.69 KB
/
NKS.WebDevConsole.Daemon.csproj
File metadata and controls
89 lines (82 loc) · 4.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<Project Sdk="Microsoft.NET.Sdk.Web">
<ItemGroup>
<ProjectReference Include="..\NKS.WebDevConsole.Core\NKS.WebDevConsole.Core.csproj" />
<!-- Plugin.SDK is listed in PluginLoadContext.SharedAssemblies so the
plugin ALC defers to the default ALC for it. That only works if
SDK.dll is actually present in the daemon's bin dir — otherwise the
default ALC raises FileNotFoundException when a plugin calls any SDK
type (UiSchemaBuilder, etc.) from GetUiDefinition(). Reference it
here so MSBuild copies SDK.dll next to the daemon executable. -->
<ProjectReference Include="..\NKS.WebDevConsole.Plugin.SDK\NKS.WebDevConsole.Plugin.SDK.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="CliWrap" Version="3.10.1" />
<PackageReference Include="Dapper" Version="2.1.72" />
<PackageReference Include="dbup-core" Version="6.1.1" />
<PackageReference Include="dbup-sqlite" Version="6.0.4" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.15" />
<PackageReference Include="Microsoft.Data.Sqlite" Version="10.0.6" />
<PackageReference Include="NReco.Logging.File" Version="1.3.1" />
<PackageReference Include="Scriban" Version="7.1.0" />
<PackageReference Include="Sentry" Version="6.4.1" />
<!-- ASP.NET Core integration: auto-captures HTTP request context,
correlates exceptions with request path + method, adds SDK
middleware for tracing. Built on top of the base Sentry package. -->
<PackageReference Include="Sentry.AspNetCore" Version="4.13.0" />
<!-- ILogger → Sentry breadcrumb bridge: warn+ log messages become
breadcrumbs on the next captured event so we see what the daemon
was doing just before the crash. -->
<PackageReference Include="Sentry.Extensions.Logging" Version="6.4.1" />
<PackageReference Include="SharpCompress" Version="0.47.4" />
<PackageReference Include="Tomlyn" Version="2.3.0" />
</ItemGroup>
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<PublishReadyToRun>true</PublishReadyToRun>
<PublishSingleFile>false</PublishSingleFile>
<!-- F92: single source of truth for daemon version. Keep in sync with
src/frontend/package.json on every bump so /api/status and
/api/system return the real shipped version instead of hardcoded "0.1.0". -->
<Version>0.3.0</Version>
<AssemblyVersion>0.3.0.0</AssemblyVersion>
<FileVersion>0.3.0.0</FileVersion>
<!-- InformationalVersion = SemVer + git short SHA so /api/status
returns "0.2.25-abc1234". MSBuild $(SourceRevisionId) is set by
the SourceLink/CI props; falls back to a Target below for
local builds without SourceLink wired. -->
<InformationalVersion Condition=" '$(SourceRevisionId)' != '' ">0.2.25-$(SourceRevisionId.Substring(0,7))</InformationalVersion>
<InformationalVersion Condition=" '$(SourceRevisionId)' == '' ">0.2.25</InformationalVersion>
<!-- Default release manifest: requireAdministrator (one UAC at
launch, every child op inherits elevation). CI smoke test
jobs pass -p:CiBuild=true to swap in app.ci.manifest which
uses asInvoker so headless GitHub runners can bootstrap the
packaged daemon without a UAC dialog. Both manifests are
ignored on non-Windows RIDs. -->
<ApplicationManifest Condition=" '$(CiBuild)' == 'true' ">app.ci.manifest</ApplicationManifest>
<ApplicationManifest Condition=" '$(CiBuild)' != 'true' ">app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup>
<EmbeddedResource Include="Migrations\*.sql" />
</ItemGroup>
<ItemGroup>
<InternalsVisibleTo Include="NKS.WebDevConsole.Daemon.Tests" />
</ItemGroup>
<!-- Phase 6.21 — stamp git short SHA into InformationalVersion at build
time so /api/status returns "0.2.25-abc1234". Operators see the
exact commit a build came from. Best-effort: silently no-ops when
git is unavailable (clean tarball install) or working tree isn't
a git checkout. -->
<Target Name="StampGitShaIntoVersion" BeforeTargets="GetAssemblyVersion;BeforeBuild">
<Exec Command="git rev-parse --short HEAD" ConsoleToMSBuild="true"
ContinueOnError="true" StandardOutputImportance="low"
IgnoreExitCode="true">
<Output TaskParameter="ConsoleOutput" PropertyName="GitShortSha" />
<Output TaskParameter="ExitCode" PropertyName="GitExitCode" />
</Exec>
<PropertyGroup Condition=" '$(GitExitCode)' == '0' AND '$(GitShortSha)' != '' ">
<InformationalVersion>$(Version)-$(GitShortSha)</InformationalVersion>
</PropertyGroup>
</Target>
</Project>