public static Versions find()

in src/main/java/org/apache/cassandra/distributed/shared/Versions.java [132:163]


    public static Versions find()
    {
        final String dtestJarDirectory = System.getProperty(PROPERTY_PREFIX + "test.dtest_jar_path", "build");
        final File sourceDirectory = new File(dtestJarDirectory);
        logger.info("Looking for dtest jars in " + sourceDirectory.getAbsolutePath());
        final Pattern pattern = Pattern.compile("dtest-(?<fullversion>(\\d+)\\.(\\d+)((\\.|-alpha|-beta|-rc)([0-9]+))?(\\.\\d+)?)([~\\-]\\w[.\\w]*(?:\\-\\w[.\\w]*)*)?(\\+[.\\w]+)?\\.jar");
        final Map<Semver, List<Version>> versions = new HashMap<>();

        if (sourceDirectory.exists())
        {
            for (File file : sourceDirectory.listFiles())
            {
                Matcher m = pattern.matcher(file.getName());
                if (!m.matches())
                    continue;
                Semver version = new Semver(m.group(1), SemverType.LOOSE);
                Semver series = first(version);
                versions.putIfAbsent(series, new ArrayList<>());
                versions.get(series).add(new Version(version, new URL[]{ toURL(file) }));
            }
        }

        for (Map.Entry<Semver, List<Version>> e : versions.entrySet())
        {
            if (e.getValue().isEmpty())
                continue;
            Collections.sort(e.getValue(), Collections.reverseOrder());
            System.out.println("Found " + e.getValue().stream().map(v -> v.version.getOriginalValue()).collect(Collectors.joining(", ")));
        }

        return new Versions(versions);
    }