Files

56 lines
1.6 KiB
Kotlin

plugins {
java
application
}
repositories {
mavenCentral()
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(25)
}
}
dependencies {
implementation("com.fasterxml.jackson.core:jackson-databind:2.20.0")
testImplementation(project(":engine"))
testImplementation(platform("org.junit:junit-bom:5.13.4"))
testImplementation("org.junit.jupiter:junit-jupiter")
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}
application {
mainClass = "dev.projectcapture.contenttools.ContentTool"
}
val fanContentRoot = rootProject.layout.projectDirectory
.dir("content-pokemon/src/main/resources/projectcapture/content/v1")
tasks.test {
useJUnitPlatform()
systemProperty("projectCapture.contentRoot", fanContentRoot.asFile.absolutePath)
}
tasks.register<JavaExec>("validateFanContent") {
group = "verification"
description = "Validates the unofficial, non-commercial fan-content catalog."
classpath = sourceSets.main.get().runtimeClasspath
mainClass = application.mainClass
args("validate", fanContentRoot.asFile.absolutePath)
}
tasks.register<JavaExec>("validateReadyFanAssets") {
group = "verification"
description = "Refuses READY catalog records whose Blockbench export artifacts are absent or malformed."
classpath = sourceSets.main.get().runtimeClasspath
mainClass = application.mainClass
args("ready-assets", fanContentRoot.asFile.absolutePath, rootProject.layout.projectDirectory.asFile.absolutePath)
}
tasks.named("check") {
dependsOn("validateFanContent", "validateReadyFanAssets")
}