use of aQute.bnd.osgi.Processor in project bnd by bndtools.
the class PomRepositoryTest method testSearchRepoMultipleConfigurationsDontBreak.
public void testSearchRepoMultipleConfigurationsDontBreak() throws Exception {
Workspace w = Workspace.createStandaloneWorkspace(new Processor(), tmp.toURI());
w.setBase(tmp);
BndPomRepository mcsrBnd320 = new BndPomRepository();
mcsrBnd320.setRegistry(w);
Map<String, String> config = new HashMap<>();
config.put("query", "q=g:biz.aQute.bnd+a:biz.aQute.bnd+AND+v:3.2.0");
config.put("name", "bnd320");
mcsrBnd320.setProperties(config);
BndPomRepository mcsrBnd330 = new BndPomRepository();
mcsrBnd330.setRegistry(w);
config = new HashMap<>();
config.put("query", "q=g:biz.aQute.bnd+a:biz.aQute.bnd+AND+v:3.3.0");
config.put("name", "bnd330");
mcsrBnd330.setProperties(config);
List<String> list320 = mcsrBnd320.list(null);
assertNotNull(list320);
assertEquals(1, list320.size());
List<String> list330 = mcsrBnd330.list(null);
assertNotNull(list330);
assertEquals(1, list330.size());
// check the first repo to make sure it's there.
RequirementBuilder builder = mcsrBnd320.newRequirementBuilder("osgi.identity");
builder.addDirective("filter", "(&(osgi.identity=biz.aQute.bnd)(version>=3.2.0)(!(version>=3.3.0)))");
Promise<Collection<Resource>> providers = mcsrBnd320.findProviders(builder.buildExpression());
Collection<Resource> resources = providers.getValue();
assertFalse(resources.isEmpty());
assertEquals(1, resources.size());
// make sure it's not in the second repo, otherwise the caches are
// messed up.
providers = mcsrBnd330.findProviders(builder.buildExpression());
resources = providers.getValue();
assertTrue(resources.isEmpty());
assertEquals(0, resources.size());
}
use of aQute.bnd.osgi.Processor in project bnd by bndtools.
the class PomRepositoryTest method testDependenciesWithVersionRanges.
public void testDependenciesWithVersionRanges() throws Exception {
BndPomRepository bpr = new BndPomRepository();
Workspace w = Workspace.createStandaloneWorkspace(new Processor(), tmp.toURI());
w.setBase(tmp);
bpr.setRegistry(w);
Map<String, String> config = new HashMap<>();
config.put("revision", "com.mchange:mchange-commons-java:0.2.10");
config.put("snapshotUrls", "https://repo1.maven.org/maven2/");
config.put("releaseUrls", "https://repo1.maven.org/maven2/");
config.put("name", "test");
bpr.setProperties(config);
List<String> list = bpr.list(null);
for (String bsn : list) {
SortedSet<Version> versions = bpr.versions(bsn);
assertEquals(1, versions.size());
Version v = versions.first();
switch(bsn) {
case "log4j:log4j":
assertEquals("1.2.14", v.toString());
break;
case "com.typesafe.config":
assertEquals("1.2.1", v.toString());
break;
case "com.mchange:mchange-commons-java":
assertEquals("0.2.10", v.toString());
break;
case "slf4j.api":
assertEquals("1.7.5", v.toString());
break;
default:
fail(bsn);
}
}
assertNotNull(list);
assertEquals(4, list.size());
}
use of aQute.bnd.osgi.Processor in project bnd by bndtools.
the class PomRepositoryTest method testBndPomRepoFileMissingParent.
public void testBndPomRepoFileMissingParent() throws Exception {
BndPomRepository bpr = new BndPomRepository();
Workspace w = Workspace.createStandaloneWorkspace(new Processor(), tmp.toURI());
w.setBase(tmp);
bpr.setRegistry(w);
Map<String, String> config = new HashMap<>();
config.put("pom", "testdata/pomrepo/missing-parent.xml");
config.put("snapshotUrls", "https://repo1.maven.org/maven2/");
config.put("releaseUrls", "https://repo1.maven.org/maven2/");
config.put("name", "test");
bpr.setProperties(config);
try {
bpr.list(null);
fail("Should throw IllegalArgumentException on missing parent pom.");
} catch (Exception iae) {
// This exception is expected!
}
}
use of aQute.bnd.osgi.Processor in project bnd by bndtools.
the class PomRepositoryTest method testSearchRepoFailNoQuery.
public void testSearchRepoFailNoQuery() throws Exception {
BndPomRepository mcsr = new BndPomRepository();
Workspace w = Workspace.createStandaloneWorkspace(new Processor(), tmp.toURI());
w.setBase(tmp);
mcsr.setRegistry(w);
Map<String, String> config = new HashMap<>();
config.put("name", "test");
try {
mcsr.setProperties(config);
fail();
} catch (Exception e) {
assertEquals("Neither pom, revision nor query property are set", e.getMessage());
}
}
use of aQute.bnd.osgi.Processor in project bnd by bndtools.
the class PomRepositoryTest method testBndPomRepoFile.
public void testBndPomRepoFile() throws Exception {
BndPomRepository bpr = new BndPomRepository();
Workspace w = Workspace.createStandaloneWorkspace(new Processor(), tmp.toURI());
w.setBase(tmp);
bpr.setRegistry(w);
Map<String, String> config = new HashMap<>();
config.put("pom", "testdata/pomrepo/simple.xml");
config.put("snapshotUrls", "https://repo1.maven.org/maven2/");
config.put("releaseUrls", "https://repo1.maven.org/maven2/");
config.put("name", "test");
bpr.setProperties(config);
List<String> list = bpr.list(null);
assertNotNull(list);
assertEquals(1, list.size());
}
Aggregations