@Override public boolean shouldTriggerBuild(AbstractBuild build, TaskListener listener, List<Action> actions) { if (!config.getCondition().isMet(build.getResult())){ return false; } try { List<Action> actionList = config.getBaseActions(build, listener); if (!actionList.isEmpty()) { actions.addAll(config.getBuildActions(actionList, getDownstreamProject())); return true; } if (config.getTriggerWithNoParameters()) { return true; } listener.getLogger().println("[parameterized-trigger] Downstream builds will not be triggered as no parameter is set."); return false; } catch (AbstractBuildParameters.DontTriggerException ex) { // don't trigger on this configuration return false; } catch (Exception ex) { listener.error("Failed to build parameters to trigger project: " + getDownstreamProject().getName()); ex.printStackTrace(listener.getLogger()); return false; } } }
public ListMultimap<AbstractProject, Future<AbstractBuild>> perform2(AbstractBuild<?, ?> build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException { EnvVars env = build.getEnvironment(listener); env.overrideAll(build.getBuildVariables()); try { if (getCondition().isMet(build.getResult())) { ListMultimap<AbstractProject, Future<AbstractBuild>> futures = ArrayListMultimap.create(); for (List<AbstractBuildParameters> addConfigs : getDynamicBuildParameters(build, listener)) { List<Action> actions = getBaseActions(ImmutableList.<AbstractBuildParameters>builder().addAll(configs).addAll(addConfigs).build(), build, listener); for (AbstractProject project : getProjectList(build.getProject().getParent(),env)) { List<Action> list = getBuildActions(actions, project); futures.put(project, schedule(build, project, list)); } } return futures; } } catch (DontTriggerException e) { // don't trigger on this configuration } return ArrayListMultimap.create(); }
public ListMultimap<Job, Future<Run>> perform3(AbstractBuild<?, ?> build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException { EnvVars env = build.getEnvironment(listener); env.overrideAll(build.getBuildVariables()); try { if (getCondition().isMet(build.getResult())) { ListMultimap<Job, Future<Run>> futures = ArrayListMultimap.create(); for (List<AbstractBuildParameters> addConfigs : getDynamicBuildParameters(build, listener)) { List<Action> actions = getBaseActions(ImmutableList.<AbstractBuildParameters>builder().addAll(configs).addAll(addConfigs).build(), build, listener); for (Job project : getJobs(build.getRootBuild().getProject().getParent(), env)) { List<Action> list = getBuildActions(actions, project); final Future scheduled = schedule(build, project, list, listener); if (scheduled != null) { futures.put(project, scheduled); } else { reportSchedulingError(build, project, listener); } } } return futures; } } catch (DontTriggerException e) { // don't trigger on this configuration } return ArrayListMultimap.create(); }
@Override public boolean shouldTriggerBuild(AbstractBuild build, TaskListener listener, List<Action> actions) { if (!config.getCondition().isMet(build.getResult())){ return false;