81d3c9ca6b
DalamudPackager's default targets do not enable the HandleImages / ImagesPath flags, so the images/ directory was silently excluded from the build output even after the .csproj started copying icon.png next to the DLL. The local Dalamud plugin loader then fell back to the placeholder question-mark icon because there was nothing to load at <plugindir>/images/icon.png. Override the default by dropping a DalamudPackager.targets next to the csproj — its presence disables the SDK's default target, which is guarded on `!Exists($(PackagerTargetFile))`. The override mirrors the SDK property list verbatim and adds HandleImages=true plus ImagesPath=$(ProjectDir)images so the packager actually walks the images directory and copies its contents into both the dev plugin output and the release ZIP. Verified: latest.zip now contains images/icon.png at the expected path; both dev plugins and Custom-Repo installs will render the Hellion logo locally without depending on the remote IconUrl.
99 lines
4.3 KiB
XML
Executable File
99 lines
4.3 KiB
XML
Executable File
<Project Sdk="Dalamud.NET.Sdk/15.0.0">
|
|
<PropertyGroup>
|
|
<!-- Hellion Chat versioning runs separately from upstream Chat 2.
|
|
0.1.0 is our bootstrap release; the underlying Chat 2 base is
|
|
called out in the yaml changelog so users can see what it
|
|
derives from. -->
|
|
<Version>0.1.0</Version>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<!-- HellionChat fork: assembly is renamed so Dalamud uses
|
|
pluginConfigs/HellionChat instead of pluginConfigs/ChatTwo,
|
|
keeping our state independent from the upstream plugin.
|
|
Code namespace stays ChatTwo.* so upstream cherry-picks
|
|
apply cleanly. -->
|
|
<AssemblyName>HellionChat</AssemblyName>
|
|
<RootNamespace>ChatTwo</RootNamespace>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="MessagePack" Version="3.1.4" />
|
|
<PackageReference Include="Microsoft.Data.Sqlite" Version="9.0.0" />
|
|
<PackageReference Include="morelinq" Version="4.4.0" />
|
|
<PackageReference Include="Pidgin" Version="3.3.0" />
|
|
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.12" />
|
|
<PackageReference Include="Watson.Lite" Version="6.3.9" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Compile Update="Resources\Language.Designer.cs">
|
|
<DesignTime>True</DesignTime>
|
|
<AutoGen>True</AutoGen>
|
|
<DependentUpon>Language.resx</DependentUpon>
|
|
</Compile>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<EmbeddedResource Update="Resources\Language.resx">
|
|
<Generator>ResXFileCodeGenerator</Generator>
|
|
<LastGenOutput>Language.Designer.cs</LastGenOutput>
|
|
</EmbeddedResource>
|
|
</ItemGroup>
|
|
|
|
<!-- HellionChat — Hellion-specific resource bundle (HellionStrings.resx
|
|
+ HellionStrings.<lang>.resx) is picked up automatically by the SDK
|
|
default include. Designer.cs is hand-maintained, no auto-gen needed. -->
|
|
|
|
<!-- Bundled Hellion font (Exo 2, OFL-1.1). Embedded as a manifest
|
|
resource with a fixed LogicalName so FontManager can pull the
|
|
bytes back at runtime via AddFontFromMemory. The OFL license
|
|
text travels with it inside the assembly to satisfy the
|
|
"license must be distributed with the font" clause. -->
|
|
<ItemGroup>
|
|
<EmbeddedResource Include="Resources\HellionFont.ttf">
|
|
<LogicalName>HellionFont.ttf</LogicalName>
|
|
</EmbeddedResource>
|
|
<EmbeddedResource Include="Resources\HellionFont-OFL.txt">
|
|
<LogicalName>HellionFont-OFL.txt</LogicalName>
|
|
</EmbeddedResource>
|
|
</ItemGroup>
|
|
|
|
|
|
<ItemGroup>
|
|
<Folder Include="images\" />
|
|
</ItemGroup>
|
|
|
|
<!-- Copy images/icon.png next to the built DLL so Dalamud's local
|
|
plugin loader finds it at <plugindir>/images/icon.png. The
|
|
DalamudPackager.targets file in this directory then includes
|
|
the same path inside the release ZIP — see that file for the
|
|
full packaging override. -->
|
|
<ItemGroup>
|
|
<None Include="images\icon.png">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</None>
|
|
</ItemGroup>
|
|
|
|
<!--This doesn't work until Plogon is updated to include NodeJS-->
|
|
<!-- <Target Name="NodeJS Compile" BeforeTargets="BeforeCompile">-->
|
|
<!-- <Exec Command="npm install" WorkingDirectory="Http\Frontend"/>-->
|
|
<!-- <Exec Command="npm run build" WorkingDirectory="Http\Frontend"/>-->
|
|
<!-- </Target>-->
|
|
<!-- -->
|
|
<!-- <Target Name="CopyFiles" AfterTargets="Build">-->
|
|
<!-- <ItemGroup>-->
|
|
<!-- <Files Include="$(MSBuildThisFileDirectory)\Http\Frontend\build\**" />-->
|
|
<!-- </ItemGroup>-->
|
|
<!-- -->
|
|
<!-- <Copy SourceFiles="@(Files)" DestinationFolder="$(TargetDir)\Frontend\%(RecursiveDir)" />-->
|
|
<!-- </Target>-->
|
|
|
|
<!-- <Target Name="NodeJS Compile" BeforeTargets="BeforeCompile" Condition="'$(Configuration)' == 'Debug'">-->
|
|
<!-- <Exec Command="npm install" WorkingDirectory="Http\Frontend"/>-->
|
|
<!-- <Exec Command="npm run build" WorkingDirectory="Http\Frontend"/>-->
|
|
<!-- </Target>-->
|
|
|
|
<Target Name="UnzipBuild" AfterTargets="Build">
|
|
<Unzip SourceFiles="websiteBuild.zip" DestinationFolder="$(TargetDir)\Frontend"/>
|
|
</Target>
|
|
</Project>
|