Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ewpratten/jstate
JState is a Java library for simple Finite State Machines
https://github.com/ewpratten/jstate
finite-state-machine java library logic-programming
Last synced: 2 days ago
JSON representation
JState is a Java library for simple Finite State Machines
- Host: GitHub
- URL: https://github.com/ewpratten/jstate
- Owner: ewpratten
- License: gpl-3.0
- Created: 2020-09-29T13:40:30.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-12-13T06:01:36.000Z (about 2 years ago)
- Last Synced: 2024-12-18T09:21:43.056Z (about 2 months ago)
- Topics: finite-state-machine, java, library, logic-programming
- Language: Java
- Homepage: https://ewpratten.retrylife.ca/jstate
- Size: 365 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# JState
[![Documentation](https://img.shields.io/badge/-documentation-blue)](https://ewpratten.retrylife.ca/jstate) ![Build library](https://github.com/Ewpratten/jstate/workflows/Build%20library/badge.svg)
JState is a Java library for executing stateful tasks in the style of a Finite State Machine. I originally wrote this library under the name [libKontrol](https://github.com/frc5024/lib5k/tree/master/libKontrol) for [@frc5024](https://github.com/frc5024). This new library is part of an effort to save my work at Raider Robotics as a collection of Java libraries that do not depend on any of the team's internal infrastructure.
## Using in your project
**Step 1.** Add the RetryLife maven server to your `build.gradle` file:
```groovy
repositories {
maven {
name 'retrylife-release'
url 'https://release.maven.retrylife.ca/'
}
}
```**Step 2.** Add this library as a dependency:
```groovy
dependencies {
implementation 'ca.retrylife:jstate:2.+'
implementation 'ca.retrylife:jstate:2.+:sources'
implementation 'ca.retrylife:jstate:2.+:javadoc'
}
```## How to push a release
Pushing a release is simple. Clone this repo, go to master, and run:
```sh
git tag -a -m ""
git push origin
```