hudson.model.AbstractBuild.isBuilding()方法的使用及代码示例

x33g5p2x  于2022-01-15 转载在 其他  
字(11.5k)|赞(0)|评价(0)|浏览(73)

本文整理了Java中hudson.model.AbstractBuild.isBuilding()方法的一些代码示例,展示了AbstractBuild.isBuilding()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AbstractBuild.isBuilding()方法的具体详情如下:
包路径:hudson.model.AbstractBuild
类名称:AbstractBuild
方法名:isBuilding

AbstractBuild.isBuilding介绍

暂无

代码示例

代码示例来源:origin: jenkinsci/jenkins

/**
 * Convenient version of {@link #translate(Node, EnvVars, TaskListener)} that just takes a build object in progress.
 * @since 1.460
 */
public ToolInstallation translate(AbstractBuild<?,?> buildInProgress, TaskListener listener) throws IOException, InterruptedException {
  assert buildInProgress.isBuilding();
  return translate(buildInProgress.getBuiltOn(),buildInProgress.getEnvironment(listener),listener);
}

代码示例来源:origin: etsy/jenkins-master-project

public boolean isBuilding() {
  for (SubResult subResult : results.values()) {
   AbstractBuild latestSubBuild = subResult.getLatestBuild();
   if (latestSubBuild != null && latestSubBuild.isBuilding()) {
    return true;
   }
  }
  return false;
 }
}

代码示例来源:origin: com.marvelution.jira.plugins/hudson-apiv2-plugin

/**
 * {@inheritDoc}
 */
@Override
public State convertTo(hudson.model.AbstractBuild source, State destination) {
  if (source.isBuilding()) {
    return State.BUILDING;
  } else if (source.hasntStartedYet()) {
    return State.NOT_STARTED;
  } else {
    return State.COMPLETED;
  }
}

代码示例来源:origin: org.jenkins-ci.plugins/build-pipeline-plugin

/**
 * Returns the estimated percentage complete of the current build.
 *
 * @return - Estimated percentage complete of the current build.
 */
public long getBuildProgress() {
  if (this.currentBuild != null && this.currentBuild.isBuilding()) {
    final long duration = new Date().getTime() - this.currentBuild.getTimestamp().getTimeInMillis();
    return calculatePercentage(duration, this.currentBuild.getEstimatedDuration());
  } else {
    return 0;
  }
}

代码示例来源:origin: jenkinsci/promoted-builds-plugin

@Override
public PromotionBadge isMet(PromotionProcess promotionProcess, AbstractBuild<?, ?> build) {
  if (!build.isBuilding()) {
    Result r = build.getResult();
    if ((r == Result.SUCCESS) || (evenIfUnstable && r == Result.UNSTABLE)) {
      return new SelfPromotionBadge();
    }
  }
  return null;
}

代码示例来源:origin: jenkinsci/instant-messaging-plugin

@Override
public String buildStartMessage(IMPublisher publisher, AbstractBuild<?, ?> build, BuildListener listener) throws IOException, InterruptedException {
  StringBuilder sb = new StringBuilder(super.buildStartMessage(publisher, build, listener));
  AbstractBuild<?, ?> previousBuild = build.getPreviousBuild();
  if (previousBuild != null && !previousBuild.isBuilding()) {
    sb.append(" (previous build: ")
      .append(ResultTrend.getResultTrend(previousBuild).getID());
    
    if (previousBuild.getResult().isWorseThan(Result.SUCCESS)) {
      AbstractBuild<?, ?> lastSuccessfulBuild = build.getPreviousSuccessfulBuild();
      if (lastSuccessfulBuild != null) {
        sb.append(" -- last ").append(Result.SUCCESS).append(" ")
          .append(lastSuccessfulBuild.getDisplayName())
          .append(" ").append(lastSuccessfulBuild.getTimestampString()).append(" ago");
      }
    }
    sb.append(")");
  }
  
  return sb.toString();
}

代码示例来源:origin: org.jenkins-ci.main/jenkins-core

/**
 * Convenient version of {@link #translate(Node, EnvVars, TaskListener)} that just takes a build object in progress.
 * @since 1.460
 */
public ToolInstallation translate(AbstractBuild<?,?> buildInProgress, TaskListener listener) throws IOException, InterruptedException {
  assert buildInProgress.isBuilding();
  return translate(buildInProgress.getBuiltOn(),buildInProgress.getEnvironment(listener),listener);
}

代码示例来源:origin: org.hudsonci.plugins/analysis-core

/**
 * Returns the last finished build.
 *
 * @return the last finished build or <code>null</code> if there is no
 *         such build
 */
@CheckForNull
public AbstractBuild<?, ?> getLastFinishedBuild() {
  if (project == null) {
    return null;
  }
  AbstractBuild<?, ?> lastBuild = project.getLastBuild();
  while (lastBuild != null && (lastBuild.isBuilding() || getResultAction(lastBuild) == null)) {
    lastBuild = lastBuild.getPreviousBuild();
  }
  return lastBuild;
}

