@@ -2320,14 +2320,6 @@ def warn_about_old_hardcoded_version():
2320
2320
Ensure hardcoded versions everywhere are what we expect, either matching the master version
2321
2321
or one of the latest releases.
2322
2322
"""
2323
- graal_major = int (GRAAL_VERSION .split ("." )[0 ])
2324
- graal_minor = int (GRAAL_VERSION .split ("." )[1 ])
2325
-
2326
- def hardcoded_ver_is_too_far_behind_master (m ):
2327
- hardcoded_major = int (m .group (1 ).split ("." )[0 ])
2328
- if hardcoded_major < graal_major :
2329
- if graal_minor > 0 or hardcoded_major < graal_minor - 1 :
2330
- return f"Hardcoded version in `{ m .group ().strip ()} ` is too far behind { graal_major } .{ graal_minor } . Update it to the latest released version."
2331
2323
2332
2324
def hardcoded_ver_is_behind_major_minor (m ):
2333
2325
if m .group (1 ) != GRAAL_VERSION_MAJ_MIN :
@@ -2345,13 +2337,13 @@ def hardcoded_ver_is_behind_major_minor(m):
2345
2337
r"^ <version>(\d+\.\d+)(?:\.\d+)*</version>" : hardcoded_ver_is_behind_major_minor ,
2346
2338
},
2347
2339
"graalpython/graalpy-jbang/examples/hello.java" : {
2348
- r"//DEPS org.graalvm.python:python [^:]*:\${env.GRAALPY_VERSION:(\d+\.\d+)(?:\.\d+)*" : hardcoded_ver_is_too_far_behind_master ,
2340
+ r"//DEPS org.graalvm.python:graalpy-jbang [^:]*:\${env.GRAALPY_VERSION:(\d+\.\d+)(?:\.\d+)*" : hardcoded_ver_is_behind_major_minor ,
2349
2341
},
2350
2342
"graalpython/graalpy-jbang/templates/graalpy-template_local_repo.java.qute" : {
2351
- r"//DEPS org.graalvm.python:python [^:]*:\${env.GRAALPY_VERSION:(\d+\.\d+)(?:\.\d+)*" : hardcoded_ver_is_too_far_behind_master ,
2343
+ r"//DEPS org.graalvm.python:graalpy-jbang [^:]*:\${env.GRAALPY_VERSION:(\d+\.\d+)(?:\.\d+)*" : hardcoded_ver_is_behind_major_minor ,
2352
2344
},
2353
2345
"graalpython/graalpy-jbang/templates/graalpy-template.java.qute" : {
2354
- r"//DEPS org.graalvm.python:python [^:]*:\${env.GRAALPY_VERSION:(\d+\.\d+)(?:\.\d+)*" : hardcoded_ver_is_too_far_behind_master ,
2346
+ r"//DEPS org.graalvm.python:graalpy-jbang [^:]*:\${env.GRAALPY_VERSION:(\d+\.\d+)(?:\.\d+)*" : hardcoded_ver_is_behind_major_minor ,
2355
2347
},
2356
2348
"graalpython/graalpy-archetype-polyglot-app/src/main/resources/archetype-resources/pom.xml" : {
2357
2349
r'<graalpy.version>(\d+\.\d+)(?:\.\d+)*</graalpy.version>' : hardcoded_ver_is_behind_major_minor ,
@@ -2363,13 +2355,17 @@ def hardcoded_ver_is_behind_major_minor(m):
2363
2355
with open (full_path , "r" , encoding = "utf-8" ) as f :
2364
2356
content = f .read ()
2365
2357
for pattern , test in patterns .items ():
2358
+ patternString = pattern
2366
2359
pattern = re .compile (pattern , flags = re .M )
2367
- start = 0
2368
- while m := pattern .search (content , start ):
2369
- mx .logvv (f"[{ SUITE .name } ] { path } with hardcoded version `{ m .group ()} '" )
2370
- if msg := test (m ):
2371
- replacements .add ((path , msg ))
2372
- start = m .end ()
2360
+ if not pattern .search (content , 0 ):
2361
+ replacements .add ((path , f"Found no occurrence of pattern '${ patternString } '" ))
2362
+ else :
2363
+ start = 0
2364
+ while m := pattern .search (content , start ):
2365
+ mx .logvv (f"[{ SUITE .name } ] { path } with hardcoded version `{ m .group ()} '" )
2366
+ if msg := test (m ):
2367
+ replacements .add ((path , msg ))
2368
+ start = m .end ()
2373
2369
if replacements :
2374
2370
mx .abort ("\n " .join ([
2375
2371
": " .join (r ) for r in replacements
0 commit comments