Завершить контентную архитектуру этапа 4

This commit is contained in:
2026-08-18 22:03:38 +03:00
parent 2ddac2775f
commit 5051f316fe
39 changed files with 1954 additions and 259 deletions
+43
View File
@@ -0,0 +1,43 @@
plugins {
id 'java-library'
}
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
dependencies {
testImplementation 'junit:junit:4.13.2'
}
def levelsDirectory = layout.projectDirectory.dir('src/main/resources/levels')
def configuredLevelsDirectory = providers.gradleProperty('levelDirectory')
.map { file(it) }
.orElse(levelsDirectory.asFile)
tasks.register('validateLevels', JavaExec) {
group = 'verification'
description = 'Validates every versioned level resource before Android packaging.'
dependsOn classes
classpath = sourceSets.main.runtimeClasspath
mainClass = 'com.projectsacrifice.game.LevelContentTool'
inputs.dir configuredLevelsDirectory
doFirst {
setArgs(['validate', configuredLevelsDirectory.get().absolutePath])
}
}
tasks.register('previewLevels', JavaExec) {
group = 'verification'
description = 'Exports deterministic SVG and TSV previews for every level.'
dependsOn classes
classpath = sourceSets.main.runtimeClasspath
mainClass = 'com.projectsacrifice.game.LevelContentTool'
inputs.dir configuredLevelsDirectory
outputs.dir layout.buildDirectory.dir('level-previews')
doFirst {
setArgs(['preview', configuredLevelsDirectory.get().absolutePath,
layout.buildDirectory.dir('level-previews').get().asFile.absolutePath])
}
}