Search in sources :

Example 41 with Workspace

use of aQute.bnd.build.Workspace in project bnd by bndtools.

the class ProjectTest method testErrorOnVersionIsProjectInRunbundles.

/**
	 * Check if a project=version, which is illegal on -runbundles, is actually
	 * reported as an error.
	 *
	 * @throws Exception
	 */
public void testErrorOnVersionIsProjectInRunbundles() throws Exception {
    Workspace ws = getWorkspace(IO.getFile("testresources/ws"));
    Project top = ws.getProject("p1");
    top.setProperty("-runbundles", "p2;version=project,p3;version=latest");
    top.getRunbundles();
    assertTrue(top.check("p2 is specified with version=project on -runbundles"));
}
Also used : Project(aQute.bnd.build.Project) Workspace(aQute.bnd.build.Workspace)

Example 42 with Workspace

use of aQute.bnd.build.Workspace in project bnd by bndtools.

the class ProjectTest method testPackageInfoType.

/*
	 * Verify that that -versionannotations works. We can be osgi, bnd,
	 * packageinfo, or an annotation. When not set, we are packageinfo
	 */
public void testPackageInfoType() throws Exception {
    Workspace ws = getWorkspace("testresources/ws");
    Project project = ws.getProject("p5");
    project.setTrace(true);
    Version newVersion = new Version(2, 0, 0);
    project.setProperty(Constants.PACKAGEINFOTYPE, "bnd");
    // Package with no package info
    project.setPackageInfo("pkg1", newVersion);
    Version version = project.getPackageInfo("pkg1");
    assertEquals(newVersion, version);
    checkPackageInfoFiles(project, "pkg1", false, true);
    String content = IO.collect(project.getFile("src/pkg1/package-info.java"));
    assertTrue(content.contains("import aQute.bnd.annotation.Version"));
    // Package with package-info.java containing @Version("1.0.0")
    project.setPackageInfo("pkg2", newVersion);
    version = project.getPackageInfo("pkg2");
    assertEquals(newVersion, version);
    checkPackageInfoFiles(project, "pkg2", false, true);
    // new packageinfo must now contain osgi ann.
    project.setProperty(Constants.PACKAGEINFOTYPE, "osgi");
    // Package with package-info.java containing version + packageinfo
    project.setPackageInfo("pkg5", newVersion);
    version = project.getPackageInfo("pkg5");
    assertEquals(newVersion, version);
    checkPackageInfoFiles(project, "pkg5", true, true);
    content = IO.collect(project.getFile("src/pkg5/package-info.java"));
    assertTrue(content.contains("import aQute.bnd.annotation.Version"));
    // Package with package-info.java NOT containing version +
    // packageinfo
    project.setPackageInfo("pkg6", newVersion);
    version = project.getPackageInfo("pkg6");
    assertEquals(newVersion, version);
    checkPackageInfoFiles(project, "pkg6", true, true);
    content = IO.collect(project.getFile("src/pkg6/package-info.java"));
    assertTrue(content.contains("import org.osgi.annotation.versioning.Version"));
    // Package with package-info.java NOT containing version
    project.setPackageInfo("pkg7", newVersion);
    version = project.getPackageInfo("pkg7");
    assertEquals(newVersion, version);
    checkPackageInfoFiles(project, "pkg7", false, true);
    newVersion = new Version(2, 2, 0);
    // Update packageinfo file
    project.setPackageInfo("pkg1", newVersion);
    version = project.getPackageInfo("pkg1");
    assertEquals(newVersion, version);
    checkPackageInfoFiles(project, "pkg1", false, true);
}
Also used : Project(aQute.bnd.build.Project) Version(aQute.bnd.version.Version) Workspace(aQute.bnd.build.Workspace)

Example 43 with Workspace

use of aQute.bnd.build.Workspace in project bnd by bndtools.

the class ProjectTest method testMultipleRepos.

/**
	 * Check multiple repos
	 *
	 * @throws Exception
	 */
public void testMultipleRepos() throws Exception {
    Workspace ws = getWorkspace(IO.getFile("testresources/ws"));
    Project project = ws.getProject("p1");
    project.setPedantic(true);
    System.err.println(project.getBundle("org.apache.felix.configadmin", "1.1.0", Strategy.EXACT, null));
    System.err.println(project.getBundle("org.apache.felix.configadmin", "1.1.0", Strategy.HIGHEST, null));
    System.err.println(project.getBundle("org.apache.felix.configadmin", "1.1.0", Strategy.LOWEST, null));
    List<Container> bundles = project.getBundles(Strategy.LOWEST, "org.apache.felix.configadmin;version=1.1.0,org.apache.felix.configadmin;version=1.1.0", "test");
    assertTrue(project.check("Multiple bundles with the same final URL", "Duplicate name"));
    assertEquals(1, bundles.size());
}
Also used : Project(aQute.bnd.build.Project) Container(aQute.bnd.build.Container) Workspace(aQute.bnd.build.Workspace)

Example 44 with Workspace

use of aQute.bnd.build.Workspace in project bnd by bndtools.

the class ProjectTest method testAddDirToClasspath.

/**
	 * Test if you can add directories and files to the classpath. Originally
	 * checked only for files
	 */
public void testAddDirToClasspath() throws Exception {
    Workspace ws = getWorkspace(IO.getFile("testresources/ws"));
    Project top = ws.getProject("p1");
    top.addClasspath(top.getOutput());
    assertTrue(top.check());
}
Also used : Project(aQute.bnd.build.Project) Workspace(aQute.bnd.build.Workspace)

Example 45 with Workspace

use of aQute.bnd.build.Workspace in project bnd by bndtools.

the class ProjectTest method testRepoFilterBuildPath.

public void testRepoFilterBuildPath() throws Exception {
    Workspace ws = getWorkspace(IO.getFile("testresources/ws"));
    Project project = ws.getProject("repofilter");
    assertNotNull(project);
    project.setProperty("-buildpath", "p3; version='[1,2)'; repo=Relea*");
    ArrayList<Container> buildpath = new ArrayList<Container>(project.getBuildpath());
    assertEquals(1, buildpath.size());
    // Without repos filter we would get lowest version, i.e. 1.0.0 from the
    // repo named "Repo".
    assertEquals("1.1.0", buildpath.get(0).getVersion());
}
Also used : Project(aQute.bnd.build.Project) Container(aQute.bnd.build.Container) ArrayList(java.util.ArrayList) Workspace(aQute.bnd.build.Workspace)

Aggregations

Workspace (aQute.bnd.build.Workspace)171 Project (aQute.bnd.build.Project)71 File (java.io.File)66 Processor (aQute.bnd.osgi.Processor)27 HashMap (java.util.HashMap)22 IOException (java.io.IOException)20 ArrayList (java.util.ArrayList)19 Container (aQute.bnd.build.Container)17 RepositoryPlugin (aQute.bnd.service.RepositoryPlugin)13 Version (aQute.bnd.version.Version)13 Run (aQute.bnd.build.Run)11 IProject (org.eclipse.core.resources.IProject)11 CoreException (org.eclipse.core.runtime.CoreException)10 IResource (org.eclipse.core.resources.IResource)8 BndEditModel (aQute.bnd.build.model.BndEditModel)7 Description (aQute.lib.getopt.Description)7 Bndrun (biz.aQute.resolve.Bndrun)7 Attrs (aQute.bnd.header.Attrs)5 HttpClient (aQute.bnd.http.HttpClient)5 Jar (aQute.bnd.osgi.Jar)5