Skip to content

Commit a062fcc

Browse files
committed
Introduce parseVersionString
1 parent 2e79949 commit a062fcc

1 file changed

Lines changed: 15 additions & 10 deletions

File tree

‎src/Paket.Core/DependenciesFile.fs‎

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ type InstallOptions =
2121
Redirects = false
2222
Settings = InstallSettings.Default }
2323

24+
type VersionStrategy = {
25+
VersionRequirement : VersionRequirement
26+
ResolverStrategy : ResolverStrategy }
27+
2428
/// [omit]
2529
module DependenciesFileParser =
2630

@@ -231,7 +235,10 @@ module DependenciesFileParser =
231235
packages |> List.rev,
232236
remoteFiles |> List.rev,
233237
lines
234-
238+
239+
let parseVersionString (version : string) =
240+
{ VersionRequirement = parseVersionRequirement (version.Trim '!')
241+
ResolverStrategy = parseResolverStrategy version }
235242

236243
module DependenciesFileSerializer =
237244
let formatVersionRange strategy (version : VersionRequirement) : string =
@@ -363,22 +370,21 @@ type DependenciesFile(fileName,options,sources,packages : PackageRequirement lis
363370

364371

365372
member this.AddAdditionalPackage(packageName:PackageName,version:string,settings) =
366-
let versionRequirement = DependenciesFileParser.parseVersionRequirement (version.Trim '!')
367-
let resolverStrategy = DependenciesFileParser.parseResolverStrategy version
373+
let vr = DependenciesFileParser.parseVersionString version
368374

369-
this.AddAdditionalPackage(packageName,versionRequirement,resolverStrategy,settings)
375+
this.AddAdditionalPackage(packageName,vr.VersionRequirement,vr.ResolverStrategy,settings)
370376

371377
member this.AddFixedPackage(packageName:PackageName,version:string,settings) =
372-
let versionRange = DependenciesFileParser.parseVersionRequirement (version.Trim '!')
378+
let vr = DependenciesFileParser.parseVersionString version
373379

374380
let resolverStrategy,versionRequirement =
375381
match packages |> List.tryFind (fun p -> NormalizedPackageName p.Name = NormalizedPackageName packageName) with
376382
| Some package ->
377383
package.ResolverStrategy,
378384
match package.VersionRequirement.Range with
379385
| OverrideAll(_) -> package.VersionRequirement
380-
| _ -> versionRange
381-
| None -> DependenciesFileParser.parseResolverStrategy version,versionRange
386+
| _ -> vr.VersionRequirement
387+
| None -> vr.ResolverStrategy,vr.VersionRequirement
382388

383389
this.AddAdditionalPackage(packageName,versionRequirement,resolverStrategy,settings)
384390

@@ -424,16 +430,15 @@ type DependenciesFile(fileName,options,sources,packages : PackageRequirement lis
424430
member this.UpdatePackageVersion(packageName, version:string) =
425431
let (PackageName name) = packageName
426432
if this.HasPackage(packageName) then
427-
let versionRequirement = DependenciesFileParser.parseVersionRequirement (version.Trim '!')
428-
let resolverStrategy = DependenciesFileParser.parseResolverStrategy version
433+
let vr = DependenciesFileParser.parseVersionString version
429434

430435
tracefn "Updating %s version to %s in %s" name version fileName
431436
let newLines =
432437
this.Lines |> Array.map (fun l ->
433438
let name = packageName.ToString().ToLower()
434439
if isPackageLine name l then
435440
let p = this.GetPackage packageName
436-
DependenciesFileSerializer.packageString packageName versionRequirement resolverStrategy p.Settings
441+
DependenciesFileSerializer.packageString packageName vr.VersionRequirement vr.ResolverStrategy p.Settings
437442
else l)
438443

439444
DependenciesFile(DependenciesFileParser.parseDependenciesFile this.FileName newLines)

0 commit comments

Comments
 (0)