@@ -177,11 +177,11 @@ dependencies:
177177 cf_stacks:
178178 - cflinuxfs4
179179- name: openjdk
180- version: 17.0.13
181- uri: https://example.com/openjdk-17.tar.gz
182- sha256: 2222222222222222222222222222222222222222222222222222222222222222
180+ version: 17.0.19+11
181+ uri: https://example.com/openjdk-17.0.19+11. tar.gz
182+ sha256: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
183183 cf_stacks:
184- - cflinuxfs4
184+ - cflinuxfs4
185185- name: openjdk
186186 version: 21.0.5
187187 uri: https://example.com/openjdk-21.tar.gz
@@ -295,7 +295,7 @@ dependencies:
295295 dep , err := jres .GetJREVersion (ctx , "openjdk" )
296296 Expect (err ).NotTo (HaveOccurred ())
297297 Expect (dep .Name ).To (Equal ("openjdk" ))
298- Expect (dep .Version ).To (Equal ("17.0.13 " ))
298+ Expect (dep .Version ).To (Equal ("17.0.19+11 " ))
299299 })
300300
301301 It ("resolves major version 21" , func () {
@@ -311,7 +311,31 @@ dependencies:
311311 dep , err := jres .GetJREVersion (ctx , "openjdk" )
312312 Expect (err ).NotTo (HaveOccurred ())
313313 Expect (dep .Name ).To (Equal ("openjdk" ))
314- Expect (dep .Version ).To (Equal ("17.0.13" ))
314+ Expect (dep .Version ).To (Equal ("17.0.19+11" ))
315+ })
316+
317+ It ("handles version patterns with wildcards" , func () {
318+ os .Setenv ("BP_JAVA_VERSION" , "17.+" )
319+ dep , err := jres .GetJREVersion (ctx , "openjdk" )
320+ Expect (err ).NotTo (HaveOccurred ())
321+ Expect (dep .Name ).To (Equal ("openjdk" ))
322+ Expect (dep .Version ).To (Equal ("17.0.19+11" ))
323+ })
324+
325+ It ("resolves exact patch version" , func () {
326+ os .Setenv ("BP_JAVA_VERSION" , "17.0.19" )
327+ dep , err := jres .GetJREVersion (ctx , "openjdk" )
328+ Expect (err ).NotTo (HaveOccurred ())
329+ Expect (dep .Name ).To (Equal ("openjdk" ))
330+ Expect (dep .Version ).To (Equal ("17.0.19+11" ))
331+ })
332+
333+ It ("resolves exact version with build metadata (X.Y.Z+W format)" , func () {
334+ os .Setenv ("BP_JAVA_VERSION" , "17.0.19+11" )
335+ dep , err := jres .GetJREVersion (ctx , "openjdk" )
336+ Expect (err ).NotTo (HaveOccurred ())
337+ Expect (dep .Name ).To (Equal ("openjdk" ))
338+ Expect (dep .Version ).To (Equal ("17.0.19+11" ))
315339 })
316340 })
317341
@@ -370,7 +394,15 @@ dependencies:
370394 dep , err := jres .GetJREVersion (ctx , "openjdk" )
371395 Expect (err ).NotTo (HaveOccurred ())
372396 Expect (dep .Name ).To (Equal ("openjdk" ))
373- Expect (dep .Version ).To (Equal ("17.0.13" ))
397+ Expect (dep .Version ).To (Equal ("17.0.19+11" ))
398+ })
399+
400+ It ("resolves exact version 17.0.19+11 pattern" , func () {
401+ os .Setenv ("JBP_CONFIG_OPEN_JDK_JRE" , "{jre: {version: 17.0.19+11}}" )
402+ dep , err := jres .GetJREVersion (ctx , "openjdk" )
403+ Expect (err ).NotTo (HaveOccurred ())
404+ Expect (dep .Name ).To (Equal ("openjdk" ))
405+ Expect (dep .Version ).To (Equal ("17.0.19+11" ))
374406 })
375407
376408 It ("resolves version 11.+ pattern" , func () {
0 commit comments