Introduction
The js7 JS7 repository holds the source code to build the JS7 Controllers Controller and JS7 AgentsAgent.
Prerequisites
The js7 project is a scala project and has 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 the github page.GitHub:
Code Block |
---|
|
git clone https://github.com/sos-berlin/js7 |
Checkout
Checkout Tagged Version
Code Block |
---|
language | bash |
---|
title | Retrieve list of available tagged versions |
---|
|
git fetch --all --tags |
Code Block |
---|
language | bash |
---|
title | Checkout a desired version to a local branch |
---|
|
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.
Code Block |
---|
language | bash |
---|
title | Retrieve Latest Tagged Version |
---|
|
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".
Code Block |
---|
language | bash |
---|
title | Checkout Latest |
---|
|
git checkout $tag -b latest |
Build
Navigate to the root of the cloned repository that you checked out project.
Code Block |
---|
|
./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 named with the name SBT_OPTS
.
Code Block |
---|
|
export SBT_OPTS="-DpublishRepository.credentialsFile=/path/to/credentials/file -DpublishRepository.uri=uri/of/the/binary/repository"; |
...