new project layout to support 1.3 and 1.4

(cherry picked from commit 74cca35f51)
This commit is contained in:
Lorolas 2023-10-07 15:25:57 +02:00
parent b663f4a98a
commit 5cbfc60ebb
15 changed files with 230 additions and 160 deletions

Binary file not shown.

Binary file not shown.

View file

@ -5,6 +5,7 @@
<author>Stardust3D</author>
<supportedVersions>
<li>1.3</li>
<li>1.4</li>
</supportedVersions>
<packageId>Stardust3D.RJW.patch.Autopsy</packageId>
<description>This is a compatibility patch to enable 'Harvest Organs post mortem'/Autopsy to yield RJW bodyparts.
@ -27,8 +28,9 @@
</li>
</modDependencies>
<loadAfter>
<li>Ludeon.RimWorld</li>
<li>UnlimitedHugs.HugsLib</li>
<li>Smuffle.HarvestOrgansPostMortem</li>
<!--<li>rim.job.world</li>-->
<li>rim.job.world</li>
</loadAfter>
</ModMetaData>

View file

@ -2,5 +2,5 @@
<Manifest>
<identifier>RJW patch - Harvest Organs Post Mortem</identifier>
<version>4961.0.1.4</version>
<version>5371.0.1.4</version>
</Manifest>

Binary file not shown.

View file

@ -3,7 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.1.32113.165
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RJW_patch_Autopsy", "RJW_patch_Autopsy\RJW_patch_Autopsy.csproj", "{F17C6B3F-BA9D-4133-A201-1265A64BCB71}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RJW_patch_Autopsy_1.3", "RJW_patch_Autopsy\RJW_patch_Autopsy_1.3.csproj", "{F17C6B3F-BA9D-4133-A201-1265A64BCB71}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RJW_patch_Autopsy_1.4", "RJW_patch_Autopsy\RJW_patch_Autopsy_1.4.csproj", "{FC20CA27-4400-4AAC-99AF-F18CAFAC942E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -15,6 +17,10 @@ Global
{F17C6B3F-BA9D-4133-A201-1265A64BCB71}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F17C6B3F-BA9D-4133-A201-1265A64BCB71}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F17C6B3F-BA9D-4133-A201-1265A64BCB71}.Release|Any CPU.Build.0 = Release|Any CPU
{FC20CA27-4400-4AAC-99AF-F18CAFAC942E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FC20CA27-4400-4AAC-99AF-F18CAFAC942E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FC20CA27-4400-4AAC-99AF-F18CAFAC942E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FC20CA27-4400-4AAC-99AF-F18CAFAC942E}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<ModMetaData>
<name>RJW patch - Harvest Organs Post Mortem</name>
<author>Stardust3D</author>
<supportedVersions>
<li>1.3</li>
<li>1.4</li>
</supportedVersions>
<packageId>Stardust3D.RJW.patch.Autopsy</packageId>
<description>This is a compatibility patch to enable 'Harvest Organs post mortem'/Autopsy to yield RJW bodyparts.
</description>
<modDependencies>
<li>
<packageId>UnlimitedHugs.HugsLib</packageId>
<displayName>HugsLib</displayName>
<steamWorkshopUrl>steam://url/CommunityFilePage/818773962</steamWorkshopUrl>
</li>
<li>
<packageId>Smuffle.HarvestOrgansPostMortem</packageId>
<displayName>HarvestOrgansPostMortem</displayName>
<downloadUrl>https://github.com/DenJur/RimwoldAutopsy</downloadUrl>
</li>
<li>
<packageId>rim.job.world</packageId>
<displayName>RimJobWorld</displayName>
<downloadUrl>https://gitgud.io/Ed86/rjw</downloadUrl>
</li>
</modDependencies>
<loadAfter>
<li>Ludeon.RimWorld</li>
<li>UnlimitedHugs.HugsLib</li>
<li>Smuffle.HarvestOrgansPostMortem</li>
<li>rim.job.world</li>
</loadAfter>
</ModMetaData>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Manifest>
<identifier>RJW patch - Harvest Organs Post Mortem</identifier>
<version>5371.0.1.4</version>
</Manifest>

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 KiB

