From 18277354929a007dd21f87690b0ccb4b3bd7e5a6 Mon Sep 17 00:00:00 2001 From: Marian Koncek Date: Thu, 25 Jun 2026 17:21:41 +0200 Subject: [PATCH] Generalize retrieval of source RPM from the Testing Farm URL --- .../javapackages/validator/MainTmt.java | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/fedoraproject/javapackages/validator/MainTmt.java b/src/main/java/org/fedoraproject/javapackages/validator/MainTmt.java index 1a1bfe5..e3b16f4 100644 --- a/src/main/java/org/fedoraproject/javapackages/validator/MainTmt.java +++ b/src/main/java/org/fedoraproject/javapackages/validator/MainTmt.java @@ -40,8 +40,6 @@ public class MainTmt extends Main { private Optional TESTING_FARM_GIT_URL = Optional.empty(); private Map> additionalLogs = new TreeMap<>(); - private static final Pattern URL_PACKAGE_NAME_PATTERN = Pattern.compile(".*/rpms/(.*)"); - private static String getenv(String key) { var result = System.getenv(key); if (result == null) { @@ -225,15 +223,27 @@ protected Map select(Map validators) throw @Override protected Iterable findRpms() throws Exception { logger.debug("TESTING_FARM_GIT_URL: {0}", Decorated.plain(TESTING_FARM_GIT_URL.map(String::valueOf).orElse(""))); + var packageName = TESTING_FARM_GIT_URL.map(uri -> { + var uriPath = uri.getPath(); + var begin = uriPath.lastIndexOf('/'); + if (begin == -1) { + begin = 0; + } + var end = uriPath.length(); + if (uriPath.endsWith(".git")) { + end -= 4; + } + return uriPath.substring(begin, end); + }); + packageName.ifPresent(name -> { + logger.debug("Tested source package: {0}", Decorated.plain(name)); + }); var rpms = new ArrayList(); var it = ArgFileIterator.create(parameters.argPaths); while (it.hasNext()) { var rpm = it.next(); - if (TESTING_FARM_GIT_URL.isPresent()) { - var matcher = URL_PACKAGE_NAME_PATTERN.matcher(TESTING_FARM_GIT_URL.get().getPath()); - if (matcher.matches() && !matcher.group(1).equals(rpm.getInfo().getSourceName())) { - continue; - } + if (packageName.isPresent() && packageName.get().equals(rpm.getInfo().getSourceName())) { + continue; } rpms.add(rpm); }