use of aQute.bnd.build.Project in project bnd by bndtools.
the class ProjectTest method testHashVersionWithAlgorithm.
public void testHashVersionWithAlgorithm() throws Exception {
Workspace ws = getWorkspace(IO.getFile("testresources/ws-versionhash"));
Project project = ws.getProject("p1");
assertNotNull(project);
project.setProperty("-buildpath", "tmp; version=hash; hash=SHA-256:7fe83bfd5999fa4ef9cec40282d5d67dd0ff3303bac6b8c7b0e8be80a821441c");
ArrayList<Container> buildpath = new ArrayList<Container>(project.getBuildpath());
assertEquals(1, buildpath.size());
assertEquals("bar", buildpath.get(0).getManifest().getMainAttributes().getValue("Prints"));
}
use of aQute.bnd.build.Project in project bnd by bndtools.
the class ProjectTest method testLastModified.
/**
* Two subsequent builds should not change the last modified if none of the
* source inputs have been modified.
*
* @throws Exception
*/
public void testLastModified() throws Exception {
Workspace ws = getWorkspace("testresources/ws");
Project project = ws.getProject("p6");
File bnd = IO.getFile("testresources/ws/p6/bnd.bnd");
assertTrue(bnd.exists());
project.clean();
File pt = project.getTarget();
if (!pt.exists() && !pt.mkdirs()) {
throw new IOException("Could not create directory " + pt);
}
try {
// Now we build it.
File[] files = project.build();
assertTrue(project.check());
assertNotNull(files);
assertEquals(1, files.length);
byte[] olderDigest;
try (Jar older = new Jar(files[0])) {
olderDigest = older.getTimelessDigest();
}
System.out.println();
// Ensure system time granularity is < than
Thread.sleep(3000);
// wait
files[0].delete();
project.build();
assertTrue(project.check());
assertNotNull(files);
assertEquals(1, files.length);
byte[] newerDigest;
try (Jar newer = new Jar(files[0])) {
newerDigest = newer.getTimelessDigest();
}
assertTrue(Arrays.equals(olderDigest, newerDigest));
} finally {
project.clean();
}
}
use of aQute.bnd.build.Project in project bnd by bndtools.
the class ProjectTest method testSub.
/**
* Tests the handling of the -sub facility
*
* @throws Exception
*/
public void testSub() throws Exception {
Workspace ws = getWorkspace(IO.getFile("testresources/ws"));
Project project = ws.getProject("p4-sub");
File[] files = project.build();
Arrays.sort(files);
System.err.println(Processor.join(project.getErrors(), "\n"));
System.err.println(Processor.join(project.getWarnings(), "\n"));
assertEquals(0, project.getErrors().size());
assertEquals(0, project.getWarnings().size());
assertNotNull(files);
assertEquals(3, files.length);
try (Jar a = new Jar(files[0]);
Jar b = new Jar(files[1])) {
Manifest ma = a.getManifest();
Manifest mb = b.getManifest();
assertEquals("base", ma.getMainAttributes().getValue("Base-Header"));
assertEquals("base", mb.getMainAttributes().getValue("Base-Header"));
assertEquals("a", ma.getMainAttributes().getValue("Sub-Header"));
assertEquals("b", mb.getMainAttributes().getValue("Sub-Header"));
}
}
use of aQute.bnd.build.Project in project bnd by bndtools.
the class ProjectTest method testRunBundlesContainsSelf.
/**
* Test bnd.bnd of project `foo`: `-runbundles: foo;version=latest`
*/
public void testRunBundlesContainsSelf() throws Exception {
Workspace ws = getWorkspace(IO.getFile("testresources/ws"));
Project top = ws.getProject("p1");
top.setDelayRunDependencies(false);
top.setProperty("-runbundles", "p1;version=latest");
top.setChanged();
top.isStale();
Collection<Container> runbundles = top.getRunbundles();
assertTrue(top.check("Circular dependency"));
assertNotNull(runbundles);
assertEquals(0, runbundles.size());
}
use of aQute.bnd.build.Project in project bnd by bndtools.
the class ProjectTest method testSameBsnRunBundles.
/**
* Test 2 equal bsns but diff. versions
*/
public void testSameBsnRunBundles() throws Exception {
Workspace ws = getWorkspace(IO.getFile("testresources/ws"));
Project top = ws.getProject("p1");
top.setProperty("-runbundles", "org.apache.felix.configadmin;version='[1.0.1,1.0.1]',org.apache.felix.configadmin;version='[1.1.0,1.1.0]'");
Collection<Container> runbundles = top.getRunbundles();
assertTrue(top.check());
assertNotNull(runbundles);
assertEquals(2, runbundles.size());
}
Aggregations