Releases: portable-scala/sbt-crossproject
v1.3.2
sbt-crossproject v1.3.1
- Fix
crossProjectBaseDirectory
to be an absolute file (likebaseDirectory
) and to also work incrossProject
s with an explicit.in(...)
modifier. (#156)
sbt-crossproject v1.3.0
This release adds two new settings, intended for read only:
crossProjectCrossType
gives access to theCrossType
of the enclosingcrossProject
.crossProjectBaseDirectory
gives access to the base directory of the enclosingcrossProject
By "enclosing crossProject
", we mean the crossProject
that generates the current project
. These settings are mostly useful for other sbt plugins that want to generically handle crossProject
s.
sbt-crossproject v1.2.0
This release adds the following new features:
- Partially shared source and resource directories: in a JVM-JS-Native project, sources that are common to two platforms (e.g., JVM and JS) can be put in
foo/js-jvm/src/...
. The platforms are ordered lexicographically.
sbt-crossproject v1.1.0
This version adds the following features:
- Add support for shared epoch-dependent directories:
shared/src/scala-2/
orshared/src/scala-3/
, depending on the version of Scala - Add support for shared resource directories:
shared/src/resources/
- Add platform-dependent variants of
enablePlugins
, for examplejsEnablePlugins
In addition, it contains the two following "meta" changes:
- Configure
versionScheme
to"semver-spec"
- Publish to Maven Central instead of Bintray
sbt-crossproject 1.0.0
This release drops support for sbt 0.13.x. It brings nothing new.
Breaking changes
- Drop support for sbt 0.13.x
sbt-crossproject 0.6.1
This release adds the ability to detect the platform within settings in a crossProject
.
Improvements
Reading
crossProjectPlatform.value
will return the Platform
for which the settings are being applied. Possible values are JVMPlatform
, JSPlatform
and NativePlatform
(or any custom platform given as argument to crossProject(...)
.
sbt-crossproject 0.6.0
This release relieves users of sbt 1.x from the boilerplate lazy val fooJVM = foo.jvm
(and similar). It requires sbt 1.2.1 or later in the 1.x branch.
Breaking changes
- sbt 1.2.1 or later is required if you use sbt 1.x (as before, sbt 0.13.17+ is required if you use 0.13.x)
Improvements
When using sbt 1.x, it is no longer necessary to write the boilerplate
lazy val fooJVM = foo.jvm
lazy val fooJS = foo.js
lazy val fooNative = foo.native
after the definition of a
lazy val foo = crossProject(...)...
sbt-crossproject 0.5.0
This is mostly a simplifying release, taking advantage of the improvements that have made their way to sbt-scalanative 0.3.7 and sbt-scalajs 0.6.23.
Breaking changes
- sbt-scalajs-crossproject 0.5.0 requires sbt-scalajs >= 0.6.23 (or >= 1.0.0-M2). As a reminder, sbt-scalanative-crossproject requires sbt-scalanative >= 0.3.7 since v0.4.0.
- The result type of
CrossProject.Builder.crossType
has changed fromCrossProject
toBuilder
, so that it can be chained with furtherBuilder
methods such aswithoutSuffixFor
(#93). This is usually not an issue as there is an implicit conversion fromCrossProject.Builder
toCrossProject
. However, if you happen to directly assign the result ofcrossType()
to alazy val foo = ...
, without subsequent calls to.settings()
, and without an explicit type like: CrossProject
, your build might cease to properly function. You can fix this with an explicit call to.build()
or with an explicit: CrossProject
. - All the APIs that were deprecated since v0.3.0 have been removed.
sbt-crossproject 0.4.0
- Introduce
sbt-scala-native-crossproject
, see README for details - Move
JSPlatform
back toscalajscrossproject