private static Status statusWithProgress(AbstractBuild build, int progress) { return StatusFactory.running( progress, build.getTimeInMillis(), currentTimeMillis() - build.getTimestamp().getTimeInMillis()); }
private static Status getStatusFromResult(AbstractBuild build) { Result result = build.getResult(); if (Result.ABORTED.equals(result)) { return StatusFactory.cancelled(build.getTimeInMillis(), build.getDuration()); } if (Result.SUCCESS.equals(result)) { return StatusFactory.success(build.getTimeInMillis(), build.getDuration(), isBuildPromoted(build), getPromotionStatusList(build)); } if (Result.FAILURE.equals(result)) { return StatusFactory.failed(build.getTimeInMillis(), build.getDuration(), isBuildPromoted(build), getPromotionStatusList(build)); } if (Result.UNSTABLE.equals(result)) { return StatusFactory.unstable(build.getTimeInMillis(), build.getDuration()); } if (Result.NOT_BUILT.equals(result)) { return StatusFactory.notBuilt(build.getTimeInMillis(), build.getDuration()); } throw new IllegalStateException("Result " + result + " not recognized."); }
private PromotionStatus buildNewPromotionStatus(AbstractBuild<?, ?> build, Object status, List<String> params, Object promotionObj) { final Promotion promotion = (Promotion) promotionObj; final String name = promotionStatusWrapper.getName(status); final long startTime = promotion.getStartTimeInMillis(); final long duration = promotion.getTime().getTime() - build.getTimeInMillis(); final String userName = promotion.getUserName(); final String icon = promotionStatusWrapper.getIcon(status, DEFAULT_ICON_SIZE); return new PromotionStatus(name, startTime, duration, userName, icon, params); }
/** * IT is only for backward compatibility to load old data. It breaks lazy loading. * Should be used only one times - updating of plugin * * @deprecated * */ public void loadOldData(){ buildDiskUsage = new HashSet<DiskUsageBuildInformation>(); List<Run> list = job.getBuilds(); for(Run run : list){ if(run instanceof AbstractBuild){ AbstractBuild build = (AbstractBuild) run; BuildDiskUsageAction usage = run.getAction(BuildDiskUsageAction.class); DiskUsageBuildInformation information = new DiskUsageBuildInformation(build.getId(), build.getTimeInMillis(), build.number, 0l); buildDiskUsage.add(information); if(usage!=null){ information.setSize(usage.buildDiskUsage); run.getActions().remove(usage); } } } save(); }
public synchronized void loadFirstTime(){ load(); buildDiskUsage = new HashSet<DiskUsageBuildInformation>(); List<Run> list = job.getBuilds(); for(Run run : list){ if(run instanceof AbstractBuild){ AbstractBuild build = (AbstractBuild) run; BuildDiskUsageAction usage = run.getAction(BuildDiskUsageAction.class); DiskUsageBuildInformation information = new DiskUsageBuildInformation(build.getId(), build.getTimeInMillis(), build.number, 0l); buildDiskUsage.add(information); if(usage==null){ run.getActions().add(new BuildDiskUsageAction(build)); try { build.save(); } catch (IOException ex) { Logger.getLogger(ProjectDiskUsage.class.getName()).log(Level.SEVERE, null, ex); } } else{ information.setSize(usage.buildDiskUsage); } DiskUsageUtil.addBuildDiskUsageAction(build); } } DiskUsageProperty property = (DiskUsageProperty) job.getProperty(DiskUsageProperty.class); property.checkWorkspaces(true); save(); }
protected List<Pipeline> getPipelines(Iterator it, ItemGroup context, int startIndex, int retrieveSize, boolean showChanges) throws PipelineException { List<Pipeline> result = new ArrayList<>(); for (int i = startIndex; i < (startIndex + retrieveSize) && it.hasNext(); i++) { AbstractBuild firstBuild = (AbstractBuild) it.next(); List<Change> pipelineChanges = Change.getChanges(firstBuild); Set<UserInfo> contributors = showChanges ? UserInfo.getContributors(pipelineChanges) : null; String pipeLineTimestamp = TimestampFormat.formatTimestamp(firstBuild.getTimeInMillis()); List<Stage> pipelineStages = new ArrayList<>(); Pipeline pipeline = this; if (showUpstream()) { pipeline = Pipeline.extractPipeline(getName(), firstBuild.getProject(), lastProject, showUpstream()); } for (Stage stage : pipeline.getStages()) { pipelineStages.add(stage.createLatestStage(context, firstBuild)); } Pipeline pipelineLatest = pipelineOf(firstBuild, lastProject, pipeLineTimestamp, contributors, pipelineStages); if (showChanges) { pipelineLatest.setChanges(pipelineChanges); } pipelineLatest.setCommits(pipelineChanges.size()); pipelineLatest.calculateTotalBuildTime(); result.add(pipelineLatest); } return result; }
public FingerprintRecord upload(AbstractBuild<?,?> build, final BuildListener listener, String bucketName, FilePath filePath, int searchPathLength, List<MetadataPair> userMetadata, String storageClass, String selregion, boolean uploadFromSlave, boolean managedArtifacts,boolean useServerSideEncryption, boolean flatten) throws IOException, InterruptedException { if (filePath.isDirectory()) { throw new IOException(filePath + " is a directory"); } String fileName = null; if (flatten) { fileName = filePath.getName(); } else { String relativeFileName = filePath.getRemote(); fileName = relativeFileName.substring(searchPathLength); } Destination dest = new Destination(bucketName, fileName); boolean produced = false; if (managedArtifacts) { dest = Destination.newFromBuild(build, bucketName, filePath.getName()); produced = build.getTimeInMillis() <= filePath.lastModified()+2000; } try { S3UploadCallable callable = new S3UploadCallable(produced, accessKey, secretKey, useRole, dest, userMetadata, storageClass, selregion,useServerSideEncryption); if (uploadFromSlave) { return filePath.act(callable); } else { return callable.invoke(filePath); } } catch (Exception e) { throw new IOException("put " + dest + ": " + e); } }
if (run instanceof AbstractBuild) { AbstractBuild<?, ?> build = (AbstractBuild<?, ?>) run; BuildActivityCache newCache = new BuildActivityCache(build.getTimeInMillis(), job.getFullName(), build.getNumber()); newCache.setCulprit(BuildUtils.getCulpritFromRunnable(build)); updated.add(newCache);
public void setDiskUsage(Long size) throws IOException{ AbstractProject project = build.getProject(); DiskUsageProperty property = (DiskUsageProperty) project.getProperty(DiskUsageProperty.class); if(property==null){ DiskUsageUtil.addProperty(project); property = (DiskUsageProperty) project.getProperty(DiskUsageProperty.class); } DiskUsageBuildInformation information = property.getDiskUsageBuildInformation(build.getId()); if(information!=null){ information.setSize(size); } else{ property.getDiskUsageOfBuilds().add(new DiskUsageBuildInformation(build.getId(), build.getTimeInMillis(), build.getNumber(), size)); } property.saveDiskUsage(); }
information = new DiskUsageBuildInformation(buildId, build.getTimeInMillis(), build.getNumber(), buildSize); property.getDiskUsageOfBuilds().add(information); information = new DiskUsageBuildInformation(buildId, newLoadedBuild.getTimeInMillis(), newLoadedBuild.getNumber(), buildSize); property.getDiskUsageOfBuilds().add(information);
final long buildTimestamp = build.getTimeInMillis();
final long buildTimestamp = build.getTimeInMillis();
final XUnitToolInfo xUnitToolInfo = new XUnitToolInfo(tool, newExpandedPattern, build.getTimeInMillis());
final long buildTimestamp = build.getTimeInMillis();
final long buildTimestamp = build.getTimeInMillis();
final XUnitToolInfo xUnitToolInfo = new XUnitToolInfo(tool, newExpandedPattern, build.getTimeInMillis());
/** * Get a {@link BuildActivity} object from the given {@link BuildActivityCache} and {@link hudson.model.Job} * * @param cache the {@link BuildActivityCache} * @param job the {@link hudson.model.Job} * @return the {@link BuildActivity} */ public Activity getBuildActivityFromCache(BuildActivityCache cache, hudson.model.Job<?, ? extends AbstractBuild<?, ?>> job) { AbstractBuild<?, ?> build = getHudsonBuild(job, cache.getBuild()); BuildActivity activity = new BuildActivity(); activity.setUri(URI.create(Hudson.getInstance().getRootUrl() + build.getUrl())); activity.setSystem(HudsonSystem.getHudsonSystem()); activity.setBuild(DozerUtils.getMapper().map(build, Build.class)); activity.setTimestamp(build.getTimeInMillis()); User user = getUser(cache.getCulprit()); if (User.UNKNOWN.equals(user)) { user = activity.getSystem().getSystemUser(); } activity.setUser(user); return activity; }