use of aQute.bnd.maven.support.Maven in project bnd by bndtools.
the class MavenTest method testMavenRepo.
/**
* See if we can create a maven repostory as a plugin
*
* @throws Exception
*/
public static void testMavenRepo() throws Exception {
Workspace ws = Workspace.getWorkspace(cwd.getParentFile());
Maven maven = ws.getMaven();
Processor processor = new Processor(ws);
processor.setProperty(Constants.PLUGIN, "aQute.bnd.maven.support.MavenRemoteRepository;repositories=testresources/ws/maven1/m2");
MavenRemoteRepository mr = processor.getPlugin(MavenRemoteRepository.class);
assertNotNull(mr);
assertEquals(maven, mr.getMaven());
// Cleanup the maven cache so we do not get random results
MavenEntry me = maven.getEntry("org.apache.commons", "com.springsource.org.apache.commons.beanutils", "1.6.1");
assertNotNull(me);
me.remove();
Map<String, String> map = MAP.$("groupId", "org.apache.commons");
File file = mr.get("com.springsource.org.apache.commons.beanutils", "1.6.1", Strategy.LOWEST, map);
assertNotNull(file);
assertEquals("com.springsource.org.apache.commons.beanutils-1.6.1.jar", file.getName());
assertTrue(file.isFile());
Map<String, String> map2 = MAP.$("groupId", "org.apache.commons").$("scope", "compile");
file = mr.get("com.springsource.org.apache.commons.beanutils", "1.6.1", Strategy.LOWEST, map2);
assertNotNull(file);
assertTrue(file.isFile());
assertEquals("compile.lib", file.getName());
String lib = IO.collect(file);
System.err.println(lib);
lib = lib.replaceAll("org.apache.commons\\+com.springsource.org.apache.commons.beanutils;version=\"1.6.1\"", "1");
lib = lib.replaceAll("org.apache.commons\\+com.springsource.org.apache.commons.collections;version=\"2.1.1\"", "2");
lib = lib.replaceAll("org.apache.commons\\+com.springsource.org.apache.commons.logging;version=\"1.0.4\"", "3");
assertEquals("1\n2\n3\n", lib);
}
use of aQute.bnd.maven.support.Maven in project bnd by bndtools.
the class MavenTest method testMavenRepo1.
/**
* Test the maven remote repository
*/
public static void testMavenRepo1() throws Exception {
Maven maven = new Maven(null);
MavenRemoteRepository mr = new MavenRemoteRepository();
mr.setMaven(maven);
MavenEntry me = maven.getEntry("org.apache.commons", "com.springsource.org.apache.commons.beanutils", "1.6.1");
me.remove();
me = maven.getEntry("org.apache.commons", "com.springsource.org.apache.commons.collections", "2.1.1");
me.remove();
me = maven.getEntry("org.apache.commons", "com.springsource.org.apache.commons.logging", "1.0.4");
me.remove();
mr.setRepositories(new URI[] { IO.getFile(new File("").getAbsoluteFile(), "testresources/ws/maven1/m2").toURI() });
Map<String, String> map = new HashMap<String, String>();
map.put("scope", "compile");
File file = mr.get("org.apache.commons+com.springsource.org.apache.commons.beanutils", "1.6.1", Strategy.LOWEST, map);
assertNotNull(file);
assertTrue(file.isFile());
assertEquals("org.apache.commons+com.springsource.org.apache.commons.beanutils;version=\"1.6.1\"\n" + "org.apache.commons+com.springsource.org.apache.commons.collections;version=\"2.1.1\"\n" + "org.apache.commons+com.springsource.org.apache.commons.logging;version=\"1.0.4\"\n", IO.collect(file));
file = mr.get("org.apache.commons+com.springsource.org.apache.commons.beanutils", "1.6.1", Strategy.LOWEST, null);
assertEquals("com.springsource.org.apache.commons.beanutils-1.6.1.jar", file.getName());
}
use of aQute.bnd.maven.support.Maven in project bnd by bndtools.
the class MavenTest method testProjectPom.
/**
* Test parsing a project pom
*
* @throws Exception
*/
public static void testProjectPom() throws Exception {
Maven maven = new Maven(null);
ProjectPom pom = maven.createProjectModel(IO.getFile(cwd, "testresources/ws/maven1/testpom.xml"));
assertEquals("artifact", pom.getArtifactId());
assertEquals("group-parent", pom.getGroupId());
assertEquals("1.0.0", pom.getVersion());
assertEquals("Artifact", pom.getName());
assertEquals("Parent Description\n\nDescription artifact", pom.getDescription());
List<Dependency> dependencies = pom.getDependencies();
// dep1
boolean dep1 = false;
// artifact (after macro)
boolean dep2 = false;
// junit
boolean dep3 = false;
// easymock
boolean dep4 = false;
for (Dependency dep : dependencies) {
String artifactId = dep.getArtifactId();
if ("dep1".equals(artifactId)) {
assertFalse(dep1);
dep1 = true;
assertEquals("xyz", dep.getGroupId());
assertEquals("1.0.1", dep.getVersion());
assertEquals(Pom.Scope.valueOf("compile"), dep.getScope());
} else if ("artifact".equals(artifactId)) {
assertFalse(dep2);
dep2 = true;
assertEquals("group-parent", dep.getGroupId());
assertEquals("1.0.2", dep.getVersion());
assertEquals(Pom.Scope.valueOf("compile"), dep.getScope());
} else if ("junit".equals(artifactId)) {
assertFalse(dep3);
dep3 = true;
assertEquals("junit", dep.getGroupId());
assertEquals("4.0", dep.getVersion());
assertEquals(Pom.Scope.valueOf("test"), dep.getScope());
} else if ("easymock".equals(artifactId)) {
assertFalse(dep4);
dep4 = true;
assertEquals("org.easymock", dep.getGroupId());
assertEquals("2.4", dep.getVersion());
assertEquals(Pom.Scope.valueOf("compile"), dep.getScope());
} else
fail("'" + artifactId + "'");
}
assertTrue(dep1 && dep2 && dep3 && dep4);
assertEquals("aa", pom.getProperty("a"));
assertEquals("b from parent", pom.getProperty("b"));
assertEquals("aab from parentartifact", pom.getProperty("c"));
}
use of aQute.bnd.maven.support.Maven 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);
}
}
use of aQute.bnd.maven.support.Maven in project bnd by bndtools.
the class MavenTest method testMavenx.
public static void testMavenx() throws Exception {
Maven maven = new Maven(null);
CachedPom pom = maven.getPom("javax.xml.bind", "com.springsource.javax.xml.bind", "2.2.0", new URI("http://repository.springsource.com/maven/bundles/release"), new URI("http://repository.springsource.com/maven/bundles/external"));
// Pom pom = maven.getPom("javax.xml.ws",
// "com.springsource.javax.xml.ws", "2.1.1", new
// URL("http://repository.springsource.com/maven/bundles/release"), new
// URL("http://repository.springsource.com/maven/bundles/external"));
System.err.println(pom.getGroupId() + " + " + pom.getArtifactId() + "-" + pom.getVersion());
System.err.println(pom.getDependencies(Pom.Scope.compile));
File artifact = pom.getArtifact();
System.err.println(artifact);
}
Aggregations