Plugins with capital letters in their names are incorrectly fetched on systems with case sensitive file names. The fetched project definition always has the directory in lower case which is fine for case preserving or case insensitive systems like windows. Sbt will then try to load the plugin from the lower case directory which doesn't contains anything and therefore doesn't build the plugin.
How to reproduce
Have a plugin directory with at least one capital letter (e.g. plugins-private/Voteban) and then run the sbt fetch task. The project definition of the plugin in the plugins.sbt looks something like this:
lazy val `Voteban` = (project in file("plugins-private/voteban")).dependsOn(apiProject)
You can see that the directory name didn't preserve cases but the variable name of the plugin project did. Sbt won't compile the plugin and just spit out an empty jar.
Description
Plugins with capital letters in their names are incorrectly fetched on systems with case sensitive file names. The fetched project definition always has the directory in lower case which is fine for case preserving or case insensitive systems like windows. Sbt will then try to load the plugin from the lower case directory which doesn't contains anything and therefore doesn't build the plugin.
How to reproduce
Have a plugin directory with at least one capital letter (e.g.
plugins-private/Voteban
) and then run the sbt fetch task. The project definition of the plugin in theplugins.sbt
looks something like this:You can see that the directory name didn't preserve cases but the variable name of the plugin project did. Sbt won't compile the plugin and just spit out an empty jar.