@Override public EnvVars getEnvironment(TaskListener log) throws IOException, InterruptedException { EnvVars env = super.getEnvironment(log); FilePath ws = getWorkspace(); if (ws!=null) // if this is done very early on in the build, workspace may not be decided yet. see HUDSON-3997 env.put("WORKSPACE", ws.getRemote()); project.getScm().buildEnvVars(this,env); if (buildEnvironments!=null) for (Environment e : buildEnvironments) e.buildEnvVars(env); for (EnvironmentContributingAction a : getActions(EnvironmentContributingAction.class)) a.buildEnvVars(this,env); EnvVars.resolve(env); return env; }
public void removeBadges() { List<Action> actions = build.getActions(); List<GroovyPostbuildAction> badgeActions = build.getActions(GroovyPostbuildAction.class); for(GroovyPostbuildAction action : badgeActions) { actions.remove(action); } } public void removeBadge(int index) {
public void removeSummaries() { List<Action> actions = build.getActions(); List<GroovyPostbuildSummaryAction> summaryActions = build.getActions(GroovyPostbuildSummaryAction.class); for(GroovyPostbuildSummaryAction action : summaryActions) { actions.remove(action); } } public void removeSummary(int index) {
private MercurialTagAction findTag(AbstractBuild<?, ?> build) { for (Action action : build.getActions()) { if (action instanceof MercurialTagAction) { MercurialTagAction tag = (MercurialTagAction) action; // HUDSON-12162: differentiate plugins in different subdirs if ((subdir == null && tag.subdir == null) || (subdir != null && subdir.equals(tag.subdir))) { return tag; } } } return null; }
public void removeBadge(int index) { List<Action> actions = build.getActions(); List<GroovyPostbuildAction> badgeActions = build.getActions(GroovyPostbuildAction.class); if(index < 0 || index >= badgeActions.size()) { listener.error("Invalid badge index: " + index + ". Allowed values: 0 .. " + (badgeActions.size()-1)); } else { GroovyPostbuildAction action = badgeActions.get(index); actions.remove(action); } }
public void removeSummary(int index) { List<Action> actions = build.getActions(); List<GroovyPostbuildSummaryAction> summaryActions = build.getActions(GroovyPostbuildSummaryAction.class); if(index < 0 || index >= summaryActions.size()) { listener.error("Invalid summary index: " + index + ". Allowed values: 0 .. " + (summaryActions.size()-1)); } else { GroovyPostbuildSummaryAction action = summaryActions.get(index); actions.remove(action); } }
public GroovyPostbuildSummaryAction createSummary(String icon) { GroovyPostbuildSummaryAction action = new GroovyPostbuildSummaryAction(icon); build.getActions().add(action); return action; } public void removeSummaries() {
private static UserCause retrieveUserCause(AbstractBuild build){ for(CauseAction a : build.getActions(CauseAction.class)){ for(Cause c : a.getCauses()){ if(c instanceof UserCause){ return (UserCause)c; } } } return null; }
@Override public PromotionBadge isMet(PromotionProcess promotionProcess, AbstractBuild<?,?> build) { List<ManualApproval> approvals = build.getActions(ManualApproval.class); for (ManualApproval approval : approvals) { if (approval.name.equals(promotionProcess.getName())) return approval.badge; } return null; }
public List<BuildStateDTO> getBuildStates(final AbstractBuild build) { build.checkPermission(Item.READ); List<BuildStateDTO> states = Lists.newArrayList(); for (BuildStateRecord record : build.getActions(BuildStateRecord.class)) { states.add(record.getState()); } return states; }
private void addJobActions(AbstractBuild build, String buildName) { build.getActions().add(0, new BuildInfoResultAction(getArtifactoryUrl(), build, buildName)); if (isAllowPromotionOfNonStagedBuilds()) { build.getActions().add(new UnifiedPromoteBuildAction(build, this)); } }
@Override public boolean tearDown(AbstractBuild build, BuildListener listener) { Result result = build.getResult(); if (deployBuildInfo && result != null && result.isBetterOrEqualTo(Result.SUCCESS)) { String buildName = BuildUniqueIdentifierHelper.getBuildNameConsiderOverride(ArtifactoryMaven3Configurator.this, build); build.getActions().add(new BuildInfoResultAction(getArtifactoryUrl(), build, buildName)); build.getActions().add(new UnifiedPromoteBuildAction(build, ArtifactoryMaven3Configurator.this)); } return true; } };
public static <T extends Action> List<T> getResult(AbstractBuild<?, ?> build, Result resultThreshold, Class<T> actionClass) { if (build != null && build.getResult() != null && build.getResult().isBetterOrEqualTo(resultThreshold)) { return build.getActions(actionClass); } return Collections.emptyList(); } }
/** {@inheritDoc} */ @Override protected BuildResult perform(final AbstractBuild<?, ?> build, final PluginLogger logger) throws InterruptedException, IOException { TasksParserResult project; logger.log("Scanning workspace files for tasks..."); project = build.getWorkspace().act( new WorkspaceScanner(StringUtils.defaultIfEmpty(getPattern(), DEFAULT_PATTERN), getExcludePattern(), getDefaultEncoding(), high, normal, low, ignoreCase)); TasksResult result = new TasksResult(build, getDefaultEncoding(), project, high, normal, low); build.getActions().add(new TasksResultAction(build, this, result)); return result; }
/** {@inheritDoc} */ @Override public BuildResult perform(final AbstractBuild<?, ?> build, final PluginLogger logger) throws InterruptedException, IOException { logger.log("Collecting findbugs analysis files..."); String defaultPattern = isMavenBuild(build) ? MAVEN_DEFAULT_PATTERN : ANT_DEFAULT_PATTERN; FilesParser collector = new FilesParser(logger, StringUtils.defaultIfEmpty(getPattern(), defaultPattern), new FindBugsParser(), isMavenBuild(build), isAntBuild(build)); ParserResult project = build.getWorkspace().act(collector); FindBugsResult result = new FindBugsResult(build, getDefaultEncoding(), project); build.getActions().add(new FindBugsResultAction(build, this, result)); return result; }
/** {@inheritDoc} */ @Override public BuildResult perform(final AbstractBuild<?, ?> build, final PluginLogger logger) throws InterruptedException, IOException { logger.log("Collecting PMD analysis files..."); FilesParser pmdCollector = new FilesParser(logger, StringUtils.defaultIfEmpty(getPattern(), DEFAULT_PATTERN), new PmdParser(getDefaultEncoding()), isMavenBuild(build), isAntBuild(build)); ParserResult project = build.getWorkspace().act(pmdCollector); PmdResult result = new PmdResult(build, getDefaultEncoding(), project); build.getActions().add(new PmdResultAction(build, this, result)); return result; }
/** {@inheritDoc} */ @Override public BuildResult perform(final AbstractBuild<?, ?> build, final PluginLogger logger) throws InterruptedException, IOException { logger.log("Collecting checkstyle analysis files..."); FilesParser parser = new FilesParser(logger, StringUtils.defaultIfEmpty(getPattern(), DEFAULT_PATTERN), new CheckStyleParser(getDefaultEncoding()), isMavenBuild(build), isAntBuild(build)); ParserResult project = build.getWorkspace().act(parser); CheckStyleResult result = new CheckStyleResult(build, getDefaultEncoding(), project); build.getActions().add(new CheckStyleResultAction(build, this, result)); return result; }
/** {@inheritDoc} */ @Override public BuildResult perform(final AbstractBuild<?, ?> build, final PluginLogger logger) throws InterruptedException, IOException { logger.log("Collecting duplicate code analysis files..."); FilesParser dryCollector = new FilesParser(logger, StringUtils.defaultIfEmpty(getPattern(), DEFAULT_DRY_PATTERN), new DuplicationParserRegistry(getNormalThreshold(), getHighThreshold(), build.getWorkspace().getRemote()), isMavenBuild(build), isAntBuild(build)); ParserResult project = build.getWorkspace().act(dryCollector); DryResult result = new DryResult(build, getDefaultEncoding(), project); build.getActions().add(new DryResultAction(build, this, result)); return result; }
@Override public BuildResult perform(final AbstractBuild<?, ?> build, final PluginLogger logger) throws InterruptedException, IOException { logger.log("Collecting PMD analysis files..."); FilesParser pmdCollector = new FilesParser(PLUGIN_NAME, StringUtils.defaultIfEmpty(getPattern(), DEFAULT_PATTERN), new PmdParser(getDefaultEncoding()), shouldDetectModules(), isMavenBuild(build)); ParserResult project = build.getWorkspace().act(pmdCollector); logger.logLines(project.getLogMessages()); PmdResult result = new PmdResult(build, getDefaultEncoding(), project, useOnlyStableBuildsAsReference()); build.getActions().add(new PmdResultAction(build, this, result)); return result; }
@Override public BuildResult perform(final AbstractBuild<?, ?> build, final PluginLogger logger) throws InterruptedException, IOException { logger.log("Collecting findbugs analysis files..."); String defaultPattern = isMavenBuild(build) ? MAVEN_DEFAULT_PATTERN : ANT_DEFAULT_PATTERN; FilesParser collector = new FilesParser(PLUGIN_NAME, StringUtils.defaultIfEmpty(getPattern(), defaultPattern), new FindBugsParser(isRankActivated), shouldDetectModules(), isMavenBuild(build)); ParserResult project = build.getWorkspace().act(collector); logger.logLines(project.getLogMessages()); FindBugsResult result = new FindBugsResult(build, getDefaultEncoding(), project, useOnlyStableBuildsAsReference()); build.getActions().add(new FindBugsResultAction(build, this, result)); return result; }