diff options
author | Nikolay Tatarinov <5min4eq.unity@gmail.com> | 2018-03-28 01:33:11 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-28 01:33:11 +0300 |
commit | 83aeb8976d90ad1637243953a9af37e6d4206c52 (patch) | |
tree | 346e52db0d80c7fb7bdab8013acb38ef8be55fbb /integration/test/src | |
parent | a796f0a1381632560b6251a93466957319065966 (diff) | |
download | mill-83aeb8976d90ad1637243953a9af37e6d4206c52.tar.gz mill-83aeb8976d90ad1637243953a9af37e6d4206c52.tar.bz2 mill-83aeb8976d90ad1637243953a9af37e6d4206c52.zip |
WIP: Play json build (#182)
* play json build
* build progress
* add check task
* try to make play json js build
* scalariform and mima plugins in separate files. check mima
* better error message for mima compatibility check
* fix scala 2.10 compilation
* license headers support
* add jmh support
* fix reformat on compile; fix code validation; extract base module
* remove scala 2.13 from cross versions
* include play-json in integration tests
* add example .travis.yml
* bring back scala 2.13 support
* make reformat target, not command
* add release task
* update mill version in travis.yml
* update release script
* update release process
* add README.md for play json build
Diffstat (limited to 'integration/test/src')
4 files changed, 68 insertions, 3 deletions
diff --git a/integration/test/src/mill/integration/IntegrationTestSuite.scala b/integration/test/src/mill/integration/IntegrationTestSuite.scala index 756b724a..d24261f3 100644 --- a/integration/test/src/mill/integration/IntegrationTestSuite.scala +++ b/integration/test/src/mill/integration/IntegrationTestSuite.scala @@ -17,9 +17,15 @@ abstract class IntegrationTestSuite(repoKey: String, val workspaceSlug: String, wrapper } + def buildFiles: Seq[Path] = { + Seq(buildFilePath / "build.sc") + } + override def initWorkspace() = { super.initWorkspace() - cp.over(buildFilePath / "build.sc", workspacePath / "build.sc") + buildFiles.foreach { file => + cp.over(file, workspacePath / file.name) + } assert(!ls.rec(workspacePath).exists(_.ext == "class")) } } diff --git a/integration/test/src/mill/integration/PlayJsonTests.scala b/integration/test/src/mill/integration/PlayJsonTests.scala new file mode 100644 index 00000000..c78a256e --- /dev/null +++ b/integration/test/src/mill/integration/PlayJsonTests.scala @@ -0,0 +1,57 @@ +package mill.integration + +import ammonite.ops._ +import utest._ + +class PlayJsonTests(fork: Boolean) extends IntegrationTestSuite("MILL_PLAY_JSON_REPO", "play-json", fork) { + + override def buildFiles: Seq[Path] = { + ls(buildFilePath).filter(_.ext == "sc") + } + + val tests = Tests{ + initWorkspace() + + 'jvm - { + assert(eval("playJsonJvm[2.12.4].test")) + val jvmMeta = meta("playJsonJvm[2.12.4].test.test") + + assert( + jvmMeta.contains("play.api.libs.json.JsonSharedSpec"), + jvmMeta.contains("JSON should support basic array operations") + ) + + assert( + jvmMeta.contains("play.api.libs.json.JsonValidSpec"), + jvmMeta.contains("JSON reads should::validate Dates") + ) + } + 'js - { + assert(eval("playJsonJs[2.12.4].test")) + val jsMeta = meta("playJsonJs[2.12.4].test.test") + + assert( + jsMeta.contains("play.api.libs.json.JsonSharedSpec"), + jsMeta.contains("JSON should support basic array operations") + ) + + assert( + jsMeta.contains("play.api.libs.json.JsonSpec"), + jsMeta.contains("Complete JSON should create full object when lose precision when parsing BigDecimals") + ) + } + 'playJoda - { + assert(eval("playJoda[2.12.4].test")) + val metaFile = meta("playJoda[2.12.4].test.test") + + assert( + metaFile.contains("play.api.libs.json.JsonJodaValidSpec"), + metaFile.contains("JSON reads should::validate Dates") + ) + } + + 'benchmarks - { +// "benchmarks[2.12.4].runJmh" -i 1 -wi 1 -f1 -t1 + } + } +} diff --git a/integration/test/src/mill/integration/forked/Tests.scala b/integration/test/src/mill/integration/forked/Tests.scala index 6933bbbe..4a2e9f53 100644 --- a/integration/test/src/mill/integration/forked/Tests.scala +++ b/integration/test/src/mill/integration/forked/Tests.scala @@ -4,4 +4,5 @@ object AcyclicTests extends mill.integration.AcyclicTests(fork = true) object AmmoniteTests extends mill.integration.AmmoniteTests(fork = true) object BetterFilesTests extends mill.integration.BetterFilesTests(fork = true) object JawnTests extends mill.integration.JawnTests(fork = true) -object UpickleTests extends mill.integration.UpickleTests(fork = true)
\ No newline at end of file +object UpickleTests extends mill.integration.UpickleTests(fork = true) +object PlayJsonTests extends mill.integration.PlayJsonTests(fork = true) diff --git a/integration/test/src/mill/integration/local/Tests.scala b/integration/test/src/mill/integration/local/Tests.scala index 21b9581c..b4f78ee4 100644 --- a/integration/test/src/mill/integration/local/Tests.scala +++ b/integration/test/src/mill/integration/local/Tests.scala @@ -4,4 +4,5 @@ object AcyclicTests extends mill.integration.AcyclicTests(fork = false) object AmmoniteTests extends mill.integration.AmmoniteTests(fork = false) object BetterFilesTests extends mill.integration.BetterFilesTests(fork = false) object JawnTests extends mill.integration.JawnTests(fork = false) -object UpickleTests extends mill.integration.UpickleTests(fork = false)
\ No newline at end of file +object UpickleTests extends mill.integration.UpickleTests(fork = false) +object PlayJsonTests extends mill.integration.PlayJsonTests(fork = false) |