56 lines
1.6 KiB
Kotlin
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")
|
|
}
|