This project contains modules that implement compile time verification of the Spine model.
To enable the verification in a project, apply the following Gradle config to subprojects that may contain Spine model elements:
buildscript {
dependencies {
classpath("io.spine.tools:spine-model-check-bundle:${spineVersion}")
}
}
apply(plugin = "io.spine.tools.spine-model-check")
tasks.compileJava {
options.compilerArgs.addAll(listOf("-processor", "io.spine.model.assemble.AssignLookup", "-AspineDirRoot=${rootDir}"))
}
dependencies {
annotationProcessor(group = "io.spine.tools", name = "spine-model-check-bundle", version = spineVersion)
}
The Spine model elements are Java and Protobuf declarations of Entities and the messages
handled (i.e. Command
s, Event
s and Rejection
s).