feat: add verified development live handoff

This commit is contained in:
2026-07-24 14:54:57 +09:00
parent 68a41194c9
commit 8b628908f0
11 changed files with 2355 additions and 105 deletions

View File

@@ -114,8 +114,9 @@
<!--
Same-origin GraphE previews are a second, closed projection of four public
bitmap assets. Never map the complete Res directory into WebView2: ordinary
local Debug output can also contain credential-bearing MmoneyCoder.ini.
bitmap assets. Never map the complete Res directory into WebView2: an
operator-selected legacy directory can contain credential-bearing
MmoneyCoder.ini.
-->
<LegacyFinancialPreviewAsset Include="$(LegacyResSourceRoot)\pie.bmp" />
<LegacyFinancialPreviewAsset Include="$(LegacyResSourceRoot)\Grow.bmp" />
@@ -216,11 +217,6 @@
<Error Condition="'$(LegacyRuntimeAssetsValidationEnabled)' == 'true' and
!Exists('$(LegacyCutsSourceRoot)\%(LegacyRequiredBuiltInAsset.Identity)')"
Text="A required built-in legacy scene asset is missing: Cuts\%(LegacyRequiredBuiltInAsset.Identity)." />
<Error Condition="'$(LegacyRuntimeAssetsValidationEnabled)' == 'true' and
'$(GenerateAppxPackageOnBuild)' != 'true' and
'$(PublishAppxPackage)' != 'true' and
!Exists('$(LegacyResSourceRoot)\MmoneyCoder.ini')"
Text="The required legacy database settings file Res\MmoneyCoder.ini is missing from $(LegacyRuntimeSourceRoot)." />
<Error Condition="'$(LegacyRuntimeAssetsValidationEnabled)' == 'true' and
!Exists('$(LegacyResSourceRoot)\종목.ini')"
Text="The required legacy stock menu file Res\종목.ini is missing from $(LegacyRuntimeSourceRoot)." />
@@ -242,38 +238,11 @@
</Target>
<!--
Do not declare the credential-bearing INI as Content, None, or another item
harvested by PackagingOutputs. The MSIX tooling harvests every
CopyToOutputDirectory item into its loose-package recipe, even when
GenerateAppxPackageOnBuild is false. This post-build copy provides the original
executable-relative layout only for ordinary local output. The CPS-only
up-to-date items below are not package payload candidates.
Database credentials are never build inputs. Full Debug, publish and MSIX
builds use the same user-only LocalAppData overlay as a clean handoff PC.
-->
<ItemGroup Condition="'$(LegacyRuntimeAssetsEnabled)' == 'true'">
<!-- These CPS-only items participate in Visual Studio's fast up-to-date check. -->
<UpToDateCheckInput Include="$(LegacyResSourceRoot)\MmoneyCoder.ini" />
<UpToDateCheckBuilt Include="$(TargetDir)Res\MmoneyCoder.ini" />
</ItemGroup>
<Target Name="CopyLegacyDatabaseIniToLocalOutput"
AfterTargets="Build"
Inputs="$(LegacyResSourceRoot)\MmoneyCoder.ini"
Outputs="$(TargetDir)Res\MmoneyCoder.ini"
Condition="'$(LegacyRuntimeAssetsEnabled)' == 'true' and
'$(GenerateAppxPackageOnBuild)' != 'true' and
'$(PublishAppxPackage)' != 'true'">
<MakeDir Directories="$(TargetDir)Res" />
<Copy SourceFiles="$(LegacyResSourceRoot)\MmoneyCoder.ini"
DestinationFiles="$(TargetDir)Res\MmoneyCoder.ini"
SkipUnchangedFiles="true" />
<ItemGroup>
<FileWrites Include="$(TargetDir)Res\MmoneyCoder.ini" />
</ItemGroup>
</Target>
<!-- The credential-bearing local development copy must not survive Clean. -->
<Target Name="RemoveLegacyDatabaseIniFromLocalOutput"
BeforeTargets="Clean">
<Target Name="ScrubLegacyDatabaseIniFromBuildOutput"
BeforeTargets="PrepareForBuild">
<Delete Files="$(TargetDir)Res\MmoneyCoder.ini"
Condition="Exists('$(TargetDir)Res\MmoneyCoder.ini')" />
</Target>