代码示例来源:origin: org.hudsonci.plugins/instant-messaging

@Override
protected CharSequence getMessageForJob(AbstractProject<?, ?> project) {
  StringBuilder msg = new StringBuilder(32);
  msg.append(project.getFullDisplayName());
  if (project.isDisabled()) {
    msg.append("(disabled) ");
  // a project which is building and additionally in queue should be reported as building
  } else if (project.isBuilding()) {
    msg.append("(BUILDING: ").append(project.getLastBuild().getDurationString()).append(")");
  } else if (project.isInQueue()) {
    msg.append("(in queue) ");
  }
  msg.append(": ");
  AbstractBuild<?, ?> lastBuild = project.getLastBuild();
  while ((lastBuild != null) && lastBuild.isBuilding()) {
    lastBuild = lastBuild.getPreviousBuild();
  }
  if (lastBuild != null) {
    msg.append("last build: ").append(lastBuild.getNumber()).append(" (")
      .append(lastBuild.getTimestampString()).append(" ago): ").append(lastBuild.getResult()).append(": ")
      .append(MessageHelper.getBuildURL(lastBuild));
  } else {
    msg.append("no finished build yet");
  }
  return msg;
}

代码示例来源:origin: Diabol/delivery-pipeline-plugin

@CheckForNull
private AbstractBuild getFirstUpstreamBuild(AbstractProject<?, ?> project, AbstractProject<?, ?> first,
                      Result minResult) {
  RunList<? extends AbstractBuild> builds = project.getBuilds();
  for (AbstractBuild build : builds) {
    if (minResult != null && (build.isBuilding() || build.getResult().isWorseThan(minResult))) {
      continue;
    }
    AbstractBuild upstream = BuildUtil.getFirstUpstreamBuild(build, first);
    if (upstream != null && upstream.getProject().equals(first)) {
      return upstream;
    }
  }
  return null;
}

代码示例来源:origin: org.jenkins-ci.plugins/disk-usage

private void checkAllBuilds(){
  List<AbstractBuild> builds = (List<AbstractBuild>) owner.getBuilds();
  for(AbstractBuild build: builds){
    if(!build.isBuilding()){
      Node node = build.getBuiltOn();
      FilePath path = build.getWorkspace();
      if(path==null)
        continue;
      Map<String,Long> workspacesInfo = diskUsage.slaveWorkspacesUsage.get(node.getNodeName());
      if(workspacesInfo==null){
        workspacesInfo = new ConcurrentHashMap<String,Long>();
        workspacesInfo.put(path.getRemote(), 0L);
      }
      else{
        if(!workspacesInfo.keySet().contains(path.getRemote()))
          workspacesInfo.put(path.getRemote(), 0L);
      }
      getSlaveWorkspaceUsage().put(node.getNodeName(), workspacesInfo);
    }
  }
}

代码示例来源:origin: org.jenkins-ci.plugins/disk-usage

private void checkLoadedBuilds(){
  if(owner instanceof AbstractProject){
    AbstractProject project = (AbstractProject) owner;
    Collection<AbstractBuild> builds = project._getRuns().getLoadedBuilds().values();
    for(AbstractBuild build: builds){
      if(!build.isBuilding()){
        Node node = build.getBuiltOn();
        FilePath path = build.getWorkspace();
        if(path==null)   
          continue;
        Map<String,Long> workspacesInfo = diskUsage.slaveWorkspacesUsage.get(node.getNodeName());
        if(workspacesInfo==null){
          workspacesInfo = new ConcurrentHashMap<String,Long>();
          workspacesInfo.put(path.getRemote(), 0L);
        }
        else{
          if(!workspacesInfo.keySet().contains(path.getRemote()))
            workspacesInfo.put(path.getRemote(), 0L);
        }
        getSlaveWorkspaceUsage().put(node.getNodeName(), workspacesInfo);
      }
    }
  }
}

代码示例来源:origin: org.jvnet.hudson.main/hudson-core

public List<TestResult> getList(int start, int end) {
  List<TestResult> list = new ArrayList<TestResult>();
  end = Math.min(end, testObject.getOwner().getParent().getBuilds().size());
  for (AbstractBuild<?,?> b: testObject.getOwner().getParent().getBuilds().subList(start, end)) {
    if (b.isBuilding()) continue;
    TestResult o = testObject.getResultInBuild(b);
    if (o != null) {
      list.add(o);
    }
  }
  return list;
}

代码示例来源:origin: hudson/hudson-2.x

public List<TestResult> getList(int start, int end) {
  List<TestResult> list = new ArrayList<TestResult>();
  end = Math.min(end, testObject.getOwner().getParent().getBuilds().size());
  for (AbstractBuild<?,?> b: testObject.getOwner().getParent().getBuilds().subList(start, end)) {
    if (b.isBuilding()) continue;
    TestResult o = testObject.getResultInBuild(b);
    if (o != null) {
      list.add(o);
    }
  }
  return list;
}

