public static Set getRubyVersionsLinuxSet()

in rake-runner-test/src/jetbrains/slow/plugins/rakerunner/RubyVersionsDataProvider.java [83:132]


  public static Set<String> getRubyVersionsLinuxSet() {
    final String property = System.getProperty("ruby.testing.versions", null);
    if (property != null) {
      final List<String> rubies = StringUtil.split(property, " ");
      return new HashSet<String>(rubies);
    }
    if (StringUtil.isTrue(System.getProperty("rake.runner.tests.use.all.rvm.interpreters")) ||
        StringUtil.isTrue(System.getProperty("rake.runner.tests.use.all.interpreters"))) {
      if (RakeRunnerTestUtil.isUseRVM()) {
        final SortedSet<String> rubies = RakeRunnerTestUtil.getRvm().getInstalledRubies();
        // Use latest patch version
        final Map<String, String> m = new HashMap<String, String>();
        for (String ruby : rubies) {
          final String s = ruby.replaceAll("\\-p\\d+", "");
          if (VersionComparatorUtil.compare(m.get(s), ruby) < 0) {
            m.put(s, ruby);
          }
        }
        return new TreeSet<String>(m.values());
      } else if (RakeRunnerTestUtil.isUseRbEnv()) {
        final SortedSet<String> rubies = new TreeSet<String>(RakeRunnerTestUtil.getRbenv().getInstalledVersions());
        // Use latest patch version
        final Map<String, String> m = new HashMap<String, String>();
        for (String ruby : rubies) {
          final String s = ruby.replaceAll("\\-p\\d+", "");
          if (VersionComparatorUtil.compare(m.get(s), ruby) < 0) {
            m.put(s, ruby);
          }
        }
        return new TreeSet<String>(m.values());
      }
    }

    return new HashSet<String>() {
      {
        if (RakeRunnerTestUtil.isUseRVM()) {
          add("ruby-2.5");
          add("ruby-2.6");
          add("ruby-2.7");
          add("jruby");
        } else if (RakeRunnerTestUtil.isUseRbEnv()) {
          add("2.3.7");
          add("2.4.4");
          add("2.5.1");
          add("jruby-9.1.17.0");
          add("jruby-9.2.0.0");
        }
      }
    };
  }