play-json-tools— Set of implicit Play-JSONFormathelper classes. Example in FlatFormatSpecplay-json-generic— provides Format derivation for enum like adt's (sealed trait/case objects'). Examples in EnumerationDerivalSpecplay-json-jsoniter— provides the fastest way to convert an instance ofplay.api.libs.json.JsValueto byte array and read it back. Numbers are written exactly as play-json's JVM serializer writes them, which means aBigDecimalkeeps its value but not necessarily its scale:100.00is written as100. A number that could not be read back under the configured parse limits is rejected with aJsonWriterExceptioninstead of being written.play-json-circe— provides conversions to/fromcircecodecs to ease transitions from one library to another. Examples in CirceToPlayConversionsSpec and PlayToCirceConversionsSpec.
All modules are available for 2.13 and 3.
Replace <version> with the latest release, which the version badge above links to.
addSbtPlugin("com.evolution" % "sbt-artifactory-plugin" % "0.0.2")
libraryDependencies += "com.evolution" %% "play-json-tools" % "<version>"
libraryDependencies += "com.evolution" %% "play-json-generic" % "<version>"
libraryDependencies += "com.evolution" %% "play-json-jsoniter" % "<version>"
libraryDependencies += "com.evolution" %% "play-json-circe" % "<version>"The release process is based on Git tags and makes use of evolution-gaming/scala-github-actions which uses sbt-dynver to automatically obtain the version from the latest Git tag. The flow is defined in .github/workflows/release.yml.
A typical release process is as follows:
- Create and push a new Git tag. The version should be in the format
vX.Y.Z(example:v4.1.0). Example:git tag v4.1.0 && git push origin v4.1.0 - On success, a new GitHub release is automatically created with a calculated diff and auto-generated release notes.
You can see it on
Releasespage, change the description if needed - On failure, the tag is deleted from the remote repository. Please note that your local tag isn't deleted, so if the failure is recoverable then you can delete the local tag and try again (an example of unrecoverable failure is successfully publishing only a few of the artifacts to Artifactory which means a new attempt would fail since Artifactory doesn't allow overwriting its contents)