Spine Event Engine is a Java framework for building Event Sourcing and CQRS applications that are accessed by clients built with JavaScript, Java Nano (Android), Objective-C, and Java.
Requires Java 8 or higher.
The project is under active ongoing development. At this stage, we do not recommend using the framework for production purposes. You are welcome to experiment and provide your feedback.
The latest stable version is 0.10.0.
Please track our release announcement to be informed about the production version (1.0.0) release.
In order to add Spine to your project, please add the following code to your build.gradle
:
buildscript{
ext {
spineVersion = '0.10.0'
spineModelCompilerVersion = '0.9.41-SNAPSHOT'
protobufGradlePluginVersion = '0.8.3'
spineRepository = 'http:https://maven.teamdev.com/repository/spine'
spineSnapshotsRepository = 'http:https://maven.teamdev.com/repository/spine-snapshots'
}
// Repositories for plug-ins.
repositories {
jcenter()
// Release repository
maven { url = spineRepository }
// Snapshots repository
maven { url = spineSnapshotsRepository }
}
dependencies {
// ...
classpath group: 'com.google.protobuf', name:'protobuf-gradle-plugin', version: protobufGradlePluginVersion
classpath group: 'io.spine.tools', name: 'spine-model-compiler', version: spineModelCompilerVersion
}
}
apply plugin: 'java'
apply plugin: 'com.google.protobuf'
apply plugin: 'io.spine.tools.spine-model-compiler'
repositories {
jcenter()
maven { url = spineRepository }
maven { url = spineSnapshotsRepository }
}
dependencies {
// ...
// Client-side and shared API.
compile group: 'io.spine', name: 'spine-client', version: spineVersion
// Add this only for server-side code.
compile group: 'io.spine', name: 'spine-server', version: spineVersion
}
There is no Maven support at the moment.
If you plan to contribute to the project please visit these pages:
- The code annotated with
@Internal
are not parts of public API of the framework, therefore should not be used from outside of the framework. - The public API marked as
@Experimental
may be used at own risk; it can change at any time, and has no guarantee of API stability or backward-compatibility. - The API annotated with
@SPI
is for those who intend to extend the framework, or provide custom storage implementations.
If you need to use API with one of these annotations, please contact us.