parent
281a1d129a
commit
fe252c6ed6
6 changed files with 39 additions and 2 deletions
|
|
@ -205,7 +205,7 @@ proc processDeps(pkginfo: PackageInfo, options: Options): seq[PackageInfo] =
|
|||
raise newException(NimbleError,
|
||||
"Cannot satisfy the dependency on $1 $2 and $1 $3" %
|
||||
[pkgInfo.name, pkgInfo.version, pkgsInPath[pkgInfo.name]])
|
||||
pkgsInPath[pkgInfo.name] = pkgInfo.version
|
||||
pkgsInPath[pkgInfo.name] = pkgInfo.getConcreteVersion(options)
|
||||
|
||||
# We add the reverse deps to the JSON file here because we don't want
|
||||
# them added if the above errorenous condition occurs
|
||||
|
|
|
|||
|
|
@ -22,7 +22,8 @@ when not defined(nimscript):
|
|||
preHooks*: HashSet[string]
|
||||
name*: string
|
||||
## The version specified in the .nimble file.Assuming info is non-minimal,
|
||||
## it will always be a non-special version such as '0.1.4'
|
||||
## it will always be a non-special version such as '0.1.4'.
|
||||
## If in doubt, use `getConcreteVersion` instead.
|
||||
version*: string
|
||||
specialVersion*: string ## Either `myVersion` or a special version such as #head.
|
||||
author*: string
|
||||
|
|
|
|||
|
|
@ -487,6 +487,15 @@ proc toFullInfo*(pkg: PackageInfo, options: Options): PackageInfo =
|
|||
else:
|
||||
return pkg
|
||||
|
||||
proc getConcreteVersion*(pkgInfo: PackageInfo, options: Options): string =
|
||||
## Returns a non-special version from the specified ``pkgInfo``. If the
|
||||
## ``pkgInfo`` is minimal it looks it up and retrieves the concrete version.
|
||||
result = pkgInfo.version
|
||||
if pkgInfo.isMinimal:
|
||||
let pkgInfo = pkgInfo.toFullInfo(options)
|
||||
result = pkgInfo.version
|
||||
assert(not newVersion(result).isSpecial)
|
||||
|
||||
when isMainModule:
|
||||
validatePackageName("foo_bar")
|
||||
validatePackageName("f_oo_b_a_r")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue