Terra/platforms/merged/build.gradle.kts
Astrashh 3aef977384
Patch version 6.4.1 (#435)
* Bump version to 6.4.1

* fix fabric dev env

* Invert exposed ore logic (#433)

* Invert exposed ore logic

* Bump ore addon version

* Use logger in Gradle over println (#434)

* Log info instead of println in gradle scripts

* Missed buildSrc printlns

---------

Co-authored-by: Zoë <duplexsys@protonmail.com>
2023-11-25 01:02:45 +00:00

37 lines
1.2 KiB
Plaintext

val platformOverrides = mapOf(
"fabric" to "remapJar"
)
dependencies {
api(project(":common:implementation:base"))
}
val taskSet = HashSet<AbstractArchiveTask>()
val resourcesDir = File("${project.buildDir}/resources/main/")
val dump = tasks.create("dumpDependents") {
doFirst {
taskSet.forEach {
val resource = File(resourcesDir, it.archiveFileName.get())
logger.info("Including archive " + it.archiveFileName.orNull + " in directory " + resource.absolutePath)
it.archiveFile.get().asFile.copyTo(resource, true)
}
}
}
tasks["processResources"].dependsOn(dump)
afterEvaluate {
project(":platforms").subprojects.forEach {
if (it == this@afterEvaluate) return@forEach
val taskName = platformOverrides.getOrDefault(it.name, "jar")
val task = it.tasks.named(taskName).get()
if (task !is AbstractArchiveTask) {
throw IllegalArgumentException("Task dependency must be Archive Task: " + task.name)
}
tasks["dumpDependents"].dependsOn(task)
taskSet.add(task)
logger.info("Merged JAR will incorporate task ${task.name} from platform ${it.name}.")
}
}