public Collection findPotentialOSGiBundles()

in winegrower-core/src/main/java/org/apache/winegrower/scanner/StandaloneScanner.java [157:185]


    public Collection<BundleDefinition> findPotentialOSGiBundles() {
        if (potentialBundles != null) {
            return potentialBundles;
        }
        final KnownJarsFilter filter = new KnownJarsFilter(configuration);
        return potentialBundles = urls.stream()
              .map(it -> new FileAndUrl(Files.toFile(it), it))
              .filter(it -> !it.file.getAbsoluteFile().equals(frameworkJar))
              .filter(it -> filter.test(it.file.getName()))
              .filter(it -> toDefinition(it.file) == null)
              .map(it -> {
                  final Archive jarArchive = archive(loader, it.url);
                  // we scan per archive to be able to create bundle after
                  try {
                      final String name = it.file.getName();
                      final Manifest manifest = tryLoadManifest(jarArchive, name);
                      if (manifest == null) {
                          return null;
                      }
                      LOGGER.debug("{} was scanned and is converted to a bundle", it.file);
                      return new BundleDefinition(manifest, it.file, null);
                  } catch (final LinkageError e) {
                      LOGGER.debug("{} is not scannable, maybe exclude it in framework configuration", it.file);
                      return null;
                  }
              })
              .filter(Objects::nonNull)
              .collect(toList());
    }