Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mrshoenel/java-state-machines

A repository with a maven package for building state machines (NFAs, DFAs etc.)
https://github.com/mrshoenel/java-state-machines

dfa java maven nfa state state-machine

Last synced: 27 days ago
JSON representation

A repository with a maven package for building state machines (NFAs, DFAs etc.)

Awesome Lists containing this project

README

        

# State Machines [![Coverage Status](https://coveralls.io/repos/github/MrShoenel/java-state-machines/badge.svg?branch=master)](https://coveralls.io/github/MrShoenel/java-state-machines?branch=master)
A `Java` library packaged for _maven_ to build state(-ful) machines, such as DFAs or NFAs. Supports transitions, custom arguments for transitions and validation in each state(-machine) of available actions.

Comes unit-tested and contains some examples.

## Add to your project [![Maven Central](https://img.shields.io/maven-central/v/io.github.mrshoenel/stateMachines.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22io.github.mrshoenel%22%20AND%20a:%22stateMachines%22)
Open up your `pom.xml` and add this (the releases are synced now to maven central):


<dependency>
<groupId>io.github.mrshoenel</groupId>
<artifactId>stateMachines</artifactId>
<version>1.2.3/version> <!-- check latest version in pom.xml -->
</dependency>

## Coverage reporting
This is mostly a note to myself, run following command for all tests, generating jacoco agent and report and submit to coveralls.io:


mvn clean test jacoco:prepare-agent jacoco:report coveralls:report -DrepoToken=<token>

## Release to Maven central
Again, a note to myself for staging the repo at OSSRH Sonatype and then releasing to central. We have auto-release set to true, so this command is sufficient:


mvn clean deploy

Otherwise, we would need to call

mvn nexus-staging:release

afterwards (c.f. https://central.sonatype.org/pages/apache-maven.html).