Skip to content

SpineEventEngine/core-java

Repository files navigation

Welcome to Spine Event Engine

codecov.io   Codacy Badge   license

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.

Pre-release

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.

Gradle project dependencies

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.

Links

If you plan to contribute to the project please visit these pages:

Important Warnings

  • 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.