View file

@ -1,37 +0,0 @@
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("RJW patch - Harvest Organs Post Mortem")]
[assembly:
AssemblyDescription(
"This is a compatibility patch to enable 'Harvest Organs post mortem'/Autopsy to yield RJW bodyparts.")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("RJW_patch_Autopsy")]
[assembly: AssemblyCopyright("©2022 Stardust3D")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("4a00fc3e-123a-492b-96de-06af9c982b7a")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("5000.0.1.4")]
[assembly: AssemblyFileVersion("5000.0.1.4")]

View file

@ -1,95 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{F17C6B3F-BA9D-4133-A201-1265A64BCB71}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>RJW_patch_Autopsy</RootNamespace>
<AssemblyName>RJW_patch_Autopsy</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<AssemblyOriginatorKeyFile>RJW_patch_Autopsy.snk</AssemblyOriginatorKeyFile>
<LangVersion>default</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>portable</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\Assemblies\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<DocumentationFile>
</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>portable</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\Assemblies\</OutputPath>
<DefineConstants>
</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<DocumentationFile>..\..\Assemblies\RJW_patch_Autopsy.xml</DocumentationFile>
<DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<PropertyGroup>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<DelaySign>false</DelaySign>
</PropertyGroup>
<ItemGroup>
<Reference Include="Assembly-CSharp">
<HintPath>..\..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="HugsLib, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UnlimitedHugs.Rimworld.HugsLib.10.0.1\lib\net472\HugsLib.dll</HintPath>
</Reference>
<Reference Include="System.Core" />
</ItemGroup>
<ItemGroup>
<Compile Include="Patches\Harmony.cs" />
<Compile Include="Patches\NewMedicalRecipesUtilityPatch.cs" />
<Compile Include="Mod.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="..\..\About\About.xml">
<Link>About\About.xml</Link>
</Content>
<Content Include="..\..\About\Manifest.xml">
<Link>About\Manifest.xml</Link>
</Content>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<None Include="RJW_patch_Autopsy.snk" />
</ItemGroup>
<ItemGroup>
<Reference Include="RJW">
<HintPath>..\..\..\RimwoldAutopsy\1.4\Assemblies\Autopsy.dll</HintPath>
</Reference>
<Reference Include="RJW">
<HintPath>..\..\..\rjw-base\1.4\Assemblies\RJW.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Lib.Harmony" Version="2.2.2" />
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Include="Krafs.Rimworld.Ref" Version="1.4.3613" />
<PackageReference Include="UnlimitedHugs.Rimworld.HugsLib" Version="10.0.1" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View file

@ -0,0 +1,53 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')"/>
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{F17C6B3F-BA9D-4133-A201-1265A64BCB71}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>RJW_patch_Autopsy</RootNamespace>
<AssemblyName>RJW_patch_Autopsy</AssemblyName>
<TargetFramework>net48</TargetFramework>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<LangVersion>11</LangVersion>
<Copyright>©2023 Stardust3D</Copyright>
<Company>Stardust3D</Company>
<AssemblyVersion>5371.0.1.4</AssemblyVersion>
<FileVersion>5371.0.1.4</FileVersion>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>RJW_patch_Autopsy.snk</AssemblyOriginatorKeyFile>
<Description>This is a compatibility patch to enable 'Harvest Organs post mortem'/Autopsy to yield RJW bodyparts.</Description>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>bin\Release\1.3\</OutputPath>
</PropertyGroup>
<ItemGroup>
<None Remove="1.4\**"/>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Lib.Harmony" Version="2.2.2"/>
<PackageReference Include="Microsoft.CSharp" Version="4.7.0"/>
<PackageReference Include="Krafs.Rimworld.Ref" Version="1.4.3704"/>
<PackageReference Include="UnlimitedHugs.Rimworld.HugsLib" Version="10.0.1"/>
</ItemGroup>
<ItemGroup>
<Reference Include="Autopsy">
<HintPath>..\..\..\RimwoldAutopsy\1.3\Assemblies\Autopsy.dll</HintPath>
</Reference>
<Reference Include="RJW">
<HintPath>..\..\..\rjw-base\1.3\Assemblies\RJW.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Remove="1.4\**"/>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Remove="1.4\**"/>
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
</Project>

