This repository contains Kaleido's Java SDK modules for interacting with Kaleido platform services. Using these SDKs you can write standalone applications that connect to the Kaleido platform, or hosted applications that run inside it. The Kaleido TypeScript SDKs are the sibling of this repository — both share the same wire protocol, configuration files, and programming model.
workflow-engine-sdk— build workflow engine providers: transaction handlers, event sources, and event processors.
import io.kaleido.workflowengine.sdk.client.WorkflowEngineClient;
var client = WorkflowEngineClient.fromConfigFile();
client.transactionHandler("my-handler", myHandler)
.start();See the workflow engine SDK README for the configuration
model, handler types, and complete examples, and
samples/workflow-engine-getting-started for a
runnable provider.
Artifacts are published to GitHub Packages (Maven).
repositories {
mavenCentral()
maven {
url = uri("https://maven.pkg.github.com/kaleido-io/kaleido-sdk-java")
}
}
dependencies {
implementation("io.kaleido:workflow-engine-sdk:<version>")
}<repositories>
<repository>
<id>github</id>
<url>https://maven.pkg.github.com/kaleido-io/kaleido-sdk-java</url>
</repository>
</repositories>
<dependency>
<groupId>io.kaleido</groupId>
<artifactId>workflow-engine-sdk</artifactId>
<version>_VERSION_</version>
</dependency>Requires JDK 21.
./gradlew build # compile + run unit tests
./gradlew componentTest # conformance suite against a live workflow engine
./gradlew publishToMavenLocal # install to ~/.m2 for local testing
./gradlew javadoc # generate Javadoc HTMLReleases are cut by the Release workflow, triggered manually
(workflow_dispatch). One run does everything for the given version:
- Builds and tests the SDK with the supplied version.
- Publishes the Maven artifacts (jar + sources + javadoc + POM) to GitHub Packages.
- Publishes Javadoc to the
gh-pagesbranch underdocs/<version>/. - Creates a GitHub Release with tag
v<version>and auto-generated release notes.
The sdkVersion input drives everything; a leading v is stripped automatically, so
v1.0.0 and 1.0.0 are equivalent. The published Maven version and the Git tag both
derive from it.
From the GitHub UI:
- Go to Actions → Kaleido Workflow Engine Java SDK Release → Run workflow.
- Set
sdk_version(e.g.v0.1.0-rc.1) - Tick
prerelease(if this is a pre-release) - Run. This publishes
io.kaleido:workflow-engine-sdk:0.1.0-rc.1and tagsv0.1.0-rc.1.
ci.yaml— builds and unit-tests the SDK on every pull request.codeql.yaml— CodeQL security analysis on PRs and pushes tomain.