代码示例来源:origin: org.eclipse.hudson/hudson-core

public List<TestResult> getList(int start, int end) {
  List<TestResult> list = new ArrayList<TestResult>();
  end = Math.min(end, testObject.getOwner().getParent().getBuilds().size());
  for (AbstractBuild<?, ?> b : testObject.getOwner().getParent().getBuilds().subList(start, end)) {
    if (b.isBuilding()) {
      continue;
    }
    TestResult o = testObject.getResultInBuild(b);
    if (o != null) {
      list.add(o);
    }
  }
  return list;
}

代码示例来源:origin: org.eclipse.hudson.main/hudson-core

public List<TestResult> getList(int start, int end) {
  List<TestResult> list = new ArrayList<TestResult>();
  end = Math.min(end, testObject.getOwner().getParent().getBuilds().size());
  for (AbstractBuild<?, ?> b : testObject.getOwner().getParent().getBuilds().subList(start, end)) {
    if (b.isBuilding()) {
      continue;
    }
    TestResult o = testObject.getResultInBuild(b);
    if (o != null) {
      list.add(o);
    }
  }
  return list;
}

代码示例来源:origin: org.jenkins-ci.plugins/build-pipeline-plugin

/**
 * Determines the result for a particular build. Can be one of the following: - BUILDING - SUCCESS - FAILURE - UNSTABLE - NOT_BUILT -
 * ABORT - PENDING - MANUAL
 *
 * @param build
 *            - The build for which a result is requested.
 * @return - String representing the build result
 */
private String getBuildResult(final AbstractBuild<?, ?> build) {
  String buildResult;
  // If AbstractBuild exists determine its current status
  if (build != null) {
    if (build.isBuilding()) {
      buildResult = HudsonResult.BUILDING.toString();
    } else {
      final Result result = build.getResult();
      if (result == null) {
        throw new IllegalStateException("Build with a null result after build has finished");
      }
      buildResult = HudsonResult.values()[result.ordinal].toString();
    }
  } else {
    // Otherwise determine its pending status
    buildResult = getPendingStatus();
  }
  return buildResult;
}

代码示例来源:origin: org.eclipse.hudson.main/hudson-core

/**
 * Build numbers are always synchronized with the parent.
 *
 * <p>
 * Computing this is bit tricky. Several considerations:
 *
 * <ol>
 * <li>A new configuration build #N is started while the parent build #N is building,
 *     and when that happens we want to return N.
 * <li>But the configuration build #N is done before the parent build #N finishes,
 *     and when that happens we want to return N+1 because that's going to be the next one.
 * <li>Configuration builds might skip some numbers if the parent build is aborted
 *     before this configuration is built.
 * <li>If nothing is building right now and the last build of the parent is #N,
 *     then we want to return N+1.
 * </ol>
 */
@Override
public int getNextBuildNumber() {
  AbstractBuild lb = getParent().getLastBuild();
  if(lb==null)    return 0;
  
  int n=lb.getNumber();
  if(!lb.isBuilding())    n++;
  lb = getLastBuild();
  if(lb!=null)
    n = Math.max(n,lb.getNumber()+1);
  return n;
}

代码示例来源:origin: jlewallen/jenkins-hipchat-plugin

static String getStatusMessage(AbstractBuild r) {
  if (r.isBuilding()) {
    return "Starting...";
  }
  Result result = r.getResult();
  Run previousBuild = r.getProject().getLastBuild().getPreviousBuild();
  Result previousResult = (previousBuild != null) ? previousBuild.getResult() : Result.SUCCESS;
  if (result == Result.SUCCESS && previousResult == Result.FAILURE) return "Back to normal";
  if (result == Result.SUCCESS) return "Success";
  if (result == Result.FAILURE) return "<b>FAILURE</b>";
  if (result == Result.ABORTED) return "ABORTED";
  if (result == Result.NOT_BUILT) return "Not built";
  if (result == Result.UNSTABLE) return "Unstable";
  return "Unknown";
}

代码示例来源:origin: Diabol/delivery-pipeline-plugin

public static Status resolveStatus(AbstractProject project, AbstractBuild build, AbstractBuild firstBuild) {
  if (build == null) {
    if (ProjectUtil.isQueued(project, firstBuild)) {
      return StatusFactory.queued(project.getQueueItem().getInQueueSince());
    } else if (project.isDisabled()) {
      return StatusFactory.disabled();
    } else {
      return StatusFactory.idle();
    }
  }
  if (build.isBuilding()) {
    int progress = calculateBuildProgress(build);
    return statusWithProgress(build, progress);
  }
  return getStatusFromResult(build);
}

相关文章

微信公众号

最新文章

更多

AbstractBuild类方法