Introduction
The JS7 repository holds the source code to build the JS7 Controller and JS7 Agent.
Prerequisites
The JS7 Controller and Agent are implemented with Scala and have to be build with sbt (Scala Build Tool). SOS uses sbt version 1.1.5 with sbt_script version 1.4.2.
Clone Repository
Navigate to your desired destination folder and clone the repository from GitHub:
git clone https://github.com/sos-berlin/js7
Checkout
Checkout Tagged Version
git fetch --all --tags
git checkout tags/[desired version] -b [desired local branch name] e.g. git checkout tags/v2.0.0 -b release/v2.0.0
Checkout Latest Tagged Version
Determine the latest tagged version and store it to a local variable.
tag=$(git describe --tags `git rev-list --tags --max-count=1`)
Checkout the latest version using the just stored variable to a local branch "latest".
git checkout $tag -b latest
Build
Navigate to the root of the cloned repository that you checked out.
./sbt-batch clean-all compile
Build and Publish to a Binary Repository
The credentials to deploy to a binary repository have to be available from a credentials file, see https://www.scala-sbt.org/1.x/docs/Publishing.html#Credentials.
Set repository credentials and repository URI for the build to an environment variable with the name SBT_OPTS
.
export SBT_OPTS="-DpublishRepository.credentialsFile=/path/to/credentials/file -DpublishRepository.uri=uri/of/the/binary/repository";
Build the project.
./sbt-batch clean-all compile universal:publish