made nimresolve part of the compiler
This commit is contained in:
parent
6a3288a60e
commit
29c075299d
7 changed files with 100 additions and 193 deletions
|
|
@ -7,8 +7,7 @@
|
|||
# distribution, for details about the copyright.
|
||||
#
|
||||
|
||||
## Module that implements ``gorge`` for the compiler as well as
|
||||
## the scriptable import mechanism.
|
||||
## Module that implements ``gorge`` for the compiler.
|
||||
|
||||
import msgs, securehash, os, osproc, streams, strutils, options
|
||||
|
||||
|
|
@ -56,28 +55,3 @@ proc opGorge*(cmd, input, cache: string, info: TLineInfo): (string, int) =
|
|||
result = p.readOutput
|
||||
except IOError, OSError:
|
||||
result = ("", -1)
|
||||
|
||||
proc scriptableImport*(pkg, subdir: string; info: TLineInfo): string =
|
||||
var cmd = getConfigVar("resolver.exe")
|
||||
if cmd.len == 0: cmd = "nimresolve"
|
||||
else: cmd = quoteShell(cmd)
|
||||
cmd.add " --source:"
|
||||
cmd.add quoteShell(info.toFullPath())
|
||||
cmd.add " --stdlib:"
|
||||
cmd.add quoteShell(options.libpath)
|
||||
cmd.add " --project:"
|
||||
cmd.add quoteShell(gProjectFull)
|
||||
if subdir.len != 0:
|
||||
cmd.add " --subdir:"
|
||||
cmd.add quoteShell(subdir)
|
||||
if options.gNoNimblePath:
|
||||
cmd.add " --nonimblepath"
|
||||
cmd.add ' '
|
||||
cmd.add quoteShell(pkg)
|
||||
let (res, exitCode) = opGorge(cmd, "", cmd, info)
|
||||
if exitCode == 0:
|
||||
result = res.strip()
|
||||
elif res.len > 0:
|
||||
localError(info, res)
|
||||
else:
|
||||
localError(info, "cannot resolve: " & (pkg / subdir))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue