use of aQute.bnd.osgi.Domain in project bndtools by bndtools.
the class MavenWorkspaceRepository method getBsnFromMavenProject.
private String getBsnFromMavenProject(MavenProject mavenProject) throws Exception {
final File bundleFile = getBundleFile(mavenProject);
if (bundleFile.exists()) {
Domain domain = Domain.domain(bundleFile);
String bsn = domain.getBundleSymbolicName().getKey();
return bsn;
}
return null;
}
use of aQute.bnd.osgi.Domain in project bnd by bndtools.
the class BuilderTest method testMacroBasedExpansion.
/**
* This test checks if
*
* @throws Exception
*/
public static void testMacroBasedExpansion() throws Exception {
Processor proc = new Processor();
Builder builder = new Builder(proc);
try {
builder.setProperty("Export-Package", "${spec.packages}");
proc.setProperty("spec.packages", "${core.packages}, ${cmpn.packages}, ${mobile.packages}");
proc.setProperty("core.specs", "org.osgi.service.packageadmin, org.osgi.service.permissionadmin");
proc.setProperty("core.packages", "${replace;${core.specs};.+;$0.*}");
proc.setProperty("cmpn.specs", "org.osgi.service.event, org.osgi.service.cu");
proc.setProperty("cmpn.packages", "${replace;${cmpn.specs};.+;$0.*}");
proc.setProperty("mobile.specs", "org.osgi.service.wireadmin, org.osgi.service.log, org.osgi.service.cu");
proc.setProperty("mobile.packages", "${replace;${mobile.specs};.+;$0.*}");
builder.addClasspath(IO.getFile("jar/osgi.jar"));
Jar jar = builder.build();
// The total set is not uniqued so we're having an unused pattern
// this could be solved with ${uniq;${spec.packages}} but this is
// just
// another test
assertTrue(builder.check("Unused Export-Package instructions: \\[org.osgi.service.cu.\\*~\\]"));
Domain domain = Domain.domain(jar.getManifest());
Parameters h = domain.getExportPackage();
assertTrue(h.containsKey("org.osgi.service.cu"));
assertTrue(h.containsKey("org.osgi.service.cu.admin"));
} finally {
builder.close();
proc.close();
}
}
use of aQute.bnd.osgi.Domain in project bnd by bndtools.
the class ContractTest method testUnused.
/**
* Make sure we do not add a contract if not used
*
* @throws Exception
*/
public void testUnused() throws Exception {
Jar bjara = getContractExporter("atest", "2.5", "${exports}");
Builder a = newBuilder();
a.setTrace(true);
a.addClasspath(bjara);
a.setProperty(Constants.CONTRACT, "*");
a.setImportPackage("test.packageinfo,*");
a.setProperty("Export-Package", "test.refer");
Jar ajar = a.build();
assertTrue(a.check());
Domain domain = Domain.domain(ajar.getManifest());
Parameters p = domain.getRequireCapability();
p.remove("osgi.ee");
assertEquals(0, p.size());
}
use of aQute.bnd.osgi.Domain in project bnd by bndtools.
the class ContractTest method testSimple.
public void testSimple() throws Exception {
Jar bjar = getContractExporter("test", "2.5", "${exports}");
Builder a = newBuilder();
a.setTrace(true);
a.addClasspath(bjar);
a.setProperty(Constants.CONTRACT, "*");
a.setImportPackage("org.osgi.service.cm,*");
a.setProperty("Export-Package", "test.refer");
Jar ajar = a.build();
assertTrue(a.check());
Domain domain = Domain.domain(ajar.getManifest());
Parameters rc = domain.getRequireCapability();
rc.remove("osgi.ee");
System.out.println(rc);
assertEquals(1, rc.size());
Packages ps = a.getImports();
assertTrue(ps.containsFQN("org.osgi.service.cm"));
Attrs attrs = ps.getByFQN("org.osgi.service.cm");
assertNotNull(attrs);
assertNull(attrs.getVersion());
}
use of aQute.bnd.osgi.Domain in project bnd by bndtools.
the class ContractTest method testWarningVersion.
/**
* Test the warnings that we have no no version
*
* @throws Exception
*/
public void testWarningVersion() throws Exception {
Jar bjara = getContractExporter("abc", (String[]) null, "${exports}");
Builder a = newBuilder();
a.setTrace(true);
a.addClasspath(bjara);
a.setProperty(Constants.CONTRACT, "*");
a.setImportPackage("test.packageinfo,*");
a.setProperty("Export-Package", "test.refer");
Jar ajar = a.build();
assertTrue(a.check("Contract \\[name=abc;version=0.0.0;from=biz.aQute.bndlib.tests] does not declare a version"));
Domain domain = Domain.domain(ajar.getManifest());
Parameters p = domain.getRequireCapability();
p.remove("osgi.ee");
assertEquals(0, p.size());
}
Aggregations