fix(app): copy MossTank's two new popup panels into the plugin's output dir

The previous commit split mosstank-advanced.xml/mosstank-loot-editor.xml
out of mosstank.xml into their own files (MossTankPlugin.cs now registers
three AddPanel calls). MossTankPlugin resolves each markup path relative to
its own assembly directory (plugins/AcDream.Plugins.MossTank/), but
AcDream.App.csproj's CopyMossTankPluginToBuildOutput/
CopyMossTankPluginToPublishOutput targets only ever copied mosstank.xml
into that folder — a hardcoded file list, not a glob, so the new files
silently landed in the App's own bin root instead of the plugin directory
(confirmed by inspecting the build output before running any screenshots:
plugins/AcDream.Plugins.MossTank/ had only mosstank.xml). Left as-is, the
two new panels would have thrown FileNotFoundException on load in a live
client — this would have shipped a broken build to the screenshot/visual
gate undetected by any existing test, since no test builds AcDream.App and
inspects its output layout. Both Copy targets' SourceFiles list now
include all three markup files.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-09-07 09:13:33 +02:00
parent 565a33d789
commit e414b2f56e

View file

@ -101,8 +101,11 @@
LogicalName="AcDream.App.Rendering.Icons.acdream-client-256.png" />
</ItemGroup>
<!-- MossTank ships as a copy-only plugin, plus its panel markup:
MossTankPlugin resolves mosstank.xml relative to its own assembly, so the
two files must land in the same plugin directory. -->
MossTankPlugin resolves mosstank.xml (and, since fix round A moved
the Advanced Options / Loot Editor popups to their own panels,
mosstank-advanced.xml / mosstank-loot-editor.xml too) relative to its
own assembly, so all four files must land in the same plugin
directory. -->
<ItemGroup>
<ProjectReference Include="..\AcDream.Plugins.MossTank\AcDream.Plugins.MossTank.csproj">
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
@ -124,7 +127,7 @@
</MSBuild>
<MakeDir Directories="$(_MossTankDestDir)" />
<Copy
SourceFiles="@(_MossTankPluginBuildTarget);$(MSBuildProjectDirectory)/../AcDream.Plugins.MossTank/mosstank.xml"
SourceFiles="@(_MossTankPluginBuildTarget);$(MSBuildProjectDirectory)/../AcDream.Plugins.MossTank/mosstank.xml;$(MSBuildProjectDirectory)/../AcDream.Plugins.MossTank/mosstank-advanced.xml;$(MSBuildProjectDirectory)/../AcDream.Plugins.MossTank/mosstank-loot-editor.xml"
DestinationFolder="$(_MossTankDestDir)"
SkipUnchangedFiles="true" />
<WriteLinesToFile
@ -148,7 +151,7 @@
</MSBuild>
<MakeDir Directories="$(_MossTankPublishDestDir)" />
<Copy
SourceFiles="@(_MossTankPluginPublishTarget);$(MSBuildProjectDirectory)/../AcDream.Plugins.MossTank/mosstank.xml"
SourceFiles="@(_MossTankPluginPublishTarget);$(MSBuildProjectDirectory)/../AcDream.Plugins.MossTank/mosstank.xml;$(MSBuildProjectDirectory)/../AcDream.Plugins.MossTank/mosstank-advanced.xml;$(MSBuildProjectDirectory)/../AcDream.Plugins.MossTank/mosstank-loot-editor.xml"
DestinationFolder="$(_MossTankPublishDestDir)"
SkipUnchangedFiles="true" />
<WriteLinesToFile