play-json-tools
— Set of implicit Play-JSONFormat
helper 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.JsValue
to byte array and read it back.play-json-circe
— provides conversions to/fromcirce
codecs to ease transitions from one library to another. Examples in CirceToPlayConversionsSpec and PlayToCirceConversionsSpec.
All modules are available for Scala 2.12, 2.13 and 3.
addSbtPlugin("com.evolution" % "sbt-artifactory-plugin" % "0.0.2")
libraryDependencies += "com.evolution" %% "play-json-tools" % "1.0.0"
libraryDependencies += "com.evolution" %% "play-json-generic" % "1.0.0"
libraryDependencies += "com.evolution" %% "play-json-jsoniter" % "1.0.0"
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
Releases
page, 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)