Search in sources :

Example 1 with Pom

use of aQute.bnd.maven.support.Pom in project bnd by bndtools.

the class Project method doMavenPom.

/**
	 * The user selected pom in a path. This will place the pom as well as its
	 * dependencies on the list
	 *
	 * @param strategyx the strategy to use.
	 * @param result The list of result containers
	 * @throws Exception anything goes wrong
	 */
public void doMavenPom(Strategy strategyx, List<Container> result, String action) throws Exception {
    File pomFile = getFile("pom.xml");
    if (!pomFile.isFile())
        msgs.MissingPom();
    else {
        ProjectPom pom = getWorkspace().getMaven().createProjectModel(pomFile);
        if (action == null)
            action = "compile";
        Pom.Scope act = Pom.Scope.valueOf(action);
        Set<Pom> dependencies = pom.getDependencies(act);
        for (Pom sub : dependencies) {
            File artifact = sub.getArtifact();
            Container container = new Container(artifact, null);
            result.add(container);
        }
    }
}
Also used : ProjectPom(aQute.bnd.maven.support.ProjectPom) File(java.io.File) ProjectPom(aQute.bnd.maven.support.ProjectPom) Pom(aQute.bnd.maven.support.Pom)

Example 2 with Pom

use of aQute.bnd.maven.support.Pom in project bnd by bndtools.

the class MavenTest method testRemote.

/**
	 * A test against maven 2
	 * 
	 * @throws Exception
	 * @throws URISyntaxException
	 */
public void testRemote() throws URISyntaxException, Exception {
    URI repo = new URI("http://repo1.maven.org/maven2");
    MavenEntry entry = maven.getEntry("org.springframework", "spring-aspects", "3.0.5.RELEASE");
    entry.remove();
    CachedPom pom = maven.getPom("org.springframework", "spring-aspects", "3.0.5.RELEASE", repo);
    Set<Pom> dependencies = pom.getDependencies(Scope.compile, repo);
    for (Pom dep : dependencies) {
        System.err.printf("%20s %-20s %10s%n", dep.getGroupId(), dep.getArtifactId(), dep.getVersion());
    }
}
Also used : CachedPom(aQute.bnd.maven.support.CachedPom) URI(java.net.URI) MavenEntry(aQute.bnd.maven.support.MavenEntry) ProjectPom(aQute.bnd.maven.support.ProjectPom) CachedPom(aQute.bnd.maven.support.CachedPom) Pom(aQute.bnd.maven.support.Pom)

Example 3 with Pom

use of aQute.bnd.maven.support.Pom in project bnd by bndtools.

the class MavenCommand method view.

void view(String[] args, int i) throws Exception {
    Maven maven = new Maven(executor);
    OutputStream out = System.err;
    List<URI> urls = new ArrayList<URI>();
    while (i < args.length && args[i].startsWith("-")) {
        if ("-r".equals(args[i])) {
            URI uri = new URI(args[++i]);
            urls.add(uri);
            System.err.println("URI for repo " + uri);
        } else if ("-o".equals(args[i])) {
            out = IO.outputStream(Paths.get(args[++i]));
        } else
            throw new IllegalArgumentException("Unknown option: " + args[i]);
        i++;
    }
    URI[] urls2 = urls.toArray(new URI[0]);
    PrintWriter pw = IO.writer(out);
    while (i < args.length) {
        String ref = args[i++];
        pw.println("Ref " + ref);
        Matcher matcher = GROUP_ARTIFACT_VERSION.matcher(ref);
        if (matcher.matches()) {
            String group = matcher.group(1);
            String artifact = matcher.group(2);
            String version = matcher.group(3);
            CachedPom pom = maven.getPom(group, artifact, version, urls2);
            Builder a = new Builder();
            a.setProperty(Constants.PRIVATEPACKAGE, "*");
            Set<Pom> dependencies = pom.getDependencies(Scope.compile, urls2);
            for (Pom dep : dependencies) {
                System.err.printf("%20s %-20s %10s%n", dep.getGroupId(), dep.getArtifactId(), dep.getVersion());
                a.addClasspath(dep.getArtifact());
            }
            pw.println(a.getClasspath());
            a.build();
            TreeSet<PackageRef> sorted = new TreeSet<PackageRef>(a.getImports().keySet());
            for (PackageRef p : sorted) {
                pw.printf("%-40s\n", p);
            }
            // for ( Map.Entry<String, Set<String>> entry :
            // a.getUses().entrySet()) {
            // String from = entry.getKey();
            // for ( String uses : entry.getValue()) {
            // System.err.printf("%40s %s\n", from, uses);
            // from = "";
            // }
            // }
            a.close();
        } else
            System.err.println("Wrong, must look like group+artifact+version, is " + ref);
    }
}
Also used : Maven(aQute.bnd.maven.support.Maven) Matcher(java.util.regex.Matcher) OutputStream(java.io.OutputStream) Builder(aQute.bnd.osgi.Builder) ArrayList(java.util.ArrayList) URI(java.net.URI) CachedPom(aQute.bnd.maven.support.CachedPom) Pom(aQute.bnd.maven.support.Pom) CachedPom(aQute.bnd.maven.support.CachedPom) TreeSet(java.util.TreeSet) PackageRef(aQute.bnd.osgi.Descriptors.PackageRef) PrintWriter(java.io.PrintWriter)

Aggregations

Pom (aQute.bnd.maven.support.Pom)3 CachedPom (aQute.bnd.maven.support.CachedPom)2 ProjectPom (aQute.bnd.maven.support.ProjectPom)2 URI (java.net.URI)2 Maven (aQute.bnd.maven.support.Maven)1 MavenEntry (aQute.bnd.maven.support.MavenEntry)1 Builder (aQute.bnd.osgi.Builder)1 PackageRef (aQute.bnd.osgi.Descriptors.PackageRef)1 File (java.io.File)1 OutputStream (java.io.OutputStream)1 PrintWriter (java.io.PrintWriter)1 ArrayList (java.util.ArrayList)1 TreeSet (java.util.TreeSet)1 Matcher (java.util.regex.Matcher)1