コード例 #1
0
  /**
   * visit a run
   *
   * @param visitor
   * @param run
   */
  public static void traverse(HudsonVisitor visitor, Run run) {
    if (run instanceof MavenModuleSetBuild) {
      MavenModuleSetBuild item = (MavenModuleSetBuild) run;

      visitor.visitModuleSet(item);

      Map<MavenModule, List<MavenBuild>> modulesMap = item.getModuleBuilds();

      for (List<MavenBuild> builds : modulesMap.values()) {
        for (MavenBuild build : builds) {

          log.trace("Visit mavenBuild {}", build);

          visitor.visitBuild(build);

          MavenArtifactRecord artifacts = build.getAction(MavenArtifactRecord.class);
          if (artifacts != null) {
            visitMavenArtifactRecord(visitor, build, artifacts);
          }
        }
      }
    } else {

      RepositoryArtifactRecords records = run.getAction(RepositoryArtifactRecords.class);
      if (records != null) {
        for (RepositoryArtifactRecord record : records.recordList) {
          visitRepositoryRecord(visitor, run, record);
        }
      }
    }
  }
コード例 #2
0
  /** Visit projects and builds */
  public static void traverseProjectsAndBuilds(HudsonVisitor visitor) {
    for (BuildableItemWithBuildWrappers item :
        Hudson.getInstance().getAllItems(BuildableItemWithBuildWrappers.class)) {

      visitor.visitProject(item);

      List<? extends Run> runs = item.asProject().getBuilds();
      for (Run run : runs) {
        if (run instanceof MavenModuleSetBuild) {
          MavenModuleSetBuild mmsb = (MavenModuleSetBuild) run;

          visitor.visitModuleSet(mmsb);
        }
      }
    }
  }
コード例 #3
0
  private static void visitRepositoryRecord(
      HudsonVisitor visitor, Run build, RepositoryArtifactRecord artifacts) {
    log.trace("Visit Build {} artifacts {}", build, artifacts);
    try {
      visitor.visitArtifact(build, artifacts.pomArtifact);

      if (artifacts.mainArtifact != artifacts.pomArtifact) {
        // Sometimes the POM is the only thing being made..
        visitor.visitArtifact(build, artifacts.mainArtifact);
      }
      for (MavenArtifact art : artifacts.attachedArtifacts) {
        visitor.visitArtifact(build, art);
      }
    } catch (Exception ex) {
      log.error("Error fetching artifact details");
      log.error("Error", ex);
    }
  }
コード例 #4
0
  /**
   * visit everything in order.
   *
   * @param visitor
   */
  public static void traverse(HudsonVisitor visitor) {
    for (BuildableItemWithBuildWrappers item :
        Hudson.getInstance().getAllItems(BuildableItemWithBuildWrappers.class)) {

      visitor.visitProject(item);

      List<? extends Run> runs = item.asProject().getBuilds();
      for (Run run : runs) {
        traverse(visitor, run);
      }
    }
  }