Replies: 2 comments 4 replies
-
Does |
Beta Was this translation helpful? Give feedback.
-
I have a few suggestions: Use the binary suffix for platforms, so Enable versioning the platform, so Use |
Beta Was this translation helpful? Give feedback.
-
Update: Here's a PR #7699
sbt-projectmatrix represents both the idea of Scala version cross building and platform cross building (JVM, JS, Native) as flat list of subprojects, allowing parallel building and accurate representation of partial Scala support (e.g. sbt plugin only available for 2.12). As convenient at times, the cross build could also bloat into building 12 = 4 x 3 (2.11 ~ 3, JVM, JS, Native) artifacts for each source change.
One way to solve this might be to implement a filtering mechanism, similar to Bazel query.
In Bazel, users can issue
build
ortest
command against a query likebazel test dir1/dir1a/...
. This will test all test targets underdir1/dir1a/
directory....
as globSince sbt doesn't use directory structure to represent subprojects, it would probably be useful to support
...
as glob*
of the subproject id.?scala=3
,?scala=2.x
,?scala=2.13
Scala version filtering would be useful to have.
?
denotes query pairs.scala
as query would be used to query againstscalaVersion
setting of the subproject, but with special version handling.3
would be interpreted as3.x
, which means any Scala version with first segment3
, including pre-releases.2.13
would be interpreted as2.13.x
would means any Scala version with second segment2.13
, including pre-releases.?platform=jvm
,?platform=js
,?platform=native
Another useful filtering might be platform cross building.
Query as an aggregate
Once we have the ability to filter down the list of subprojects, we could then use that as the mechanism of aggregation.
For example:
could test all subprojects that is Scala.JS.
Beta Was this translation helpful? Give feedback.
All reactions