Add srcDir to depends output
This commit is contained in:
parent
092252a727
commit
8822dffd2b
|
@ -3,6 +3,6 @@ bin = @["nim_lk"]
|
|||
description = "Tool for generating Nim lockfiles"
|
||||
license = "BSD-3-Clause"
|
||||
srcDir = "src"
|
||||
version = "20231001"
|
||||
version = "20231004"
|
||||
|
||||
requires "nim >= 2.0.0"
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
include_rules
|
||||
: nim_lk.nim |> !nim_bin |>
|
||||
: nim_lk.nim |> !nim_bin |> $(BIN_DIR)/nim_lk | $(BIN_DIR)/<nim_lk>
|
||||
|
|
|
@ -54,7 +54,7 @@ proc matchRev(url: string; wanted: VersionRange): tuple[tag: string, rev: string
|
|||
if result.rev == "" and pairs.len > 0:
|
||||
result = pairs[pairs.high]
|
||||
|
||||
proc collectMetadata(data: JsonNode) =
|
||||
proc collectMetadata(data: JsonNode; options: Options) =
|
||||
let storePath = data["path"].getStr
|
||||
var packageNames = newJArray()
|
||||
for (kind, path) in walkDir(storePath):
|
||||
|
@ -64,8 +64,12 @@ proc collectMetadata(data: JsonNode) =
|
|||
if packageNames.len == 0:
|
||||
quit("no .nimble files found in " & storePath)
|
||||
data["packages"] = packageNames
|
||||
var
|
||||
nimbleFilePath = findNimbleFile(storePath, true)
|
||||
pkg = readPackageInfo(nimbleFilePath, options)
|
||||
data["srcDir"] = %pkg.srcDir
|
||||
|
||||
proc prefechtGit(uri: Uri; version: VersionRange): JsonNode =
|
||||
proc prefetchGit(uri: Uri; version: VersionRange; options: Options): JsonNode =
|
||||
var
|
||||
uri = uri
|
||||
subdir = ""
|
||||
|
@ -93,7 +97,7 @@ proc prefechtGit(uri: Uri; version: VersionRange): JsonNode =
|
|||
result["method"] = %"git"
|
||||
if tag != "":
|
||||
result["ref"] = %tag
|
||||
collectMetadata(result)
|
||||
collectMetadata(result, options)
|
||||
|
||||
proc containsPackageUri(lockAttrs: JsonNode; pkgUri: string): bool =
|
||||
for e in lockAttrs.items:
|
||||
|
@ -159,11 +163,12 @@ proc generateLockfile(options: Options): JsonNode =
|
|||
if pkg.name == "nim" or pkg.name == "compiler":
|
||||
continue
|
||||
var uri = parseUri(pkg.name)
|
||||
if uri.scheme == "" and not deps.containsPackage(pkg.name):
|
||||
pending.addLast(pkg)
|
||||
if uri.scheme == "":
|
||||
if not deps.containsPackage(pkg.name):
|
||||
pending.addLast(pkg)
|
||||
elif not deps.containsPackageUri(pkg.name):
|
||||
if uri.isGitUrl:
|
||||
pkgData = prefechtGit(uri, pkg.ver)
|
||||
pkgData = prefetchGit(uri, pkg.ver, options)
|
||||
else:
|
||||
quit("unhandled URI " & $uri)
|
||||
collectRequires(pending, options, pkgData["path"].getStr)
|
||||
|
@ -176,7 +181,7 @@ proc generateLockfile(options: Options): JsonNode =
|
|||
case info.meth
|
||||
of "git":
|
||||
stderr.writeLine "prefetch ", info.uri
|
||||
var pkgData = prefechtGit(parseUri info.uri, pkg.ver)
|
||||
var pkgData = prefetchGit(parseUri info.uri, pkg.ver, options)
|
||||
collectRequires(pending, options, pkgData["path"].getStr)
|
||||
deps.add pkgData
|
||||
else:
|
||||
|
|
Loading…
Reference in New Issue