View file

@ -0,0 +1,53 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')"/>
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{fc20ca27-4400-4aac-99af-f18cafac942e}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>RJW_patch_Autopsy</RootNamespace>
<AssemblyName>RJW_patch_Autopsy</AssemblyName>
<TargetFramework>net48</TargetFramework>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<LangVersion>11</LangVersion>
<Copyright>©2023 Stardust3D</Copyright>
<Company>Stardust3D</Company>
<AssemblyVersion>5371.0.1.4</AssemblyVersion>
<FileVersion>5371.0.1.4</FileVersion>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>RJW_patch_Autopsy.snk</AssemblyOriginatorKeyFile>
<Description>This is a compatibility patch to enable 'Harvest Organs post mortem'/Autopsy to yield RJW bodyparts.</Description>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>bin\Release\1.4\</OutputPath>
</PropertyGroup>
<ItemGroup>
<None Remove="1.3\**"/>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Lib.Harmony" Version="2.2.2"/>
<PackageReference Include="Microsoft.CSharp" Version="4.7.0"/>
<PackageReference Include="Krafs.Rimworld.Ref" Version="1.4.3704"/>
<PackageReference Include="UnlimitedHugs.Rimworld.HugsLib" Version="10.0.1"/>
</ItemGroup>
<ItemGroup>
<Reference Include="Autopsy">
<HintPath>..\..\..\RimwoldAutopsy\1.4\Assemblies\Autopsy.dll</HintPath>
</Reference>
<Reference Include="RJW">
<HintPath>..\..\..\rjw-base\1.4\Assemblies\RJW.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Remove="1.3\**"/>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Remove="1.3\**"/>
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
</Project>

View file

