@Deprecated public List<AbstractProject> getChildProjects(ItemGroup base) { return Items.fromNameList(base,childProjects,AbstractProject.class); }
/** * @deprecated as of 1.406 * Use {@link #fromNameList(ItemGroup, String, Class)} */ @Deprecated public static <T extends Item> List<T> fromNameList(String list, Class<T> type) { return fromNameList(null,list,type); }
@SuppressWarnings("unchecked") @Nonnull public List<Job<?, ?>> getChildJobs(@Nonnull AbstractProject<?, ?> owner) { return Items.fromNameList(owner.getParent(), childProjects, (Class<Job<?, ?>>) (Class) Job.class); }
@Override public void buildDependencyGraph(final AbstractProject downstream, DependencyGraph graph) { for (AbstractProject upstream : Items.fromNameList(downstream.getParent(), getUpstreamProjects(), AbstractProject.class)) { graph.addDependency(new DependencyGraph.Dependency(upstream, downstream) { @Override public boolean shouldTriggerBuild(AbstractBuild upstreamBuild, TaskListener listener, List<Action> actions) { return shouldTrigger(upstreamBuild, listener); } }); } }
private Map<Job,Collection<ReverseBuildTrigger>> calculateCache() { try (ACLContext acl = ACL.as(ACL.SYSTEM)) { final Map<Job, Collection<ReverseBuildTrigger>> result = new WeakHashMap<>(); for (Job<?, ?> downstream : Jenkins.getInstance().allItems(Job.class)) { ReverseBuildTrigger trigger = ParameterizedJobMixIn.getTrigger(downstream, ReverseBuildTrigger.class); if (trigger == null) { continue; } List<Job> upstreams = Items.fromNameList(downstream.getParent(), trigger.getUpstreamProjects(), Job.class); LOGGER.log(Level.FINE, "from {0} see upstreams {1}", new Object[]{downstream, upstreams}); for (Job upstream : upstreams) { if (upstream instanceof AbstractProject && downstream instanceof AbstractProject) { continue; // handled specially } Collection<ReverseBuildTrigger> triggers = result.get(upstream); if (triggers == null) { triggers = new LinkedList<>(); result.put(upstream, triggers); } triggers.remove(trigger); triggers.add(trigger); } } return result; } }
/** * @deprecated * Use {@link #getChildProjects(ItemGroup)} */ public List<AbstractProject> getChildProjects() { return Items.fromNameList(childProjects,AbstractProject.class); }
public List<AbstractProject> getChildProjects() { return Items.fromNameList(childProjects,AbstractProject.class); }
public List<AbstractProject> getChildProjects() { return Items.fromNameList(childProjects,AbstractProject.class); }
public List<AbstractProject> getChildProjects() { return Items.fromNameList(childProjects,AbstractProject.class); }
public List<AbstractProject> getChildProjects() { return Items.fromNameList(childProjects, AbstractProject.class); }
/** * @deprecated as of 1.406 * Use {@link #fromNameList(ItemGroup, String, Class)} */ @Deprecated public static <T extends Item> List<T> fromNameList(String list, Class<T> type) { return fromNameList(null,list,type); }
@Deprecated public List<AbstractProject> getChildProjects(ItemGroup base) { return Items.fromNameList(base,childProjects,AbstractProject.class); }
@SuppressWarnings("unchecked") @Nonnull public List<Job<?, ?>> getChildJobs(@Nonnull AbstractProject<?, ?> owner) { return Items.fromNameList(owner.getParent(), childProjects, (Class<Job<?, ?>>) (Class) Job.class); }
public static List<AbstractProject> getProjectList(String projects, ItemGroup context, EnvVars env) { List<AbstractProject> projectList = new ArrayList<>(); // expand variables if applicable StringBuilder projectNames = new StringBuilder(); StringTokenizer tokens = new StringTokenizer(projects, ","); while (tokens.hasMoreTokens()) { if (projectNames.length() > 0) { projectNames.append(','); } projectNames.append(env != null ? env.expand(tokens.nextToken().trim()) : tokens.nextToken().trim()); } projectList.addAll(Items.fromNameList(context, projectNames.toString(), AbstractProject.class)); return projectList; }
/** * @param env Environment variables from which to expand project names; Might be {@code null}. * @param context * The container with which to resolve relative project names. */ public List<AbstractProject> getProjectList(ItemGroup context, EnvVars env) { List<AbstractProject> projectList = new ArrayList<AbstractProject>(); // expand variables if applicable StringBuilder projectNames = new StringBuilder(); StringTokenizer tokens = new StringTokenizer(projects,","); while(tokens.hasMoreTokens()) { if(projectNames.length() > 0) { projectNames.append(','); } projectNames.append(env != null ? env.expand(tokens.nextToken().trim()) : tokens.nextToken().trim()); } projectList.addAll(Items.fromNameList(projectNames.toString(), AbstractProject.class)); return projectList; }
@Override public void buildDependencyGraph(final AbstractProject downstream, DependencyGraph graph) { for (AbstractProject upstream : Items.fromNameList(downstream.getParent(), getUpstreamProjects(), AbstractProject.class)) { graph.addDependency(new DependencyGraph.Dependency(upstream, downstream) { @Override public boolean shouldTriggerBuild(AbstractBuild upstreamBuild, TaskListener listener, List<Action> actions) { return shouldTrigger(upstreamBuild, listener); } }); } }
private Map<Job,Collection<ReverseBuildTrigger>> calculateCache() { try (ACLContext _ = ACL.as(ACL.SYSTEM)) { final Map<Job, Collection<ReverseBuildTrigger>> result = new WeakHashMap<>(); for (Job<?, ?> downstream : Jenkins.getInstance().allItems(Job.class)) { ReverseBuildTrigger trigger = ParameterizedJobMixIn.getTrigger(downstream, ReverseBuildTrigger.class); if (trigger == null) { continue; } List<Job> upstreams = Items.fromNameList(downstream.getParent(), trigger.getUpstreamProjects(), Job.class); LOGGER.log(Level.FINE, "from {0} see upstreams {1}", new Object[]{downstream, upstreams}); for (Job upstream : upstreams) { if (upstream instanceof AbstractProject && downstream instanceof AbstractProject) { continue; // handled specially } Collection<ReverseBuildTrigger> triggers = result.get(upstream); if (triggers == null) { triggers = new LinkedList<>(); result.put(upstream, triggers); } triggers.remove(trigger); triggers.add(trigger); } } return result; } }
/** * this method is required to rebuild the dependency graph of the downstream project * * @param owner owner * @param graph graph */ @Override @SuppressWarnings("rawtypes") public void buildDependencyGraph(final AbstractProject owner, final DependencyGraph graph) { if ((downstreamProjectNames != null) && (downstreamProjectNames.length() > 0)) { for (final Object o : Items.fromNameList(owner.getParent(), downstreamProjectNames, AbstractProject.class)) { final AbstractProject downstream = (AbstractProject) o; if (owner != downstream) { graph.addDependency(createDownstreamDependency(owner, downstream)); } else { removeDownstreamTrigger(this, owner, downstream.getName()); } } } }
upstream = new HashSet<AbstractProject>(Items.fromNameList(req.getParameter("upstreamProjects"),AbstractProject.class));
upstream = new HashSet<AbstractProject>(Items.fromNameList(req.getParameter("upstreamProjects"), AbstractProject.class));