From 805989b4b405dced588845cca73022cee0dd46b6 Mon Sep 17 00:00:00 2001 From: Lucas Vogel Date: Fri, 11 Sep 2026 11:57:27 -0400 Subject: [PATCH] build: dev mode for XSpec.Cli against the engine checkouts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds the Directory.Build.targets that phoenixmldb-xquery and phoenixmldb-xslt carry (identical copy): with dev mode on, the PhoenixmlDb.{Core,XQuery,Xslt} PackageReferences become ProjectReferences to the sibling engine checkouts, so this package can be built and tested against engine main before a release — which lockstep releases need, since this package now ships in the same train as the engines. On with `touch /.phoenixml-dev` (outside every repo), PHOENIXML_DEV=1, or -p:PhoenixmlDev=true. Nothing committed changes when toggled. Packing in dev mode, dev mode under CI, and a missing sibling are all errors. Package mode — the default, and all CI sees — is unchanged. Verified: tests pass in both modes; in dev mode the test output carries engine main's code (checked by symbol); pack refuses in dev mode. Also verified this package builds and passes its tests against engine 1.7.0. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01XFzQJEPHoRxrjH6bni8tVn --- dotnet/Directory.Build.targets | 80 ++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 dotnet/Directory.Build.targets diff --git a/dotnet/Directory.Build.targets b/dotnet/Directory.Build.targets new file mode 100644 index 000000000..5f8f89217 --- /dev/null +++ b/dotnet/Directory.Build.targets @@ -0,0 +1,80 @@ + + + + + $([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildThisFileDirectory)', 'phoenixmldb-core/src/PhoenixmlDb.Core/PhoenixmlDb.Core.csproj')) + $(MSBuildThisFileDirectory).. + $([MSBuild]::NormalizeDirectory('$(PhoenixmlWorkspace)')) + true + true + false + <_PhoenixmlDevCore>$(PhoenixmlWorkspace)phoenixmldb-core/src/PhoenixmlDb.Core/PhoenixmlDb.Core.csproj + <_PhoenixmlDevXQuery>$(PhoenixmlWorkspace)phoenixmldb-xquery/src/PhoenixmlDb.XQuery/PhoenixmlDb.XQuery.csproj + <_PhoenixmlDevXslt>$(PhoenixmlWorkspace)phoenixmldb-xslt/src/PhoenixmlDb.Xslt/PhoenixmlDb.Xslt.csproj + + + + + <_PhoenixmlDevHitCore Include="@(PackageReference->WithMetadataValue('Identity', 'PhoenixmlDb.Core'))" /> + <_PhoenixmlDevHitXQuery Include="@(PackageReference->WithMetadataValue('Identity', 'PhoenixmlDb.XQuery'))" /> + <_PhoenixmlDevHitXslt Include="@(PackageReference->WithMetadataValue('Identity', 'PhoenixmlDb.Xslt'))" /> + + + <_PhoenixmlDevRefCore Include="@(ProjectReference->WithMetadataValue('Filename', 'PhoenixmlDb.Core'))" /> + <_PhoenixmlDevRefXQuery Include="@(ProjectReference->WithMetadataValue('Filename', 'PhoenixmlDb.XQuery'))" /> + <_PhoenixmlDevRefXslt Include="@(ProjectReference->WithMetadataValue('Filename', 'PhoenixmlDb.Xslt'))" /> + + + + + + + + + + + + + + + + + + +