new project layout to support 1.3 and 1.4

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

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 {