Skip to main content

Setup

caution
You are reading documentation for an outdated version. Here’s the latest one!

The Tracker is published to Maven Central and JCenter, which should make it easy to add it as a dependency into your own Scala app.

SBT​

Add the Scala Tracker to your build.sbt like this:


libraryDependencies += "com.snowplowanalytics" %% "snowplow-scala-tracker-core" % "1.0.1"

// If you plan to use the http4s emitter with a blaze client
libraryDependencies += "com.snowplowanalytics" %% "snowplow-scala-tracker-emitter-https" % "1.0.1"
libraryDependencies += "org.http4s" %% "http4s-blaze-client" % "0.21.5"

// If you plan to use the id emitters:
libraryDependencies += "com.snowplowanalytics" %% "snowplow-scala-tracker-emitter-id" % "1.0.1"

Gradle​

If you are using Gradle in your own Scala application, then add our Maven repository in your build.gradle file:

repositories {
...
jcenter()
}

Then add into the same file:

dependencies {
...
// Snowplow Scala Tracker
compile 'com.snowplowanalytics:snowplow-scala-tracker-core_2.13:1.0.1'

// If you plan to use the http4s emitters with a blaze client
compile 'com.snowplowanalytics:snowplow-scala-tracker-emitter-http4s_2.13:1.0.1'
compile 'org.http4s:http4s-blaze.client_2.13:0.21.5'

// If you plan to use the id emitters
compile 'com.snowplowanalytics:snowplow-scala-tracker-emitter-id_2.13:1.0.1'
}

Notice a _2.13 postfix in artifactId. This is used for Scala libraries and denote Scala version which artifact (in our case snowplow-scala-tracker) is compiled against. It also means that this library will bring a org.scala-lang:scala-library_2.13.x as transitive dependency and if you're using any other Scala dependency you should keep these postfixes in accordance (snowplow-scala-tracker is also compiled against Scala 2.12).

Maven​

If you are using Maven for building your Scala application, then add into your project's pom.xml:

<dependency>
<groupId>com.snowplowanalytics</groupId>
<artifactId>snowplow-scala-tracker-core_2.13</artifactId>
<version>1.0.1</version>
</dependency>

<!-- If you plan to use the http4s emitter with a blaze client: -->
<dependency>
<groupId>com.snowplowanalytics</groupId>
<artifactId>snowplow-scala-tracker-emitter-http4s_2.13</artifactId>
<version>1.0.1</version>
</dependency>
<dependency>
<groupId>org.http4s</groupId>
<artifactId>http4s-blaze-client</artifactId>
<version>0.21.5</version>
</dependency>

<!-- If you plan to use the id emitters: -->
<dependency>
<groupId>com.snowplowanalytics</groupId>
<artifactId>snowplow-scala-tracker-emitter-id_2.13</artifactId>
<version>1.0.1</version>
</dependency>

Notice a _2.13 postfix in artifactId. This is used for Scala libraries and denote Scala version which artifact (in our case snowplow-scala-tracker) is compiled against. It also means that this library will bring a org.scala-lang:scala-library_2.13.x as transitive dependency and if you're using any other Scala dependency you should keep these postfixes in accordance (snowplow-scala-tracker is also compiled against Scala 2.12).