mirror of https://github.com/sbt/sbt.git
Merge pull request #1488 from sbt/wip/fix-1375
Fixes #1375 - Check for empty filenames.
This commit is contained in:
commit
7f1786924f
|
|
@ -242,7 +242,10 @@ object Project extends ProjectExtra {
|
|||
def normalizeProjectID(id: String): Either[String, String] =
|
||||
{
|
||||
val attempt = normalizeBase(id)
|
||||
val refined = if (!validProjectIDStart(attempt.substring(0, 1))) "root-" + attempt else attempt
|
||||
val refined =
|
||||
if (attempt.length < 1) "root"
|
||||
else if (!validProjectIDStart(attempt.substring(0, 1))) "root-" + attempt
|
||||
else attempt
|
||||
validProjectID(refined).toLeft(refined)
|
||||
}
|
||||
private[this] def normalizeBase(s: String) = s.toLowerCase(Locale.ENGLISH).replaceAll("""\W+""", "-")
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
package sbt
|
||||
|
||||
import org.specs2.Specification
|
||||
|
||||
class ProjectSpec extends Specification {
|
||||
def is = s2"""
|
||||
|
||||
This is a specification to check utility methods on the Project object
|
||||
|
||||
Project should
|
||||
normalize projectIDs if they are empty ${normalizeEmptyFileName}
|
||||
|
||||
"""
|
||||
|
||||
def emptyFilename = ""
|
||||
|
||||
def normalizeEmptyFileName = Project.normalizeProjectID(emptyFilename) must equalTo(Right("root"))
|
||||
}
|
||||
|
|
@ -35,6 +35,7 @@
|
|||
[1477]: https://github.com/sbt/sbt/pull/1477
|
||||
[1486]: https://github.com/sbt/sbt/pull/1486
|
||||
[1487]: https://github.com/sbt/sbt/pull/1487
|
||||
[1488]: https://github.com/sbt/sbt/pull/1488
|
||||
[@dansanduleac]: https://github.com/dansanduleac
|
||||
[@2m]: https://github.com/2m
|
||||
[@pvlugter]: https://github.com/pvlugter
|
||||
|
|
@ -80,6 +81,7 @@
|
|||
- Works around "Not a simple type" breaking `-Xfatal-warnings`. [#1477][1477] by [@puffnfresh][@puffnfresh]
|
||||
- Fixes sLog usage in tandem with the `set` comamnd [#1486][1486] [@jsuereth][@jsuereth]
|
||||
- Test suites with whitespace will have prettier filenames [#1487][1487] [@jsuereth][@jsuereth]
|
||||
- sbt no longer crashes when run in root directory [#1488][1488] by [@jsuereth][@jsuereth]
|
||||
|
||||
### enablePlugins/disablePlugins
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue