Search in sources :

Example 21 with Resource

use of aQute.bnd.osgi.Resource in project bnd by bndtools.

the class BuilderTest method testLastModifiedForManifest.

/**
	 * Test if the Manifest gets the last modified date
	 */
public void testLastModifiedForManifest() throws Exception {
    File file = new File("tmp.jar");
    try {
        long time = System.currentTimeMillis();
        Builder b = new Builder();
        b.addClasspath(IO.getFile("jar/osgi.jar"));
        b.setExportPackage("org.osgi.framework");
        Jar build = b.build();
        try {
            assertTrue(b.check());
            build.write("tmp.jar");
            Jar ajr = new Jar(file);
            try {
                Resource r = ajr.getResource("META-INF/MANIFEST.MF");
                assertNotNull(r);
                long t = r.lastModified();
                Date date = new Date(t);
                System.out.println(date + " " + t);
                // TODO we need to adapt the timestamp handling
                assertTrue(date + " " + t, t == 1142555622000L);
            } finally {
                ajr.close();
            }
        } finally {
            build.close();
        }
    } finally {
        file.delete();
    }
}
Also used : Builder(aQute.bnd.osgi.Builder) EmbeddedResource(aQute.bnd.osgi.EmbeddedResource) Resource(aQute.bnd.osgi.Resource) Jar(aQute.bnd.osgi.Jar) File(java.io.File) Date(java.util.Date)

Example 22 with Resource

use of aQute.bnd.osgi.Resource in project bnd by bndtools.

the class ResourcesTest method testIncludeResourceDoNotCopyPath.

public static void testIncludeResourceDoNotCopyPath() throws Exception {
    Builder b = new Builder();
    // Use Properties file otherwise -donotcopy is not picked up
    Properties p = new Properties();
    p.put("-donotcopy", ".*/more/.*");
    p.put("Include-Resource", "TargetFolder=testresources/ws/p2/Resources");
    p.put("-resourceonly", "true");
    p.put("-upto", "3.0");
    b.setProperties(p);
    Jar jar = b.build();
    Resource r = jar.getResource("TargetFolder/resource3.txt");
    assertNotNull(r);
    r = jar.getResource("TargetFolder/resource4.txt");
    assertNotNull(r);
    r = jar.getResource("TargetFolder/more/resource6.txt");
    assertNotNull(r);
    r = jar.getResource("TargetFolder/more/resource7.txt");
    assertNotNull(r);
    r = jar.getResource("TargetFolder/stuff/resource9.res");
    assertNotNull(r);
    r = jar.getResource("TargetFolder/text.txt");
    assertNotNull(r);
}
Also used : Builder(aQute.bnd.osgi.Builder) JarResource(aQute.bnd.osgi.JarResource) Resource(aQute.bnd.osgi.Resource) Jar(aQute.bnd.osgi.Jar) Properties(java.util.Properties)

Example 23 with Resource

use of aQute.bnd.osgi.Resource in project bnd by bndtools.

the class ResourcesTest method testIncludeResourceDirectivesDefault.

public static void testIncludeResourceDirectivesDefault() throws Exception {
    Builder b = new Builder();
    b.setProperty("Include-Resource", "TargetFolder=testresources/ws/p2/Resources");
    b.setProperty("-resourceonly", "true");
    Jar jar = b.build();
    Resource r = jar.getResource("TargetFolder/resource3.txt");
    assertNotNull(r);
    r = jar.getResource("TargetFolder/resource4.txt");
    assertNotNull(r);
    r = jar.getResource("TargetFolder/more/resource6.txt");
    assertNotNull(r);
    r = jar.getResource("TargetFolder/more/resource7.txt");
    assertNotNull(r);
    r = jar.getResource("TargetFolder/stuff/resource9.res");
    assertNotNull(r);
    r = jar.getResource("TargetFolder/text.txt");
    assertNotNull(r);
}
Also used : Builder(aQute.bnd.osgi.Builder) JarResource(aQute.bnd.osgi.JarResource) Resource(aQute.bnd.osgi.Resource) Jar(aQute.bnd.osgi.Jar)

Example 24 with Resource

use of aQute.bnd.osgi.Resource in project bnd by bndtools.

the class ResourcesTest method testIncludeResourceDoNotCopy.

public static void testIncludeResourceDoNotCopy() throws Exception {
    Builder b = new Builder();
    // Use Properties file otherwise -donotcopy is not picked up
    Properties p = new Properties();
    p.put("-donotcopy", "CVS|.svn|stuff");
    p.put("Include-Resource", "TargetFolder=testresources/ws/p2/Resources");
    p.put("-resourceonly", "true");
    b.setProperties(p);
    Jar jar = b.build();
    Resource r = jar.getResource("TargetFolder/resource3.txt");
    assertNotNull(r);
    r = jar.getResource("TargetFolder/resource4.txt");
    assertNotNull(r);
    r = jar.getResource("TargetFolder/more/resource6.txt");
    assertNotNull(r);
    r = jar.getResource("TargetFolder/more/resource7.txt");
    assertNotNull(r);
    r = jar.getResource("TargetFolder/stuff/resource9.res");
    assertNull(r);
    r = jar.getResource("TargetFolder/text.txt");
    assertNotNull(r);
}
Also used : Builder(aQute.bnd.osgi.Builder) JarResource(aQute.bnd.osgi.JarResource) Resource(aQute.bnd.osgi.Resource) Jar(aQute.bnd.osgi.Jar) Properties(java.util.Properties)

Example 25 with Resource

use of aQute.bnd.osgi.Resource in project bnd by bndtools.

the class ResourcesTest method testCommand.

/**
	 * Command facility in Include-Resource
	 */
public void testCommand() throws Exception {
    if (!onWindows()) {
        Builder b = new Builder();
        b.setProperty("Include-Resource", "xkeystore; requires='testresources/keystore';cmd='echo ${@requires}', ");
        b.setProperty("-resourceonly", "true");
        Jar jar = b.build();
        assertTrue(b.check());
        Resource r = jar.getResource("xkeystore");
        assertNotNull(r);
        String s = IO.collect(r.openInputStream());
        assertEquals("testresources/keystore\n", s);
    }
}
Also used : Builder(aQute.bnd.osgi.Builder) JarResource(aQute.bnd.osgi.JarResource) Resource(aQute.bnd.osgi.Resource) Jar(aQute.bnd.osgi.Jar)

Aggregations

Resource (aQute.bnd.osgi.Resource)147 Jar (aQute.bnd.osgi.Jar)87 Builder (aQute.bnd.osgi.Builder)83 File (java.io.File)76 XmlTester (aQute.bnd.test.XmlTester)48 JarResource (aQute.bnd.osgi.JarResource)20 Attributes (java.util.jar.Attributes)20 Map (java.util.Map)19 Manifest (java.util.jar.Manifest)19 FileResource (aQute.bnd.osgi.FileResource)17 LogService (org.osgi.service.log.LogService)15 HashMap (java.util.HashMap)14 Document (org.w3c.dom.Document)14 Properties (java.util.Properties)12 EmbeddedResource (aQute.bnd.osgi.EmbeddedResource)11 DocumentBuilder (javax.xml.parsers.DocumentBuilder)11 InputStream (java.io.InputStream)9 Attrs (aQute.bnd.header.Attrs)8 ArrayList (java.util.ArrayList)8 TreeMap (java.util.TreeMap)8