@@ -115,14 +115,14 @@ end MaterializedDep
115115inductive InputVer
116116| none
117117| git (rev : String)
118- | std (ver : StdVer )
118+ | ver (ver : VerRange )
119119
120120def pkgNotIndexed (scope name : String) (ver : InputVer) : String :=
121121 let (leanVer, tomlVer) :=
122122 match ver with
123123 | .none => ("" , "" )
124124 | .git rev => (s! " @ git { repr rev} " , s! "\n rev = { repr rev} " )
125- | .std ver => (s! " @ { repr ver.toString} " , s! "\n version = { repr ver.toString} " )
125+ | .ver ver => (s! " @ { repr ver.toString} " , s! "\n version = { repr ver.toString} " )
126126s! "{ scope} /{ name} : package not found on Reservoir.
127127
128128 If the package is on GitHub, you can add a Git source. For example:
@@ -163,10 +163,10 @@ public def Dependency.materialize
163163 | return .none
164164 if let some ver := ver.dropPrefix? "git#" then
165165 return .git ver.toString
166- else if let .ok ver := StdVer.parse ver then
167- return .std ver
168166 else
169- error s! "{ dep.name} : unsupported dependency version format '{ ver} '"
167+ match VerRange.parse ver with
168+ | .ok ver => return .ver ver
169+ | .error e => error s! "{ dep.name} : invalid dependency version range: { e} "
170170 let depName := dep.name.toString (escape := false )
171171 let pkg ←
172172 match (← Reservoir.fetchPkg? lakeEnv dep.scope depName |>.toLogT) with
@@ -182,10 +182,10 @@ public def Dependency.materialize
182182 match ver with
183183 | .none => defaultBranch?
184184 | .git rev => some rev
185- | .std ver =>
186- match (← Reservoir.fetchPkgVersions lakeEnv dep.scope depName |>.toLogT) with
185+ | .ver ver =>
186+ match (← Reservoir.fetchPkgVersions lakeEnv dep.scope depName |>.toLogT) with
187187 | .ok vers =>
188- if let some ver := vers.find? (·.version == ver ) then
188+ if let some ver := vers.find? (ver.test ·.version) then
189189 logInfo s! "{ dep.scope} /{ depName} : using version `{ ver.version} ` at revision `{ ver.revision} `"
190190 pure ver.revision
191191 else
0 commit comments