/** * Extract the required bundle locations from a feature, omitting bundles that are marked with <code>dependency="true"</code> * * @param feature the Karaf feature * @return the list of required bundle locations */ public static List<String> getRequiredLocations(Feature feature) { List<String> result = new LinkedList<String>(); for (BundleInfo info : feature.getBundles()) { if (!info.isDependency()) { result.add(info.getLocation()); } } return result; }
/** * Extract the required bundle locations from a feature, omitting bundles that are marked with <code>dependency="true"</code> * * @param feature the Karaf feature * @return the list of required bundle locations */ public static List<String> getRequiredLocations(Feature feature) { List<String> result = new LinkedList<String>(); for (BundleInfo info : feature.getBundles()) { if (!info.isDependency()) { result.add(info.getLocation()); } } return result; }
private void copyBundlesConditionalToDestRepository(List<? extends BundleInfo> artifactRefsConditional) throws MojoExecutionException { for (BundleInfo artifactRef : artifactRefsConditional) { if (ignoreDependencyFlag || (!ignoreDependencyFlag && !artifactRef.isDependency())) { Artifact artifact = resourceToArtifact(artifactRef.getLocation(), skipNonMavenProtocols); // Avoid getting NPE on artifact.getFile in some cases resolveArtifact(artifact, remoteRepos); if (artifact != null) { copy(artifact, repository); } } } }
private void copyBundlesConditionalToDestRepository(List<? extends BundleInfo> artifactRefsConditional) throws MojoExecutionException { for (BundleInfo artifactRef : artifactRefsConditional) { if (ignoreDependencyFlag || (!ignoreDependencyFlag && !artifactRef.isDependency())) { Artifact artifact = resourceToArtifact(artifactRef.getLocation(), skipNonMavenProtocols); // Avoid getting NPE on artifact.getFile in some cases resolveArtifact(artifact, remoteRepos); if (artifact != null) { copy(artifact, repository); } } } }
/** * Read bundles and configuration files in the features file. * * @return * @throws MojoExecutionException */ private List<Artifact> readResources(File featuresFile) throws MojoExecutionException { List<Artifact> resources = new ArrayList<>(); try { Features features = JaxbUtil.unmarshal(featuresFile.toURI().toASCIIString(), false); for (Feature feature : features.getFeature()) { for (BundleInfo bundle : feature.getBundles()) { if (ignoreDependencyFlag || (!ignoreDependencyFlag && !bundle.isDependency())) { resources.add(resourceToArtifact(bundle.getLocation(), false)); } } for (ConfigFileInfo configFile : feature.getConfigurationFiles()) { resources.add(resourceToArtifact(configFile.getLocation(), false)); } } return resources; } catch (MojoExecutionException e) { throw e; } catch (Exception e) { throw new MojoExecutionException("Could not interpret features.xml", e); } }
/** * Read bundles and configuration files in the features file. * * @return * @throws MojoExecutionException */ private List<Artifact> readResources(File featuresFile) throws MojoExecutionException { List<Artifact> resources = new ArrayList<>(); try { Features features = JaxbUtil.unmarshal(featuresFile.toURI().toASCIIString(), false); for (Feature feature : features.getFeature()) { for (BundleInfo bundle : feature.getBundles()) { if (ignoreDependencyFlag || (!ignoreDependencyFlag && !bundle.isDependency())) { resources.add(resourceToArtifact(bundle.getLocation(), false)); } } for (ConfigFileInfo configFile : feature.getConfigurationFiles()) { resources.add(resourceToArtifact(configFile.getLocation(), false)); } } return resources; } catch (MojoExecutionException e) { throw e; } catch (Exception e) { throw new MojoExecutionException("Could not interpret features.xml", e); } }
if (!infos.get(res).isDependency()) { resolver.add(res);
if (ignoreDependencyFlag || (!ignoreDependencyFlag && !bundle.isDependency())) { resolveArtifact(bundle.getLocation());
if (ignoreDependencyFlag || (!ignoreDependencyFlag && !bundle.isDependency())) { resolveArtifact(bundle.getLocation());
if (!onlyDependencies || (onlyDependencies && info.isDependency())) { final File resolvedLocation = resolver.resolve(info.getLocation()); if (copyFileToDirectory(resolvedLocation, dest)) {
if (!onlyDependencies || (onlyDependencies && info.isDependency())) { final File resolvedLocation = resolver.resolve(info.getLocation()); if (copyFileToDirectory(resolvedLocation, dest)) {
boolean mandatory = !bi.isDependency() && cond == null; if (bi.isDependency()) { addDependency(res, mandatory, bi.isStart(), sl, bi.isBlacklisted()); } else {
/** * Constructs {@link Resource} for given non-conditional feature. */ public static FeatureResource build(Feature feature, String featureRange, Map<String, ? extends Resource> locToRes) throws BundleException { FeatureResource resource = new FeatureResource(feature); for (BundleInfo info : feature.getBundles()) { if (!info.isDependency() && !info.isBlacklisted()) { Resource res = locToRes.get(info.getLocation()); if (res == null) { throw new IllegalStateException("Resource not found for url " + info.getLocation()); } addIdentityRequirement(resource, res); } } for (Dependency dep : feature.getDependencies()) { if (!dep.isDependency() && !dep.isBlacklisted()) { addDependency(resource, dep, featureRange); } } for (org.apache.karaf.features.Capability cap : feature.getCapabilities()) { resource.addCapabilities(ResourceBuilder.parseCapability(resource, cap.getValue())); } for (org.apache.karaf.features.Requirement req : feature.getRequirements()) { resource.addRequirements(ResourceBuilder.parseRequirement(resource, req.getValue())); } return resource; }