private List findJars()

in iep-admin/src/main/java/com/netflix/iep/admin/endpoints/JarsEndpoint.java [86:107]


  private List<JarInfo> findJars(ClassLoader loader) throws IOException {
    List<JarInfo> jarList = new ArrayList<>();
    Enumeration<URL> urls = loader.getResources("META-INF/MANIFEST.MF");
    while (urls.hasMoreElements()) {
      URL url = urls.nextElement();
      Matcher m = JAR_PATTERN.matcher(url.toString());
      if (m.matches()) {
        String name = m.group(1);
        try (InputStream in = url.openStream()) {
          Manifest manifest = new Manifest(in);
          Attributes attrs = manifest.getMainAttributes();
          String buildDate = attrs.getValue("Build-Date");
          String version = attrs.getValue("Implementation-Version");
          jarList.add(new JarInfo(name, buildDate, version));
        } catch (IOException e) {
          LOGGER.debug("failed to load manifest for " + name, e);
          jarList.add(new JarInfo(name, "-", "-"));
        }
      }
    }
    return jarList;
  }