Third party libraries are managed by SBT.
Defining Dependencies in
build.sbt file, the
Dependencies package is referenced, which is located in
All third party dependencies need to be declared there.
Referencing a third party library
There is an object
Dependencies where each library should be declared in a
val akkaHttpCors = "ch.megard" %% "akka-http-cors" % "1.0.0"
The first string corresponds to the group/organization in the library's maven artefact, the second string corresponds to the artefact ID and the third string defines the version.
The strings are combined with
%% operators, the latter fixing the dependency to the specified scala-version.
It is also possible to use variables in these definitions, e.g. if multiple dependencies share a version number:
val ZioVersion = "2.0.0-RC2" val zio = "dev.zio" %% "zio" % ZioVersion val zioTest = "dev.zio" %% "zio-test" % ZioVersion
Assigning the dependencies to a specific subproject
For each SBT project, there is one
Seq in the
In order to make use of the declared dependencies, they must be referred to in the
Seq of the respective subproject.
val webapiLibraryDependencies = Seq( akkaActor, akkaHttp, akkaSlf4j % Runtime, akkaHttpTestkit % Test, ... )
By default, the dependencies will be scoped to compile time. But it's possible to override this to
Docker Image Versions
The required Docker image versions of
Fuseki are also defined in the