From a52802b7671e234865be143397c42f1815c0c34b Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Mon, 11 Mar 2019 16:00:45 +0100 Subject: [PATCH 1/3] Setup sbt --- .gitignore | 2 ++ build.sbt | 24 ++++++++++++++++++++++++ project/build.properties | 1 + 3 files changed, 27 insertions(+) create mode 100644 build.sbt create mode 100644 project/build.properties diff --git a/.gitignore b/.gitignore index f660530..8921e9f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ build/ .gradle/ out/ + +target/ diff --git a/build.sbt b/build.sbt new file mode 100644 index 0000000..6b3f028 --- /dev/null +++ b/build.sbt @@ -0,0 +1,24 @@ + +inThisBuild(List( + organization := "org.jupyter", + homepage := Some(url("https://github.com/jupyter/jvm-repr")), + licenses := List("BSD-3-Clause" -> url("https://opensource.org/licenses/BSD-3-Clause")), + developers := List( + Developer( + "jvm-repr", + "jvm-repr contributors", + "", + url("https://github.com/jupyter/jvm-repr/graphs/contributors") + ) + ) +)) + +name := "jvm-repr" + +// pure java project +autoScalaLibrary := false +crossVersion := CrossVersion.disabled + +// test stuff +libraryDependencies += "com.novocode" % "junit-interface" % "0.11" % "test" +fork.in(Test) := true // seems required for the tests to run fine diff --git a/project/build.properties b/project/build.properties new file mode 100644 index 0000000..c0bab04 --- /dev/null +++ b/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.2.8 From f57c38f0bd3fe5c3d1dac3fc695331131f5f53a2 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Mon, 11 Mar 2019 16:01:39 +0100 Subject: [PATCH 2/3] Use sbt on Travis CI --- .travis.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index dff5f3a..4a8aa87 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1 +1,8 @@ -language: java +language: scala +jdk: openjdk8 +cache: + directories: + - $HOME/.cache + - $HOME/.ivy2/cache + - $HOME/.sbt +script: sbt test From bd48eec22e63bc717cbef5d120a1ede08e15f659 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Mon, 11 Mar 2019 16:01:53 +0100 Subject: [PATCH 3/3] Handle releases on Travis CI via sbt-ci-release --- .travis.yml | 12 +++++++++++- build.sbt | 12 ++++++++++++ project/plugins.sbt | 1 + 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 project/plugins.sbt diff --git a/.travis.yml b/.travis.yml index 4a8aa87..d2f9b55 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,18 @@ language: scala jdk: openjdk8 +git: + depth: false cache: directories: - $HOME/.cache - $HOME/.ivy2/cache - $HOME/.sbt -script: sbt test +stages: + - name: test + - name: release + if: (branch = master AND type = push) OR (tag IS present) +jobs: + include: + - script: sbt test + - stage: release + script: sbt ci-release diff --git a/build.sbt b/build.sbt index 6b3f028..1944176 100644 --- a/build.sbt +++ b/build.sbt @@ -22,3 +22,15 @@ crossVersion := CrossVersion.disabled // test stuff libraryDependencies += "com.novocode" % "junit-interface" % "0.11" % "test" fork.in(Test) := true // seems required for the tests to run fine + +// sbt-dynver doesn't generate correct versions, because tags don't have a +// 'v' prefix, so we're overriding its logic here +version := { + import sys.process._ + val describe = Seq("git", "describe", "--tags").!!.trim + val latestTag = Seq("git", "describe", "--tags", "--abbrev=0").!!.trim + if (describe == latestTag) + describe + else + describe + "-SNAPSHOT" +} diff --git a/project/plugins.sbt b/project/plugins.sbt new file mode 100644 index 0000000..d4f2c52 --- /dev/null +++ b/project/plugins.sbt @@ -0,0 +1 @@ +addSbtPlugin("com.geirsson" % "sbt-ci-release" % "1.2.2")