-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Iterate on project selection #251
base: master
Are you sure you want to change the base?
Conversation
## Can now choose projects by: - `@2` or `@3` for epoch scala versions - `@213` for scala binary versions - `@native`, `@js`, `@jvm` for platform - `main`/`test` to account for `isTestProject` - `@jvm213` still works like before ## Can also subtract projects from selection by prefixing `~` `@2 ~@jvm` will choose all projects for for instance 2.12 and 2.13 except those for jvm platform
## Can now choose projects by: - `@2` or `@3` for epoch scala versions - `@213` for scala binary versions - `@native`, `@js`, `@jvm` for platform - `main`/`test` to account for `isTestProject` - `@jvm213` still works like before ## Can also subtract projects from selection by prefixing `~` `@2 ~@jvm` will choose all projects for for instance 2.12 and 2.13 except those for jvm platform
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks awesome, thanks for this!
Just a note about Scala versions:
Scala used to have an epoch version. In Scala 2, 2
was the epoch version. 2.13
was the major version (and 2.13.10
was the minor version; there were no patch versions).
But this scheme changed. It is Semver now. With Scala 3, the 3
is the major version, 3.2
is the minor version and 3.2.2
is the patch version.
So I don't think @2
makes much sense. @2
and @3
is apples to oranges.
@2.13
and @3
is apples to apples.
Suggestions:
- how about
@2.13
instead of@213
? - It would be nice if we could (now or in the future) also do
@2.13.10
; such build matrices are required in some rare situations - What do you think about changing the schema to something more structured. We seem to have 3 axes (platform, versions and configuration), right? So something like
@js/2.13/test
? Or would,
be a better symbol for separating the parts?
@@ -1,10 +1,10 @@ | |||
package bleep | |||
package rewrites | |||
|
|||
case class keepSelectedProjects(selectedProjectGlobs: List[String]) extends BuildRewrite { | |||
case class keepSelectedProjects(selectedProjectGlobs: Array[model.ProjectGlob]) extends BuildRewrite { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why the changes to Array
? If List
is not good for some reason, why not at least ArraySeq
?
Yeah, I'm aware. but even without epoch
Maybe! The reason why I took out the
This is actually somewhat supported. Full cross builds will receive crossIds like
Ok, I like the suggestion because I think it can remove the need for the I'll give this a shot within to see how it feels. I should note that the format chosen here comes from the generated crossIds ( |
To make things even more complicated, we may want to add another axis, for the version of the platform -- Scala Native 0.4.x is not compatible with Scala Native 0.5.x. So that would make it something like We maybe should take inspiration from what is put in the name of the JAR and just do exactly that. https://repo1.maven.org/maven2/io/circe/circe-core_native0.4_2.13/
Then it would be Generally speaking, I like the idea of using already existing and established idioms and conventions instead of reinventing the wheel (plays well with the whole idea of Bleep: using Bloop, BSP, etc). |
Hi @oyvindberg , do you think it's worth reviving this? |
Fix for #204 , cc @sideeffffect if you have any comments :)
Can now choose projects by:
@2
or@3
for epoch scala versions@213
for scala binary versions@native
,@js
,@jvm
for platform@main
/@test
to account forisTestProject
@jvm213
still works like before, just with an@
Subtracting from selection
Can also subtract projects from selection by prefixing
~
@2 ~@jvm
will choose all projects for for instance 2.12 and 2.13 except those for jvm platformdemo
Kapture.2022-12-29.at.03.19.47.mp4