static String substituteParameters(String string, AbstractBuild build) { Hashtable<String,String> subst = new Hashtable<String,String>(); subst.put("JOB_NAME", build.getProject().getFullName()); subst.put("BUILD_TAG", "hudson-" + build.getProject().getName() + "-" + String.valueOf(build.getNumber())); subst.put("BUILD_ID", build.getId()); subst.put("BUILD_NUMBER", String.valueOf(build.getNumber())); String result = substituteParameters(string, build.getBuildVariables()); result = substituteParameters(result, subst); return result; }
private void createSymlink(TaskListener listener, String name) throws InterruptedException { Util.createSymlink(getProject().getBuildDir(), "builds/" + getId(), "../" + name, listener); }
private void createSymlink(TaskListener listener, String name) throws InterruptedException { Util.createSymlink(getProject().getBuildDir(),"builds/"+getId(),"../"+name,listener); }
private void createSymlink(TaskListener listener, String name) throws InterruptedException { Util.createSymlink(getProject().getBuildDir(),"builds/"+getId(),"../"+name,listener); }
private void createSymlink(TaskListener listener, String name) throws InterruptedException { Util.createSymlink(getProject().getBuildDir(),"builds/"+getId(),"../"+name,listener); }
@Override public void onDeleted(AbstractBuild build){ DiskUsageProperty property = (DiskUsageProperty) build.getProject().getProperty(DiskUsageProperty.class); if(property==null){ DiskUsageUtil.addProperty(build.getProject()); property = (DiskUsageProperty) build.getProject().getProperty(DiskUsageProperty.class); } Iterator<DiskUsageBuildInformation> iterator = property.getDiskUsageOfBuilds().iterator(); while(iterator.hasNext()){ DiskUsageBuildInformation information = iterator.next(); if(build.getId().equals(information.getId())){ property.getDiskUsageOfBuilds().remove(information); property.saveDiskUsage(); break; } } }
AbstractBuild build = null; for (AbstractBuild b : loadedBuilds){ if(b.getId().equals(information.getId())){ build = b;
/** * 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(); }
/** * @return Disk usage of the build (included child builds) */ public Long getDiskUsage() { AbstractProject project = build.getProject(); DiskUsageProperty property = (DiskUsageProperty) project.getProperty(DiskUsageProperty.class); if(property==null){ DiskUsageUtil.addProperty(project); property = (DiskUsageProperty) project.getProperty(DiskUsageProperty.class); } return property.getDiskUsageOfBuild(build.getId()); }
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(); }
AbstractBuild build = null; for (AbstractBuild b : loadedBuilds){ if(b.getId().equals(information.getId())){ build = b;
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(); }
accountableBuilds.add(upstreamBuild); ChangeLogSet<? extends Entry> changeSet = upstreamBuild.getChangeSet(); if(listener != null ) listener.getLogger().append("[ci-game] UpStream Build ID: " + upstreamBuild.getId()+ "\n"); if(listener != null ) listener.getLogger().append("[ci-game] UpStream Display Name: " + upstreamBuild.getFullDisplayName()+ "\n"); if(listener != null ) listener.getLogger().append("[ci-game] Is UpStream Change Set Empty: " + changeSet.isEmptySet() + "\n");
AbstractBuild build = null; for(AbstractBuild b : loadedBuilds){ if(b.getId().equals(buildId)){ build = b; addBuildDiskUsageAction(build);
/** * Sets up the {@link #project} and {@link #build} mocks. * * This is called from {@link #setupFull()} but can also * be called several times during a test to create more instances. */ public void setup() { String name = "MockProject" + (nameCount++); String buildId = "b" + nameCount; project = mock(AbstractProject.class); doReturn(name).when(project).getFullName(); build = mock(AbstractBuild.class); doReturn(buildId).when(build).getId(); when(build.getProject()).thenReturn(project); when(build.getParent()).thenReturn(project); doReturn(build).when(project).getBuild(eq(buildId)); when(jenkins.getItemByFullName(eq(name), same(AbstractProject.class))).thenReturn(project); when(jenkins.getItemByFullName(eq(name), same(Job.class))).thenReturn(project); triggers = new HashMap<TriggerDescriptor, Trigger<?>>(); when(project.getTriggers()).thenReturn(triggers); }
/** * Sets up the {@link #project} and {@link #build} mocks. * * This is called from {@link #fullSetup()} but can also * be called several times during a test to create more instances. */ void setup() { String name = "MockProject" + (nameCount++); String buildId = "b" + nameCount; project = mock(AbstractProject.class); doReturn(name).when(project).getFullName(); build = mock(AbstractBuild.class); doReturn(buildId).when(build).getId(); when(build.getProject()).thenReturn(project); when(build.getParent()).thenReturn(project); doReturn(build).when(project).getBuild(eq(buildId)); when(jenkins.getItemByFullName(eq(name), same(AbstractProject.class))).thenReturn(project); when(jenkins.getItemByFullName(eq(name), same(Job.class))).thenReturn(project); }
/** * Returns a mocked AbstractBuild. The build will contain a mocked AbstractProject with the provided name and have * the provided buildNumber. * * @param projectFullName the project's name * @param buildNumber the buildNumber. * @return a mock. * @throws Exception if so. */ private AbstractBuild mockBuild(String projectFullName, int buildNumber) throws Exception { AbstractProject project = mockProject(projectFullName); String buildId = projectFullName + "#" + buildNumber; AbstractBuild build = mock(AbstractBuild.class); doReturn(buildId).when(build).getId(); when(build.getProject()).thenReturn(project); when(build.getParent()).thenReturn(project); doReturn(build).when(project).getBuild(eq(buildId)); when(build.getNumber()).thenReturn(buildNumber); EnvVars envVars = Setup.createEnvVars(); doReturn(envVars).when(build).getEnvironment(); doReturn(envVars).when(build).getEnvironment(any(TaskListener.class)); Map<String, String> buildVarsMap = new HashMap<String, String>(); buildVarsMap.put("BUILD_NUM", Integer.toString(buildNumber)); when(build.getBuildVariables()).thenReturn(buildVarsMap); return build; }
target.setType(source.getClass().getName()); target.setUrl(String.format("%s/%s", this.systemService.getUrl(), source.getUrl())); target.setId(source.getId()); target.setNumber(source.getNumber()); target.setDescription(source.getDescription());
when(build.getId()).thenReturn("1"); project = mock(AbstractProject.class); doReturn("MockProject").when(project).getFullName();
env = Setup.createEnvVars(); when(build.getEnvironment(taskListener)).thenReturn(env); when(build.getId()).thenReturn("1"); project = mock(AbstractProject.class); doReturn("MockProject2").when(project).getFullName();