Fixes nimbledata.json being read from default nimbleDir.

This commit is contained in:
Dominik Picheta 2016-12-15 23:31:45 +01:00
commit d42a07e0f7

View file

@ -263,23 +263,24 @@ proc initOptions*(): Options =
result.action.typ = actionNil result.action.typ = actionNil
result.pkgInfoCache = newTable[string, PackageInfo]() result.pkgInfoCache = newTable[string, PackageInfo]()
proc parseMisc(): Options = proc parseMisc(options: var Options) =
result = initOptions()
result.config = parseConfig()
# Load nimbledata.json # Load nimbledata.json
let nimbledataFilename = result.getNimbleDir() / "nimbledata.json" let nimbledataFilename = options.getNimbleDir() / "nimbledata.json"
if fileExists(nimbledataFilename): if fileExists(nimbledataFilename):
try: try:
result.nimbleData = parseFile(nimbledataFilename) options.nimbleData = parseFile(nimbledataFilename)
except: except:
raise newException(NimbleError, "Couldn't parse nimbledata.json file " & raise newException(NimbleError, "Couldn't parse nimbledata.json file " &
"located at " & nimbledataFilename) "located at " & nimbledataFilename)
else: else:
result.nimbleData = %{"reverseDeps": newJObject()} options.nimbleData = %{"reverseDeps": newJObject()}
proc parseCmdLine*(): Options = proc parseCmdLine*(): Options =
result = parseMisc() result = initOptions()
result.config = parseConfig()
# Parse command line params.
for kind, key, val in getOpt(): for kind, key, val in getOpt():
case kind case kind
of cmdArgument: of cmdArgument:
@ -290,6 +291,10 @@ proc parseCmdLine*(): Options =
of cmdLongOption, cmdShortOption: of cmdLongOption, cmdShortOption:
parseFlag(key, val, result) parseFlag(key, val, result)
of cmdEnd: assert(false) # cannot happen of cmdEnd: assert(false) # cannot happen
# Parse other things, for example the nimbledata.json file.
parseMisc(result)
if result.action.typ == actionNil: if result.action.typ == actionNil:
writeHelp() writeHelp()