From 26d99d288eb2def9ef1f50c0b4dd06f7e4f986d7 Mon Sep 17 00:00:00 2001 From: Dominik Picheta Date: Thu, 24 Dec 2015 10:58:02 +0000 Subject: [PATCH] Fixes #108. --- src/nimble.nim | 4 ++++ tests/issue108/issue108.nimble | 11 +++++++++++ tests/tester.nim | 7 +++++++ 3 files changed, 22 insertions(+) create mode 100644 tests/issue108/issue108.nimble diff --git a/src/nimble.nim b/src/nimble.nim index 45f7eab..7817dfd 100644 --- a/src/nimble.nim +++ b/src/nimble.nim @@ -527,6 +527,10 @@ proc processDeps(pkginfo: PackageInfo, options: Options): seq[string] = proc buildFromDir(pkgInfo: PackageInfo, paths: seq[string], forRelease: bool) = ## Builds a package as specified by ``pkgInfo``. + if pkgInfo.bin.len == 0: + raise newException(NimbleError, + "Nothing to build. Did you specify a module to build using the" & + " `bin` key in your .nimble file?") let realDir = pkgInfo.getRealDir() let releaseOpt = if forRelease: "-d:release" else: "" var args = "" diff --git a/tests/issue108/issue108.nimble b/tests/issue108/issue108.nimble new file mode 100644 index 0000000..8b2fa29 --- /dev/null +++ b/tests/issue108/issue108.nimble @@ -0,0 +1,11 @@ +# Package + +version = "0.1.0" +author = "Dominik Picheta" +description = "Test for issue 108." +license = "BSD" + +# Dependencies + +requires "nim >= 0.12.1" + diff --git a/tests/tester.nim b/tests/tester.nim index 83b3833..19173e6 100644 --- a/tests/tester.nim +++ b/tests/tester.nim @@ -78,6 +78,13 @@ test "issue #126": check exitCode1 != QuitSuccess check "The .nimble file name must match name specified inside it." in lines1[^1] +test "issue #108": + cd "issue108": + let (output, exitCode) = execCmdEx("../" & path & " build") + let lines = output.strip.splitLines() + check exitCode != QuitSuccess + check "Nothing to build" in lines[^1] + test "can list": check execCmdEx(path & " list").exitCode == QuitSuccess