scalasbtsbt-pluginsbt1.0

sbt key gets automatically capitalized after migration to sbt 1


I'm migrating an sbt plugin from 0.13 to 1.0.4
The plugin defines an InputKey in the following way:

lazy val myKey = InputKey[Unit]("foo-bar", "")

To use this key, I would run (from sbt console):

foo-bar

but after upgrading to sbt 1.0.4, I'm getting the error:

Not a valid key: foo-bar (similar: fooBar)

What is the reason for this behavior?
And is there a way to make it work with the command foo-bar as before?

running fooBar works, but the users are already used to foo-bar and I would prefer not to change it


Solution

  • I noticed that too when I migrated. As you can read here in 1.0.0 section:

    Drops sbt 0.12 style hyphen-separated key names (use publishLocal instead of publish-local).

    hyphen based task/setting naming was dropped in favor of camel case. AFAIK nothing you can do about it, just roll with it.