示例#1
0
  /** Check if the getSubBuilders properly predicts the output. */
  public static void testSubBuilders() throws Exception {
    Workspace ws = Workspace.getWorkspace(new File("test/ws"));
    Project project = ws.getProject("p4-sub");

    Collection<? extends Builder> bs = project.getSubBuilders();
    assertNotNull(bs);
    assertEquals(3, bs.size());
    Set<String> names = new HashSet<String>();
    for (Builder b : bs) {
      names.add(b.getBsn());
    }
    assertTrue(names.contains("p4-sub.a"));
    assertTrue(names.contains("p4-sub.b"));
    assertTrue(names.contains("p4-sub.c"));

    File[] files = project.build();
    assertTrue(project.check());

    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);
    for (File file : files) {
      Jar jar = new Jar(file);
      Manifest m = jar.getManifest();
      assertTrue(names.contains(m.getMainAttributes().getValue("Bundle-SymbolicName")));
    }
  }
  Object[] getProjectBundles(Project project) {
    ProjectBundle[] result = null;
    try {
      Collection<? extends Builder> builders = project.getSubBuilders();
      result = new ProjectBundle[builders.size()];

      int i = 0;
      for (Builder builder : builders) {
        ProjectBundle bundle = new ProjectBundle(project, builder.getBsn());
        result[i++] = bundle;
      }
    } catch (Exception e) {
      logger.logError(
          MessageFormat.format("Error querying sub-bundles for project {0}.", project.getName()),
          e);
    }
    return result;
  }