iwf-java-sdk

Coverage Status Build status

Java SDK for iWF workflow engine

See samples for how to use this SDK to build your workflow.

Requirements

How to use

Here is the link to all the versions on Maven available to use. It gets replicated from staging repo after 30-60 minutes.

Also the Java docs for the latest version. For the latest version, MVN Repository website may have 1~2 days delay to show up.

Gradle

// https://mvnrepository.com/artifact/io.iworkflow/iwf-java-sdk
implementation 'io.iworkflow:iwf-java-sdk:2.5.+'

Maven

<!-- https://mvnrepository.com/artifact/io.iworkflow/iwf-java-sdk -->
<dependency>
    <groupId>io.iworkflow</groupId>
    <artifactId>iwf-java-sdk</artifactId>
    <version>2.5.+</version>
    <type>pom</type>
</dependency>

Concepts

To implement a workflow, the two most core interfaces are

A workflow can contain any number of WorkflowStates.

See more in https://github.com/indeedeng/iwf#what-is-iwf

How to build & run

Using IntelliJ

  1. Check out the idl submodule by running the command: git submodule update --init --recursive
  2. In “Build, Execution, Deployment” -> “Gradle”, choose “wrapper task in Gradle build script” for “Use gradle from”.
  3. Open Gradle tab, click “build” under “build” to build the project

Development Guide

Update IDL

Run the command git submodule update --remote --merge to update IDL to the latest commit

Local testing

If you’d like to test your changes to the SDK with the workflows in the samples repo, use the local publishing command:

  1. Run:
      ./gradlew publishToMavenLocal -x signMavenJavaPublication
    
  2. In the samples repo, make sure your build.gradle depends on the same version you just published. To find which version you published, open the SDK’s build.gradle file and look for the version = "x.y.z" line near the bottom of the file. Then run:
    ./gradlew --refresh-dependencies build
    
  3. Once you’re done, to remove the locally published version, run:
      ./gradlew unpublishFromMavenLocal
    

Repo structure

Development Plan

1.0

1.1

1.2

1.3

1.4

2.0

2.1

2.2

2.3

2.4

2.5

2.6