Skip to content
Luc Bourlier edited this page Mar 28, 2014 · 1 revision

sbt-integration has only one direct dependency: com.typesafe.sbtrc.client, from sbt/sbt-remote-control. This lead to a few transitive dependencies.

Because sbtrc is still much a work in progress (so without real release), and some of the transitive dependencies are coming from ivy repositories, a custom m2 repository was created to provided all the jars which are not directly accessible.

The other jars, like the ones needed for play-json, which are released in m2 repositories, are just accessed from these repositiories.

The Jenkins job

This custom m2 repository is populated using a parameterized Jenkins job.

The job take 2 parameters:

  • GIT_REPO: the location of the git repository containing the version of sbt-rc to build and publish. The default is the upstream git repository.
  • GIT_HASH: the git hash of the commit to build and publish.

The job performs 3 operations:

  • Builds and publishes to a local m2 repository the given git hash of sbt-rc.
  • Fetches the sbt jars which are needed from the ivy repository, and add them to the local m2 repository. The sbt jars currently needed:
    • org.scala-sbt/sbt-launch
    • org.scala-sbt/launcher-interface
    • org.scala-sbt/interface
    • org.scala-sbt/collections
    • org.scala-sbt/control
    • org.scala-sbt/io
  • Packs the local m2 repository and deploys it on the download server at http://download.scala-ide.org/sbt-integration/m2repo.

local publishing of sbt-remote-control

Clone this wiki locally