-
-
Notifications
You must be signed in to change notification settings - Fork 374
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Bump MainArgs to 0.6.1 #2990
Bump MainArgs to 0.6.1 #2990
Conversation
@@ -148,7 +148,7 @@ object Resolve { | |||
allowRepeats = false, | |||
allowLeftover = ep.argSigs0.exists(_.reader.isLeftover) | |||
).flatMap { (grouped: TokenGrouping[_]) => | |||
val mainData = ep.asInstanceOf[MainData[_, Any]] | |||
val mainData = ep.asInstanceOf[MainData[Any, Any]] |
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.
Not sure why this is necessary, something about type inference must have changed in 0.6.0 to make it source incompatible (even though it's binary compatible)
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.
Seems, bumping the version to 0.6.0
was the right move.
Also updated the bash launchers' special casing of
-i
to allow for it to be part of a combined token, as long as the combined token starts with-i
With the
installLocalCache
ed version of Mill, I can now run:and the flags
-i
,-k
, and-w
will all take effect independentlyThe auto-kebab-case name mapping applies to Mill's own CLI args, the args of user-defined
T.command
s, but not the names of the target/command themselves. e.g. you can call;./mill --noServer core.ivyDepsTree --withCompile --withRuntime
or./mill --no-server core.ivyDepsTree --with-compile --with-runtime
but you cannot call
./mill --no-server core.ivy-deps-tree --with-compile --with-runtime
It should be easy to add name-mapping for the target selector as well, or I could also disable the name-mapping for user-define command arguments if we decide that's not the right thing to do. I'm not sure TBH what the right thing to do here is; bash naming conventions is fundamentally incompatible with Scala naming conventions, so regardless what Mill decides there will be some inconsistencies between:
I guess it just depend where we want to draw the line and tolerate the inconsistency. I feel like maybe something like
./mill --no-server core.ivy-deps-tree --with-compile --with-runtime
would be the ideal outcome, where everything in Bash-land is consistent and everything in Scala-land is consistent.Pull request: #2990