summaryrefslogblamecommitdiff
path: root/integration/test/resources/play-json/README.md
blob: d71acae92f75cc7a673eb2f3dbd56386d9c7d1f8 (plain) (tree)





























                                                                                                                                                                                                                                                                                                                                                                                                              
## Play JSON build

This is a port of sbt build for [Play JSON](https://github.com/playframework/play-json) library. It has roughly the same features as sbt version, for instance it cross-builds Play JSON under 4 major scala versions both js and JVM. It cam compile sources, run tests, publish artifacts to Sonatype, run benchmarks, reformat code, add license headers, use mima to diagnose binary compatibility issues.

The main build file is [build.sc](/build.sc), other `.sc` files in root directory provide additional "plugin"-like features.

### Example commands

Compile play json for JVM on scala 2.12.4: 
```bash
mill playJsonJvm[2.12.4].compile
```

Run test on all modules:
```bash
mill __.test
```

Run benchmarks on scala 2.12.4:
```bash
mill benchmarks[2.12.4].runJmh
```

### CI

Example CI configuration is in [.travis.yml](/.travis.yml) . It does the same thing as [original one](https://github.com/playframework/play-json/blob/master/.travis.yml) . You can check status of Play JSON built with this `.travis.yml` file [here](travis-ci.org/rockjam/play-json)

### Release

To make release run `./release.sh`. Don't forget to export `SONATYPE_CREDENTIALS` and `GPG_PASSPHRASE` env variables.