cbt
cbt copied to clipboard
Does CBT support cross building against multiple scala-js/scala-native versions?
Due to https://github.com/scala-native/sbt-crossproject/issues/47, I am investigating using CBT for https://github.com/mdedetrich/scalajson to simplify the build.
For context, ScalaJSON is designed to be ultra stable and release new versions as infrequently as possible, which means that when a new scala-js version comes out (as an example), I want to be able to release ScalaJSON for this new version of scala-js without having to bump the version of ScalaJSON.
Is this possible right now? And if not is it on the roadmap (especially for 1.0.0 release?) I see this as a killer feature over SBT, as this current limitation in SBT is going to really complicate the build for scalaJSON (have to basically override settings in the build files with environment variables which is quite ugly)
There is no scala-native plugin right now (https://github.com/cvogt/cbt/issues/473). Shouldn't be hard to add though.
@shanedelmore and I are working on an extended cross build example (and possibly some minor bug fixes).
Or in short: Yes this should totally be possible, but hasn't been tested very well right now. Basically the idea is creating a Seq of builds, which are different subclasses of the same build with different customizations. Calling a task on the Seq from bash, e.g. cbt configs.package will run package for each of them.