Each engine-building run started from a hand-copied scaffold (Qwen's), which carried that engine's name and stale notes. _Template holds the generic scaffold with a __NAME__ placeholder, and New-Engine.ps1 stamps out a named copy. The template's starter tests go through the benchmark's NestValidator, so a model gets a real pass/fail target instead of a plumbing-only check; they were verified to pass against Opus55. Directory.Build.props now also detects when it sits in an Engines/ folder inside an OpenNest checkout, so an engine stamped there with -IncludeBuildFiles builds without passing OpenNestRoot. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
24 lines
1.2 KiB
XML
24 lines
1.2 KiB
XML
<Project>
|
|
<!--
|
|
Shared settings for OpenNest nesting engine plugins. Each engine lives in
|
|
OpenNest.Engine.<Name>/ with an optional tests/ subproject; both import this.
|
|
AssemblyName and RootNamespace default to the project file name.
|
|
|
|
Engines build against an OpenNest checkout, found in this order: /p:OpenNestRoot=<path>
|
|
or an OpenNestRoot environment variable; the parent folder, when these build files sit
|
|
in an Engines/ folder inside an OpenNest checkout; otherwise a sibling clone
|
|
(../OpenNest next to this repo).
|
|
-->
|
|
<PropertyGroup>
|
|
<OpenNestRoot Condition="'$(OpenNestRoot)' == '' and Exists('$(MSBuildThisFileDirectory)../OpenNest.Engine/OpenNest.Engine.csproj')">$(MSBuildThisFileDirectory)../</OpenNestRoot>
|
|
<OpenNestRoot Condition="'$(OpenNestRoot)' == ''">$(MSBuildThisFileDirectory)../OpenNest/</OpenNestRoot>
|
|
<OpenNestRoot>$([MSBuild]::EnsureTrailingSlash('$(OpenNestRoot)'))</OpenNestRoot>
|
|
<TargetFramework>net8.0</TargetFramework>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<Nullable>enable</Nullable>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<ProjectReference Include="$(OpenNestRoot)OpenNest.Engine/OpenNest.Engine.csproj" />
|
|
</ItemGroup>
|
|
</Project>
|