breaking changes
- Fixes name clashes in typeclass intance by prefixing full package name. #385 by @anatoliykmetyuk
- The default value for using varargs is set to false.
- sbt-scalaxb is now an auto plugin. See below.
bug fixes
enhancements
- Adds
--mutable
option to generate mutable case classes. See below.
- Uses type attribute to convert
xs:any
. #389 by @anatoliykmetyuk
- Adds
--autopackages
option to pick package names automatically. #391 by @anatoliykmetyuk
- Adds
--visitor
option to generate a Visitor for traversing over the generated case classes. #392 by @anatoliykmetyuk
sbt-scalaxb changes
sbt-scalaxb for scalaxb 1.5.0 is changed to an auto plugin.
Instead of adding scalaxbSettings
and defining sourceGenerators in Compile
,
enable ScalaxbPlugin
instead. All other setting/task keys will be prefixed with "scalaxb".
For example, packageName
will now be called scalaxbPackageName
.
Before:
import ScalaxbKeys._
lazy val root = (project in file(".")).
settings(
name := "foo-project").
settings(scalaxbSettings).
settings(
sourceGenerators in Compile += (scalaxb in Compile).taskValue,
packageName in (Compile, scalaxb) := "generated"
// packageNames in (Compile, scalaxb) := Map(uri("http://something/") -> "something"),
// logLevel in (Compile, scalaxb) := Level.Debug
)
After:
lazy val root = (project in file(".")).
enablePlugins(ScalaxbPlugin).
settings(
name := "foo-project",
scalaxbPackageName in (Compile, scalaxb) := "generated"
// scalaxbAutoPackages in (Compile, scalaxb) := true
)
#405 by @eed3si9n
mutable case class
scalaxb 1.5.0 adds an option to generate mutable case classes.
case class Address(var name: String,
var street: String,
var city: String)
In sbt-scalaxb, this can be enabled as:
lazy val root = (project in file(".")).
enablePlugins(ScalaxbPlugin).
settings(
name := "foo-project",
scalaxbPackageName in (Compile, scalaxb) := "generated",
scalaxbGenerateMutable in (Compile, scalaxb) := true
)
#390 by @AndreVanDelft
contributors
Huge thanks to everyone who has helped to improve scalaxb by sending pull requests and reporting bugs!
According to git shortlog -sn --no-merges 1.4.1..release/1.5.0
, the following people contributed to this release: Anatoliy Kmetyuk (@anatoliykmetyuk), Eugene Yokota (@eed3si9n), Andre Van Delft (@AndreVanDelft), Jan-Kees van Andel (@jankeesvanandel), Joshua Reese (@joshlreese), and Mateusz Kołodziejczyk (@coutoPL).