@@ -185,9 +185,9 @@ proc fetchList*(list: PackageList, options: Options) =
185185# Cache after first call
186186var
187187 gPackageJson: Table [string , JsonNode ]
188- proc readPackageList (name: string , options: Options ): JsonNode =
188+ proc readPackageList (name: string , options: Options , ignorePackageCache = false ): JsonNode =
189189 # If packages.json is not present ask the user if they want to download it.
190- if gPackageJson.hasKey (name):
190+ if ( not ignorePackageCache) and gPackageJson.hasKey (name):
191191 return gPackageJson[name]
192192
193193 if needsRefresh (options):
@@ -204,7 +204,7 @@ proc readPackageList(name: string, options: Options): JsonNode =
204204 name.toLowerAscii () & " .json" )
205205 return gPackageJson[name]
206206
207- proc getPackage * (pkg: string , options: Options , resPkg: var Package ): bool
207+ proc getPackage * (pkg: string , options: Options , resPkg: var Package , ignorePackageCache = false ): bool
208208proc resolveAlias (pkg: Package , options: Options ): Package =
209209 result = pkg
210210 # Resolve alias.
@@ -215,7 +215,7 @@ proc resolveAlias(pkg: Package, options: Options): Package =
215215 raise nimbleError (" Alias for package not found: " &
216216 pkg.alias)
217217
218- proc getPackage * (pkg: string , options: Options , resPkg: var Package ): bool =
218+ proc getPackage * (pkg: string , options: Options , resPkg: var Package , ignorePackageCache = false ): bool =
219219 # # Searches any packages.json files defined in ``options.config.packageLists``
220220 # # Saves the found package into ``resPkg``.
221221 # #
@@ -226,7 +226,7 @@ proc getPackage*(pkg: string, options: Options, resPkg: var Package): bool =
226226 # # Aliases are handled and resolved.
227227 for name, list in options.config.packageLists:
228228 display (" Reading" , " $1 package list" % name, priority = LowPriority )
229- let packages = readPackageList (name, options)
229+ let packages = readPackageList (name, options, ignorePackageCache )
230230 for p in packages:
231231 if normalize (p[" name" ].str) == normalize (pkg):
232232 resPkg = p.fromJson ()
0 commit comments