@ -8,17 +8,16 @@
plugins {
id("com.ullink.msbuild") version "3.15"
//id("com.ullink.nunit") version "1.12"
}
version = "4961.0.1.4"
version = "5371.0.1.4"
val friendlyName = "rjw-patch-autopsy"
tasks.register<com.ullink.Msbuild>("buildC#") {
tasks.register<com.ullink.Msbuild>("buildC#_1.3") {
// either a solution file
// solutionFile = "${rootProject.name}.sln"
// or a project file (.csproj or .vbproj)
projectFile = file("${rootProject.name}/${rootProject.name}.csproj")
projectFile = file("${rootProject.name}/${rootProject.name}_1.3.csproj")
targets = listOf("Clean", "Rebuild")
configuration = "Release"
@ -26,9 +25,21 @@ tasks.register<com.ullink.Msbuild>("buildC#") {
// destinationDir = "build/msbuild/bin"
}
tasks.register<Exec>("sign") {
dependsOn("buildC#")
workingDir = project.projectDir.resolve("${rootProject.name}/obj/Release")
tasks.register<com.ullink.Msbuild>("buildC#_1.4") {
// either a solution file
// solutionFile = "${rootProject.name}.sln"
// or a project file (.csproj or .vbproj)
projectFile = file("${rootProject.name}/${rootProject.name}_1.4.csproj")
targets = listOf("Clean", "Rebuild")
configuration = "Release"
// destinationDir = "build/msbuild/bin"
}
tasks.register<Exec>("sign_1.3") {
dependsOn("buildC#_1.3")
workingDir = project.projectDir.resolve("${rootProject.name}/bin/Release/1.3/net48")
executable = "H:\\Windows Kits\\10\\bin\\10.0.22621.0\\x64\\signtool.exe"
args = listOf(
"sign",
@ -44,36 +55,71 @@ tasks.register<Exec>("sign") {
)
}
tasks.register("copyDll") {
dependsOn("copyDll_Assemblies", "copyDll_1.3")
tasks.register<Exec>("sign_1.4") {
dependsOn("buildC#_1.4")
workingDir = project.projectDir.resolve("${rootProject.name}/bin/Release/1.4/net48")
executable = "H:\\Windows Kits\\10\\bin\\10.0.22621.0\\x64\\signtool.exe"
args = listOf(
"sign",
"/seal",
"/t",
"http://timestamp.digicert.com",
"/a",
"/n",
"Stardust3D",
"/fd",
"certHash",
"${rootProject.name}.dll"
)
}
tasks.register<Copy>("copyDll_Assemblies") {
dependsOn("sign", "clean")
from(project.projectDir.resolve("${rootProject.name}/obj/Release/${rootProject.name}.dll"))
into(project.projectDir.parentFile.resolve("Assemblies"))
tasks.register("copy") {
dependsOn("copy_1.3", "copy_1.4", "copy_about")
}
tasks.register<Copy>("copy_about") {
from(project.projectDir.resolve("${rootProject.name}/About"))
into(project.projectDir.parentFile.resolve("About"))
}
tasks.register<Copy>("copy_1.3") {
dependsOn("copyDll_1.3")
from(project.projectDir.resolve("${rootProject.name}/1.3"))
into(project.projectDir.parentFile.resolve("1.3"))
}
tasks.register<Copy>("copy_1.4") {
dependsOn("copyDll_1.4")
from(project.projectDir.resolve("${rootProject.name}/1.4"))
into(project.projectDir.parentFile.resolve("1.4"))
}
tasks.register<Copy>("copyDll_1.3") {
dependsOn("sign", "clean")
from(project.projectDir.resolve("${rootProject.name}/obj/Release/${rootProject.name}.dll"))
dependsOn("sign_1.3")
from(project.projectDir.resolve("${rootProject.name}/bin/Release/1.3/net48/${rootProject.name}.dll"))
into(project.projectDir.parentFile.resolve("1.3/Assemblies"))
}
tasks.register<Copy>("copyDll_1.4") {
dependsOn("sign_1.4")
from(project.projectDir.resolve("${rootProject.name}/bin/Release/1.4/net48/${rootProject.name}.dll"))
into(project.projectDir.parentFile.resolve("1.4/Assemblies"))
}
tasks.register<Zip>("buildZip") {
dependsOn(":copyDll")
dependsOn("clean", ":copy")
into("$friendlyName/1.3") {
from(project.projectDir.parentFile.resolve("1.3"))
}
into("$friendlyName/1.4") {
from(project.projectDir.parentFile.resolve("1.4"))
}
into("$friendlyName/About") {
from(project.projectDir.parentFile.resolve("About"))
}
into("$friendlyName/Assemblies") {
from(project.projectDir.parentFile.resolve("Assemblies"))
}
/*into("${rootProject.friendlyName}/Defs") {
into("$friendlyName/Defs") {
from(project.projectDir.parentFile.resolve("Defs"))
}*/
}
into("$friendlyName/Source/${rootProject.name}") {
from(project.projectDir.parentFile.resolve("Source/${rootProject.name}"))
excludes.add("**/obj/**")
@ -81,9 +127,9 @@ tasks.register<Zip>("buildZip") {
}
tasks.clean {
dependsOn("buildC#")
delete.add(project.projectDir.parentFile.resolve("Assemblies"))
delete.add(project.projectDir.parentFile.resolve("1.3/Assemblies"))
delete.add(project.projectDir.parentFile.resolve("1.3"))
delete.add(project.projectDir.parentFile.resolve("1.4"))
delete.add(project.projectDir.parentFile.resolve("About"))
}
tasks.build {

View file

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists