Skip to end of metadata
Go to start of metadata

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

Retrieve list of available tagged versions
git fetch --all --tags
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.

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

Checkout Latest
git checkout $tag -b latest

Build

Navigate to the root of the cloned repository that you checked out.

Simple Compile

The project will be locally build. Resulting binaries will not be published to any repository.

./sbt-batch clean-all compile

Build With Tests

To build the project with all tests running use compile-all instead.

./sbt-batch clean-all compile-all

Build and Publish to a local M2 Repository

This is the recommended way to build JS7 as the resulting binaries are automatically published to a local /.m2 repository and are available for further builds (e.g. sos-components).

./sbt-batch clean-all compile publishM2

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



  • No labels
Write a comment…