Skip to content

Commit d96ee1b

Browse files
committed
Integrate TS-Build Support
This is mainly useful for when it comes to publishing the packages, and bug fixing issues when installing via mod man and stuff. It does not automatically publish the package just prepares it for Thunderstore and GitHub Releases.
1 parent 74b5ec1 commit d96ee1b

8 files changed

Lines changed: 531 additions & 9 deletions

File tree

‎.github/workflows/ts-build.yml‎

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
2+
name: TS-Build
3+
4+
on:
5+
workflow_dispatch:
6+
7+
permissions:
8+
contents: read
9+
10+
jobs:
11+
build:
12+
name: Run TS-Build
13+
runs-on: windows-latest
14+
15+
steps:
16+
- name: Checkout Repository
17+
uses: actions/checkout@v4
18+
19+
- name: Setup .NET SDK
20+
uses: actions/setup-dotnet@v4
21+
with:
22+
dotnet-version: 10.0.x
23+
24+
- name: Run TS-Build Script
25+
shell: cmd
26+
run: call InscryptionAPI\TS-Build.bat
27+
28+
- name: Send Artifacts to GitHub Workflow for Later Use.
29+
uses: actions/upload-artifact@v4
30+
with:
31+
name: InscryptionAPI-Thunderstore-${{ github.run_number }}
32+
path: InscryptionAPI/GITHUB RELEASE/NET/*.zip
33+
if-no-files-found: error
34+
retention-days: 30

‎.gitignore‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,8 @@ bin/
66
.vscode/
77
*.user
88
build/
9-
9+
InscryptionAPI/GITHUB RELEASE/
10+
InscryptionAPI/GITHUB PRERELEASE/
11+
InscryptionAPI/Thunderstore-Package-Elements/monomod/Assembly-CSharp.APIPatcher.mm.dll
12+
InscryptionAPI/Thunderstore-Package-Elements/monomod/Assembly-CSharp.APIPatcher.mm.pdb
13+
InscryptionAPI/Thunderstore-Package-Elements/monomod/Assembly-CSharp.APIPatcher.mm.xml
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="TS-Build InscryptionAPI" type="RunNativeExe" factoryName="Native Executable">
3+
<option name="EXE_PATH" value="$PROJECT_DIR$/InscryptionAPI/TS-Build.bat" />
4+
<option name="PROGRAM_PARAMETERS" value="" />
5+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/InscryptionAPI" />
6+
<option name="PASS_PARENT_ENVS" value="1" />
7+
<option name="ENV_FILE_PATHS" value="" />
8+
<option name="REDIRECT_INPUT_PATH" value="" />
9+
<option name="MIXED_MODE_DEBUG" value="0" />
10+
<method v="2">
11+
<option name="Build Solution" enabled="true" />
12+
</method>
13+
</configuration>
14+
</component>

‎APIPatcher/APIPatcher.csproj‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
<GenerateDocumentationFile>true</GenerateDocumentationFile>
2222
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
2323
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
24+
<OutputPath>..\InscryptionAPI\Thunderstore-Package-Elements\monomod\</OutputPath>
2425
</PropertyGroup>
2526

2627
<ItemGroup>

‎InscryptionAPI/InscryptionAPI.csproj‎

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@
2323
</PropertyGroup>
2424

2525
<ItemGroup>
26+
<!-- Talking Card Prefab -->
27+
<None Remove="$(ProjectDir)\TalkingCards\talkingcardgenericprefab" />
28+
<EmbeddedResource Include="$(ProjectDir)\TalkingCards\talkingcardgenericprefab">
29+
<LogicalName>TalkingCardGenericPrefab</LogicalName>
30+
</EmbeddedResource>
31+
<!-- Base Game Decals -->
2632
<None Remove="$(ProjectDir)\Assets\*" />
2733
<EmbeddedResource Include="$(ProjectDir)\Assets\*" />
2834
<None Remove="Assets\BaseGameDecals\decal_blood_1.png" />
@@ -59,14 +65,6 @@
5965
<EmbeddedResource Include="Assets\BaseGameDecals\decal_stitches.png" />
6066
</ItemGroup>
6167

62-
<ItemGroup>
63-
<!-- Talking Card Prefab -->
64-
<None Remove="$(ProjectDir)\TalkingCards\talkingcardgenericprefab" />
65-
<EmbeddedResource Include="$(ProjectDir)\TalkingCards\talkingcardgenericprefab">
66-
<LogicalName>TalkingCardGenericPrefab</LogicalName>
67-
</EmbeddedResource>
68-
</ItemGroup>
69-
7068
<ItemGroup>
7169
<PackageReference Include="BepInEx.Analyzers" Version="1.0.8">
7270
<PrivateAssets>all</PrivateAssets>
@@ -93,4 +91,23 @@
9391
<ResolvedFileToPublish Remove="@(ResolvedFileToPublish)" Condition="'%(ResolvedFileToPublish.Extension)' == '.dll' and '%(ResolvedFileToPublish.RelativePath)' != 'InscryptionAPI.dll'" />
9492
</ItemGroup>
9593
</Target>
94+
95+
<!--TS Build Setup-->
96+
<PropertyGroup>
97+
<!--Secondary CSProjs-->
98+
<SecondaryCSProjLocations>"../InscryptionCommunityPatch/InscryptionCommunityPatch.csproj"</SecondaryCSProjLocations>
99+
<!--Copy Locations-->
100+
<BuildCopyLocations>Thunderstore-Package-Elements</BuildCopyLocations>
101+
<BuildOutputLocations>plugins</BuildOutputLocations>
102+
<CHANGELOGCopyLocation>..\CHANGELOG.md</CHANGELOGCopyLocation>
103+
<READMECopyLocation>..\README.md</READMECopyLocation>
104+
<LICENSECopyLocation>..\LICENSE.md</LICENSECopyLocation>
105+
<ReleaseMode>Release</ReleaseMode>
106+
<!--Thunderstore Manifest Properties-->
107+
<ThunderstorePackageName>API</ThunderstorePackageName>
108+
<ThunderstorePackageVersion>2.24.2</ThunderstorePackageVersion>
109+
<ThunderstoreWebsiteURL>https://github.com/InscryptionModding/InscryptionAPI/</ThunderstoreWebsiteURL>
110+
<ThunderstorePackageDescription>The de-facto standard core API for all Inscryption mods. This lets you create new cards, abilities, challenges, map nodes, starter decks, and more.</ThunderstorePackageDescription>
111+
<ThunderstorePackageDependencyStrings>BepInEx-BepInExPack_Inscryption-5.4.2306;BepInEx-MonoMod_Loader_Inscryption-1.0.0</ThunderstorePackageDependencyStrings>
112+
</PropertyGroup>
96113
</Project>

0 commit comments

Comments
 (0)