diff --git a/.coveragerc b/.coveragerc
new file mode 100644
index 0000000..e52be19
--- /dev/null
+++ b/.coveragerc
@@ -0,0 +1,2 @@
+[html]
+directory = out/commons/scoverage/htmlReport
diff --git a/.gitignore b/.gitignore
index ee44a96..9fb18b4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
.idea
-target
+out
diff --git a/.travis.yml b/.travis.yml
index 4fdf7b0..468b98c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,24 +1,24 @@
sudo: required
language: scala
scala:
-- 2.12.2
+ - 2.12.2
jdk:
-- oraclejdk8
+ - oraclejdk8
script:
-- sbt +clean coverage +test && sbt coverageReport coverageAggregate
-- find $HOME/.sbt -name "*.lock" | xargs rm
-- find $HOME/.ivy2 -name "ivydata-*.properties" | xargs rm
+ - curl -L -o ~/bin/mill https://github.com/lihaoyi/mill/releases/download/0.4.0/0.4.0-9-1db2ee && chmod +x ~/bin/mill
+ - export PATH=~/bin/mill:$PATH
+ - mill __.clean && mill __.test && mill __.scoverage.xmlReport
cache:
directories:
- - "$HOME/.ivy2/cache"
- - "$HOME/.sbt/boot/"
+ - "$HOME/.ivy2/cache"
+ - "$HOME/.coursier"
+
before_install:
-- pip install --user codecov
-- sudo chmod +x /usr/local/bin/sbt
+ - pip install --user codecov
after_success:
- codecov
- test "$TRAVIS_REPO_SLUG" == 'fulcrumgenomics/commons' && test "$TRAVIS_PULL_REQUEST"
- == 'false' && test "$TRAVIS_BRANCH" == 'master' && sbt +publish
+ == 'false' && test "$TRAVIS_BRANCH" == 'master' && mill mill.scalalib.PublishModule/publishAll "${SONATYPE_USERNAME}:${SONATYPE_PASSWORD}" __.publishArtifacts --release true
env:
global:
- secure: erKEtyVxyTgRQIrzva785xST9EhsYY+40SKhaHumIvXgfHtL6SppXCd213LXdwrKms23v/BZ43I5gOfEuX405FV1a8B7e+IGj1sG118MtlcVEyqSfuwGWtmsjhyWkvfHdyXzC8Aej5FpT9il74IdYJYVWW18UOh/q7cBI3duV5p9iooJG6IZ8zc1042+uKq4sfM9EnZEyCiffpVmqknRWZ47vlDEOiURYqccvJ0VN2P2mWSHTRMlXPGHuhy5KVMC/DIsZFbX2MaKMIT73hGMA8l6RS98ZSk7DkgrNr3hKy7P4YU9VyLRiz7S4MhCmS2L/NUEGI6V5Gouxpol+IX93IcpLp0ZgzYMfpnWfZyjTIx627cKKAsSOqoGteRFRArKwbag15u9lHltAu911PVa2bICZy0snr/CQx18++3hIPrKXLk5MnU4jQGOtZ1FbScPgEJBP2M6bUKHKPx2EJfQ5KtJgQtpv26LwLhrlJ+lRRQrirL0N3PAcciRtjGubAlB4ai9Qx6dVdJ84tlWMcgvZA2HExnK8uU6MK1biWBZevMrJ8qeb55CCaK5R7fZZJvAYKH9LIxt2YO2C8tVDEmPxjiZBp6jr9Ib+oiHU27PhUxzG1xK264tzp1LoBIewcUunbicDzqBPsQ60ByCaBhgin76E6+H+uxUY3tEnuIWX7c=
diff --git a/README.md b/README.md
index 6740c6c..32df2a9 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,6 @@
[![Code Review](https://api.codacy.com/project/badge/grade/52e1d786d9784c7192fae2f8e853fa34)](https://www.codacy.com/app/contact_32/commons)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.fulcrumgenomics/commons_2.11/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.fulcrumgenomics/commons_2.11)
[![Javadocs](http://javadoc.io/badge/com.fulcrumgenomics/commons_2.12.svg)](http://javadoc.io/doc/com.fulcrumgenomics/commons_2.12)
-[![Dependency Status](https://www.versioneye.com/user/projects/56b2d2d593b95a003c714340/badge.svg)](https://www.versioneye.com/user/projects/56b2d2d593b95a003c714340#dialog_dependency_badge)
[![License](http://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/fulcrumgenomics/commons/blob/master/LICENSE)
[![Language](http://img.shields.io/badge/language-scala-brightgreen.svg)](http://www.scala-lang.org/)
diff --git a/build.sbt b/build.sbt
deleted file mode 100644
index d3ea545..0000000
--- a/build.sbt
+++ /dev/null
@@ -1,121 +0,0 @@
-import com.typesafe.sbt.SbtGit.GitCommand
-import sbt._
-import sbtassembly.AssemblyKeys.assembly
-import sbtrelease.ReleasePlugin.autoImport.ReleaseTransformations._
-import scoverage.ScoverageKeys._
-
-////////////////////////////////////////////////////////////////////////////////////////////////
-// We have the following "settings" in this build.sbt:
-// - versioning with sbt-release
-// - custom JAR name for the root project
-// - settings to publish to Sonatype
-// - exclude the root, tasks, and pipelines project from code coverage
-// - scaladoc settings
-// - custom merge strategy for assembly
-////////////////////////////////////////////////////////////////////////////////////////////////
-
-////////////////////////////////////////////////////////////////////////////////////////////////
-// Use sbt-release to bump the version numbers.
-//
-// see: http://blog.byjean.eu/2015/07/10/painless-release-with-sbt.html
-////////////////////////////////////////////////////////////////////////////////////////////////
-
-// Release settings
-releaseVersionBump := sbtrelease.Version.Bump.Next
-releasePublishArtifactsAction := PgpKeys.publishSigned.value
-releaseProcess := Seq[ReleaseStep](
- checkSnapshotDependencies,
- inquireVersions,
- runClean,
- runTest,
- setReleaseVersion,
- commitReleaseVersion,
- tagRelease,
- releaseStepCommand("publishSigned"),
- setNextVersion,
- commitNextVersion,
- releaseStepCommand("sonatypeReleaseAll"),
- pushChanges
-)
-
-////////////////////////////////////////////////////////////////////////////////////////////////
-// For the aggregate (root) jar, override the name. For the sub-projects,
-// see the build.sbt in each project folder.
-////////////////////////////////////////////////////////////////////////////////////////////////
-assemblyJarName in assembly := "commons-" + version.value + ".jar"
-
-////////////////////////////////////////////////////////////////////////////////////////////////
-// Sonatype settings
-////////////////////////////////////////////////////////////////////////////////////////////////
-publishMavenStyle := true
-publishTo := {
- val nexus = "https://oss.sonatype.org/"
- if (isSnapshot.value)
- Some("snapshots" at nexus + "content/repositories/snapshots")
- else
- Some("releases" at nexus + "service/local/staging/deploy/maven2")
-}
-publishArtifact in Test := false
-pomIncludeRepository := { _ => false }
-// For Travis CI - see http://www.cakesolutions.net/teamblogs/publishing-artefacts-to-oss-sonatype-nexus-using-sbt-and-travis-ci
-credentials ++= (for {
- username <- Option(System.getenv().get("SONATYPE_USER"))
- password <- Option(System.getenv().get("SONATYPE_PASS"))
-} yield Credentials("Sonatype Nexus Repository Manager", "oss.sonatype.org", username, password)).toSeq
-
-////////////////////////////////////////////////////////////////////////////////////////////////
-// Coverage settings: include all sources
-////////////////////////////////////////////////////////////////////////////////////////////////
-val htmlReportsDirectory: String = "target/test-reports"
-
-////////////////////////////////////////////////////////////////////////////////////////////////
-// scaladoc options
-////////////////////////////////////////////////////////////////////////////////////////////////
-val docScalacOptions = Seq("-groups", "-implicits")
-
-////////////////////////////////////////////////////////////////////////////////////////////////
-// Common settings for all projects
-////////////////////////////////////////////////////////////////////////////////////////////////
-
-lazy val commonSettings = Seq(
- organization := "com.fulcrumgenomics",
- organizationName := "Fulcrum Genomics LLC",
- organizationHomepage := Some(url("http://www.fulcrumgenomics.com")),
- homepage := Some(url("http://github.com/fulcrumgenomics/commons")),
- startYear := Some(2015),
- scalaVersion := "2.12.8",
- crossScalaVersions := Seq("2.11.12", "2.12.8"),
- scalacOptions ++= Seq("-target:jvm-1.8", "-deprecation", "-unchecked"),
- scalacOptions in (Compile, doc) ++= docScalacOptions,
- scalacOptions in (Test, doc) ++= docScalacOptions,
- autoAPIMappings := true,
- testOptions in Test += Tests.Argument(TestFrameworks.ScalaTest, "-h", Option(System.getenv("TEST_HTML_REPORTS")).getOrElse(htmlReportsDirectory)),
- testOptions in Test += Tests.Argument("-l", "LongRunningTest"), // ignores long running tests
- // uncomment for full stack traces
- //testOptions in Test += Tests.Argument("-oD"),
- fork in Test := true,
- resolvers += Resolver.jcenterRepo,
- shellPrompt := { state => "%s| %s> ".format(GitCommand.prompt.apply(state), version.value) },
- updateOptions := updateOptions.value.withCachedResolution(true)
-) ++ Defaults.coreDefaultSettings
-
-////////////////////////////////////////////////////////////////////////////////////////////////
-// commons project
-////////////////////////////////////////////////////////////////////////////////////////////////
-lazy val assemblySettings = Seq(
- test in assembly := {},
- logLevel in assembly := Level.Info
-)
-
-lazy val root = Project(id="commons", base=file("."))
- .settings(commonSettings: _*)
- .settings(assemblySettings: _*)
- .settings(description := "Scala commons for Fulcrum Genomics.")
- .settings(
- libraryDependencies ++= Seq(
- "com.typesafe" % "config" % "1.3.2",
- "org.scala-lang" % "scala-reflect" % scalaVersion.value,
- //---------- Test libraries -------------------//
- "org.scalatest" %% "scalatest" % "3.0.1" % "test->*" excludeAll ExclusionRule(organization="org.junit", name="junit")
- )
- )
diff --git a/build.sc b/build.sc
new file mode 100644
index 0000000..3fe8d17
--- /dev/null
+++ b/build.sc
@@ -0,0 +1,56 @@
+// IMPORTANT: the version of the contrib modules must be 0.4.0-9-1db2ee or later.
+// IMPORTANT: if you change this version to a release, please update the .travis.yml
+// FIXME: change to a release version after 0.4.0-9-1db2ee
+import $ivy.`com.lihaoyi::mill-contrib-buildinfo:0.4.0-9-1db2ee`
+import mill.contrib.scoverage.ScoverageModule
+
+import mill.scalalib.{PublishModule, Dep, DepSyntax, ScalaModule}
+import mill.scalalib.publish.{PomSettings, License, Developer, SCM}
+import ammonite.ops._
+
+import scala.sys.process.Process
+
+object commons extends ScalaModule with ScoverageModule with PublishModule {
+ def artifactName = "commons"
+ def gitHash = os.proc("git", "rev-parse", "--short", "HEAD").call().out.trim
+ def publishVersion = s"0.8.0-${gitHash}-SNAPSHOT"
+ def scalaVersion = "2.12.8"
+ def scoverageVersion = "1.3.1"
+ def scalacOptions = Seq("-target:jvm-1.8", "-deprecation", "-unchecked")
+
+ // TODO: start year (2015)
+ // TODO: organization homepage ("http://www.fulcrumgenomics.com")
+ def pomSettings = PomSettings(
+ description = artifactName(),
+ organization = "com.fulcrumgenomics",
+ url = "https://github.com/fulcrumgenomics/commons",
+ licenses = Seq(License("MIT license", "http://www.opensource.org/licenses/mit-license.php")),
+ scm = SCM(
+ "git://github.com/fulcrumgenomics/commons.git",
+ "scm:git://github.com/fulcrumgenomics/commons.git"
+ ),
+ developers = Seq(
+ Developer("nh13", "Nils Homer", "https://github.com/nh13"),
+ Developer("tfenne", "Tim Fennell", "https://github.com/tfenne")
+ )
+ )
+
+ def ivyDeps = Agg(
+ ivy"org.scala-lang:scala-compiler:${scalaVersion()}",
+ ivy"com.typesafe:config:1.3.2"
+ )
+
+ // TODO: ignore long running tests with "-l LongRunningTest"
+ object test extends ScoverageTests {
+ def ivyDeps = Agg(ivy"org.scalatest::scalatest:3.0.5")
+ def testFrameworks = Seq("org.scalatest.tools.Framework")
+ }
+
+ private def deployJar(assembly: PathRef, jarName:String) = {
+ mkdir(pwd / 'jars)
+ println(s"Copying artifact ${assembly.path} to jars / $jarName")
+ cp.over(assembly.path, pwd / 'jars / jarName)
+ }
+
+ def assemblyJar = T { deployJar(assembly(), s"commons-${publishVersion()}.jar") }
+}
diff --git a/src/main/scala/com/fulcrumgenomics/commons/CommonsDef.scala b/commons/src/com/fulcrumgenomics/commons/CommonsDef.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/CommonsDef.scala
rename to commons/src/com/fulcrumgenomics/commons/CommonsDef.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/async/AsyncIterator.scala b/commons/src/com/fulcrumgenomics/commons/async/AsyncIterator.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/async/AsyncIterator.scala
rename to commons/src/com/fulcrumgenomics/commons/async/AsyncIterator.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/async/AsyncRunnable.scala b/commons/src/com/fulcrumgenomics/commons/async/AsyncRunnable.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/async/AsyncRunnable.scala
rename to commons/src/com/fulcrumgenomics/commons/async/AsyncRunnable.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/async/AsyncSink.scala b/commons/src/com/fulcrumgenomics/commons/async/AsyncSink.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/async/AsyncSink.scala
rename to commons/src/com/fulcrumgenomics/commons/async/AsyncSink.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/async/AsyncWriter.scala b/commons/src/com/fulcrumgenomics/commons/async/AsyncWriter.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/async/AsyncWriter.scala
rename to commons/src/com/fulcrumgenomics/commons/async/AsyncWriter.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/async/AsyncWriterPool.scala b/commons/src/com/fulcrumgenomics/commons/async/AsyncWriterPool.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/async/AsyncWriterPool.scala
rename to commons/src/com/fulcrumgenomics/commons/async/AsyncWriterPool.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/collection/BetterBufferedIterator.scala b/commons/src/com/fulcrumgenomics/commons/collection/BetterBufferedIterator.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/collection/BetterBufferedIterator.scala
rename to commons/src/com/fulcrumgenomics/commons/collection/BetterBufferedIterator.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/collection/BiMap.scala b/commons/src/com/fulcrumgenomics/commons/collection/BiMap.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/collection/BiMap.scala
rename to commons/src/com/fulcrumgenomics/commons/collection/BiMap.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/collection/SelfClosingIterator.scala b/commons/src/com/fulcrumgenomics/commons/collection/SelfClosingIterator.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/collection/SelfClosingIterator.scala
rename to commons/src/com/fulcrumgenomics/commons/collection/SelfClosingIterator.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/io/AsyncStreamSink.scala b/commons/src/com/fulcrumgenomics/commons/io/AsyncStreamSink.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/io/AsyncStreamSink.scala
rename to commons/src/com/fulcrumgenomics/commons/io/AsyncStreamSink.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/io/Io.scala b/commons/src/com/fulcrumgenomics/commons/io/Io.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/io/Io.scala
rename to commons/src/com/fulcrumgenomics/commons/io/Io.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/io/PathUtil.scala b/commons/src/com/fulcrumgenomics/commons/io/PathUtil.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/io/PathUtil.scala
rename to commons/src/com/fulcrumgenomics/commons/io/PathUtil.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/io/Writer.scala b/commons/src/com/fulcrumgenomics/commons/io/Writer.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/io/Writer.scala
rename to commons/src/com/fulcrumgenomics/commons/io/Writer.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/reflect/ReflectionUtil.scala b/commons/src/com/fulcrumgenomics/commons/reflect/ReflectionUtil.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/reflect/ReflectionUtil.scala
rename to commons/src/com/fulcrumgenomics/commons/reflect/ReflectionUtil.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/reflect/ReflectiveBuilder.scala b/commons/src/com/fulcrumgenomics/commons/reflect/ReflectiveBuilder.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/reflect/ReflectiveBuilder.scala
rename to commons/src/com/fulcrumgenomics/commons/reflect/ReflectiveBuilder.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/util/CaptureSystemStreams.scala b/commons/src/com/fulcrumgenomics/commons/util/CaptureSystemStreams.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/util/CaptureSystemStreams.scala
rename to commons/src/com/fulcrumgenomics/commons/util/CaptureSystemStreams.scala
diff --git a/src/main/java/com/fulcrumgenomics/commons/util/ClassFinder.java b/commons/src/com/fulcrumgenomics/commons/util/ClassFinder.java
similarity index 100%
rename from src/main/java/com/fulcrumgenomics/commons/util/ClassFinder.java
rename to commons/src/com/fulcrumgenomics/commons/util/ClassFinder.java
diff --git a/src/main/scala/com/fulcrumgenomics/commons/util/ConfigurationLike.scala b/commons/src/com/fulcrumgenomics/commons/util/ConfigurationLike.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/util/ConfigurationLike.scala
rename to commons/src/com/fulcrumgenomics/commons/util/ConfigurationLike.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/util/DelimitedDataParser.scala b/commons/src/com/fulcrumgenomics/commons/util/DelimitedDataParser.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/util/DelimitedDataParser.scala
rename to commons/src/com/fulcrumgenomics/commons/util/DelimitedDataParser.scala
diff --git a/src/main/java/com/fulcrumgenomics/commons/util/LogLevel.java b/commons/src/com/fulcrumgenomics/commons/util/LogLevel.java
similarity index 100%
rename from src/main/java/com/fulcrumgenomics/commons/util/LogLevel.java
rename to commons/src/com/fulcrumgenomics/commons/util/LogLevel.java
diff --git a/src/main/scala/com/fulcrumgenomics/commons/util/Logger.scala b/commons/src/com/fulcrumgenomics/commons/util/Logger.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/util/Logger.scala
rename to commons/src/com/fulcrumgenomics/commons/util/Logger.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/util/NumericCounter.scala b/commons/src/com/fulcrumgenomics/commons/util/NumericCounter.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/util/NumericCounter.scala
rename to commons/src/com/fulcrumgenomics/commons/util/NumericCounter.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/util/SimpleCounter.scala b/commons/src/com/fulcrumgenomics/commons/util/SimpleCounter.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/util/SimpleCounter.scala
rename to commons/src/com/fulcrumgenomics/commons/util/SimpleCounter.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/util/StringUtil.scala b/commons/src/com/fulcrumgenomics/commons/util/StringUtil.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/util/StringUtil.scala
rename to commons/src/com/fulcrumgenomics/commons/util/StringUtil.scala
diff --git a/src/main/scala/com/fulcrumgenomics/commons/util/TimeUtil.scala b/commons/src/com/fulcrumgenomics/commons/util/TimeUtil.scala
similarity index 100%
rename from src/main/scala/com/fulcrumgenomics/commons/util/TimeUtil.scala
rename to commons/src/com/fulcrumgenomics/commons/util/TimeUtil.scala
diff --git a/src/test/resources/com/fulcrumgenomics/commons/io/async-stream-sink-test.txt b/commons/test/resources/com/fulcrumgenomics/commons/io/async-stream-sink-test.txt
similarity index 100%
rename from src/test/resources/com/fulcrumgenomics/commons/io/async-stream-sink-test.txt
rename to commons/test/resources/com/fulcrumgenomics/commons/io/async-stream-sink-test.txt
diff --git a/src/test/resources/com/fulcrumgenomics/commons/io/to-bytes-from-resource-test.bin b/commons/test/resources/com/fulcrumgenomics/commons/io/to-bytes-from-resource-test.bin
similarity index 100%
rename from src/test/resources/com/fulcrumgenomics/commons/io/to-bytes-from-resource-test.bin
rename to commons/test/resources/com/fulcrumgenomics/commons/io/to-bytes-from-resource-test.bin
diff --git a/src/test/resources/com/fulcrumgenomics/commons/io/to-lines-from-resource-test.txt b/commons/test/resources/com/fulcrumgenomics/commons/io/to-lines-from-resource-test.txt
similarity index 100%
rename from src/test/resources/com/fulcrumgenomics/commons/io/to-lines-from-resource-test.txt
rename to commons/test/resources/com/fulcrumgenomics/commons/io/to-lines-from-resource-test.txt
diff --git a/src/test/scala/com/fulcrumgenomics/commons/CommonsDefTest.scala b/commons/test/src/com/fulcrumgenomics/commons/CommonsDefTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/CommonsDefTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/CommonsDefTest.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/async/AsyncIteratorTest.scala b/commons/test/src/com/fulcrumgenomics/commons/async/AsyncIteratorTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/async/AsyncIteratorTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/async/AsyncIteratorTest.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/async/AsyncRunnableTest.scala b/commons/test/src/com/fulcrumgenomics/commons/async/AsyncRunnableTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/async/AsyncRunnableTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/async/AsyncRunnableTest.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/async/AsyncSinkTest.scala b/commons/test/src/com/fulcrumgenomics/commons/async/AsyncSinkTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/async/AsyncSinkTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/async/AsyncSinkTest.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/async/AsyncWriterPoolTest.scala b/commons/test/src/com/fulcrumgenomics/commons/async/AsyncWriterPoolTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/async/AsyncWriterPoolTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/async/AsyncWriterPoolTest.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/async/AsyncWriterTest.scala b/commons/test/src/com/fulcrumgenomics/commons/async/AsyncWriterTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/async/AsyncWriterTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/async/AsyncWriterTest.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/async/StringWriter.scala b/commons/test/src/com/fulcrumgenomics/commons/async/StringWriter.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/async/StringWriter.scala
rename to commons/test/src/com/fulcrumgenomics/commons/async/StringWriter.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/collection/BetterBufferedIteratorTest.scala b/commons/test/src/com/fulcrumgenomics/commons/collection/BetterBufferedIteratorTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/collection/BetterBufferedIteratorTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/collection/BetterBufferedIteratorTest.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/collection/BiMapTest.scala b/commons/test/src/com/fulcrumgenomics/commons/collection/BiMapTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/collection/BiMapTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/collection/BiMapTest.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/collection/SelfClosingIteratorTest.scala b/commons/test/src/com/fulcrumgenomics/commons/collection/SelfClosingIteratorTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/collection/SelfClosingIteratorTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/collection/SelfClosingIteratorTest.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/io/AsyncStreamSinkTest.scala b/commons/test/src/com/fulcrumgenomics/commons/io/AsyncStreamSinkTest.scala
similarity index 94%
rename from src/test/scala/com/fulcrumgenomics/commons/io/AsyncStreamSinkTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/io/AsyncStreamSinkTest.scala
index d79f366..af1d4d7 100644
--- a/src/test/scala/com/fulcrumgenomics/commons/io/AsyncStreamSinkTest.scala
+++ b/commons/test/src/com/fulcrumgenomics/commons/io/AsyncStreamSinkTest.scala
@@ -35,7 +35,7 @@ import scala.collection.mutable
*/
class AsyncStreamSinkTest extends UnitSpec {
"AsyncStreamSink" should "capture all the output" in {
- val file = Paths.get("src/test/resources/com/fulcrumgenomics/commons/io/async-stream-sink-test.txt")
+ val file = Paths.get("commons/test/resources/com/fulcrumgenomics/commons/io/async-stream-sink-test.txt")
val expected = Io.toSource(file).getLines().toList
val proc = new ProcessBuilder("cat", file.toString).start()
diff --git a/src/test/scala/com/fulcrumgenomics/commons/io/IoTest.scala b/commons/test/src/com/fulcrumgenomics/commons/io/IoTest.scala
similarity index 98%
rename from src/test/scala/com/fulcrumgenomics/commons/io/IoTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/io/IoTest.scala
index 8ad7c6d..dbc6776 100644
--- a/src/test/scala/com/fulcrumgenomics/commons/io/IoTest.scala
+++ b/commons/test/src/com/fulcrumgenomics/commons/io/IoTest.scala
@@ -166,7 +166,7 @@ class IoTest extends UnitSpec {
}
// The expected lines from the file loaded as a resource
- private val ResourceLines = Io.readLines(Paths.get("src/test/resources/com/fulcrumgenomics/commons/io/to-lines-from-resource-test.txt")).toList
+ private val ResourceLines = Io.readLines(Paths.get("commons/test/resources/com/fulcrumgenomics/commons/io/to-lines-from-resource-test.txt")).toList
"Io.readLinesFromResource" should "read lines from a resource" in {
val actual = Io.readLinesFromResource("/com/fulcrumgenomics/commons/io/to-lines-from-resource-test.txt").toList
diff --git a/src/test/scala/com/fulcrumgenomics/commons/io/PathUtilTest.scala b/commons/test/src/com/fulcrumgenomics/commons/io/PathUtilTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/io/PathUtilTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/io/PathUtilTest.scala
diff --git a/src/test/java/com/fulcrumgenomics/commons/reflect/BadEnum.java b/commons/test/src/com/fulcrumgenomics/commons/reflect/BadEnum.java
similarity index 100%
rename from src/test/java/com/fulcrumgenomics/commons/reflect/BadEnum.java
rename to commons/test/src/com/fulcrumgenomics/commons/reflect/BadEnum.java
diff --git a/src/test/java/com/fulcrumgenomics/commons/reflect/GoodEnum.java b/commons/test/src/com/fulcrumgenomics/commons/reflect/GoodEnum.java
similarity index 100%
rename from src/test/java/com/fulcrumgenomics/commons/reflect/GoodEnum.java
rename to commons/test/src/com/fulcrumgenomics/commons/reflect/GoodEnum.java
diff --git a/src/test/scala/com/fulcrumgenomics/commons/reflect/ReflectionUtilTest.scala b/commons/test/src/com/fulcrumgenomics/commons/reflect/ReflectionUtilTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/reflect/ReflectionUtilTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/reflect/ReflectionUtilTest.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/reflect/ReflectiveBuilderTest.scala b/commons/test/src/com/fulcrumgenomics/commons/reflect/ReflectiveBuilderTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/reflect/ReflectiveBuilderTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/reflect/ReflectiveBuilderTest.scala
diff --git a/src/test/java/com/fulcrumgenomics/commons/reflect/TestJavaAnnotation.java b/commons/test/src/com/fulcrumgenomics/commons/reflect/TestJavaAnnotation.java
similarity index 100%
rename from src/test/java/com/fulcrumgenomics/commons/reflect/TestJavaAnnotation.java
rename to commons/test/src/com/fulcrumgenomics/commons/reflect/TestJavaAnnotation.java
diff --git a/src/test/scala/com/fulcrumgenomics/commons/util/CaptureSystemStreamsTest.scala b/commons/test/src/com/fulcrumgenomics/commons/util/CaptureSystemStreamsTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/util/CaptureSystemStreamsTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/util/CaptureSystemStreamsTest.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/util/ConfigurationLikeTest.scala b/commons/test/src/com/fulcrumgenomics/commons/util/ConfigurationLikeTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/util/ConfigurationLikeTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/util/ConfigurationLikeTest.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/util/DelimitedDataParserTest.scala b/commons/test/src/com/fulcrumgenomics/commons/util/DelimitedDataParserTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/util/DelimitedDataParserTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/util/DelimitedDataParserTest.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/util/LoggerTest.scala b/commons/test/src/com/fulcrumgenomics/commons/util/LoggerTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/util/LoggerTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/util/LoggerTest.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/util/NumericCounterTest.scala b/commons/test/src/com/fulcrumgenomics/commons/util/NumericCounterTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/util/NumericCounterTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/util/NumericCounterTest.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/util/SimpleCounterTest.scala b/commons/test/src/com/fulcrumgenomics/commons/util/SimpleCounterTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/util/SimpleCounterTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/util/SimpleCounterTest.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/util/StringUtilTest.scala b/commons/test/src/com/fulcrumgenomics/commons/util/StringUtilTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/util/StringUtilTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/util/StringUtilTest.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/util/TestTags.scala b/commons/test/src/com/fulcrumgenomics/commons/util/TestTags.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/util/TestTags.scala
rename to commons/test/src/com/fulcrumgenomics/commons/util/TestTags.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/util/TimeUtilTest.scala b/commons/test/src/com/fulcrumgenomics/commons/util/TimeUtilTest.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/util/TimeUtilTest.scala
rename to commons/test/src/com/fulcrumgenomics/commons/util/TimeUtilTest.scala
diff --git a/src/test/scala/com/fulcrumgenomics/commons/util/UnitSpec.scala b/commons/test/src/com/fulcrumgenomics/commons/util/UnitSpec.scala
similarity index 100%
rename from src/test/scala/com/fulcrumgenomics/commons/util/UnitSpec.scala
rename to commons/test/src/com/fulcrumgenomics/commons/util/UnitSpec.scala
diff --git a/project/build.properties b/project/build.properties
deleted file mode 100644
index 7c58a83..0000000
--- a/project/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-sbt.version=1.2.6
diff --git a/project/plugins.sbt b/project/plugins.sbt
deleted file mode 100644
index 6d47c12..0000000
--- a/project/plugins.sbt
+++ /dev/null
@@ -1,9 +0,0 @@
-resolvers += Resolver.url("fix-sbt-plugin-releases", url("http://dl.bintray.com/sbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns)
-
-addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "0.9.3")
-addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.6")
-addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.6")
-addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.5.1")
-addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "2.2")
-addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.1.0")
-addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.9.0")
diff --git a/sonatype.sbt b/sonatype.sbt
deleted file mode 100644
index 5a3ea39..0000000
--- a/sonatype.sbt
+++ /dev/null
@@ -1,22 +0,0 @@
-sonatypeProfileName := "com.fulcrumgenomics"
-
-pomExtra in Global := {
-
-
- MIT License
- http://www.opensource.org/licenses/mit-license.html
-
-
-
-
- nh13
- Nils Homer
- http://github.com/nh13
-
-
- tfenne
- Tim Fennell
- http://github.com/tfenne
-
-
-}
diff --git a/version.sbt b/version.sbt
deleted file mode 100644
index 6b96c2e..0000000
--- a/version.sbt
+++ /dev/null
@@ -1,7 +0,0 @@
-val gitHeadCommitSha = settingKey[String]("current git commit SHA")
-gitHeadCommitSha in ThisBuild := scala.sys.process.Process("git rev-parse --short HEAD").lineStream.head
-
-// *** IMPORTANT ***
-// One of the two "version" lines below needs to be uncommented.
-// version in ThisBuild := "0.7.0" // the release version
-version in ThisBuild := s"0.8.0-${gitHeadCommitSha.value}-SNAPSHOT" // the snapshot version