Gradle
The API is consumed from a local SDK repository. Publishing writes only to java/build/sdk-repository and does not publish anything publicly.
Publish the SDK locally
In the engine's java/ directory:
gradle --offline --no-daemon :api:publishApiPublicationToSdkRepositoryPlugin build file
Use compileOnly, because the runtime provides the API. The path below is the one the template uses; adjust it to where your project lives.
plugins { `java-library` }
group = "dev.example"
version = "1.0.0"
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(25))
vendor.set(JvmVendorSpec.ADOPTIUM)
}
}
tasks.withType<JavaCompile>().configureEach { options.release.set(25) }
repositories { maven { url = uri("../java/build/sdk-repository") } }
dependencies { compileOnly("dev.zernyth:api:0.8.0") }Never shade the Zernyth API into your JAR. The runtime rejects duplicate core classes.