MavenModuleSet parent = src.getParent(); if (!parent.isDisableTriggerDownstreamProjects()) { DependencyGraph.Dependency dep = new MavenModuleDependency(nodeOf(src), nodeOf(this)); if (!dep.pointsItself()) { graph.addDependency(dep);
AbstractProject<?,?> downstreamProject = getDownstreamProject(); boolean ignoreUnsuccessfulUpstreams = ignoreUnsuccessfulUpstreams(downstreamProject); AbstractMavenProject<?,?> parent = (AbstractMavenProject<?,?>) getUpstreamProject(); if (areUpstreamsBuilding(downstreamProject, parent, listener)) { return false; else if (inDownstreamProjects(downstreamProject)) { listener.getLogger().println("Not triggering " + ModelHyperlinkNote.encodeTo(downstreamProject) + " because it has dependencies in the downstream project list"); return false;
AbstractProject<?,?> downstreamProject = getDownstreamProject(); if(AbstractMavenBuild.debug) listener.getLogger().println("Considering whether to trigger "+downstreamProject+" or not"); AbstractMavenProject<?,?> parent = (AbstractMavenProject<?,?>) getUpstreamProject(); if (areUpstreamsBuilding(downstreamProject, parent)) { if(AbstractMavenBuild.debug) listener.getLogger().println(" -> No, because downstream has dependencies already building or in queue"); else if (inDownstreamProjects(downstreamProject)) { if(AbstractMavenBuild.debug) listener.getLogger().println(" -> No, because downstream has dependencies in the downstream projects list");
MavenModule src = modules.get(d); if(src!=null) { DependencyGraph.Dependency dep = new MavenModuleDependency( src.getParent().isAggregatorStyleBuild() ? src.getParent() : src,dest); if (!dep.pointsItself())
private boolean inDownstreamProjects(AbstractProject<?,?> downstreamProject) { DependencyGraph graph = Jenkins.getInstance().getDependencyGraph(); Set<AbstractProject> tups = graph.getTransitiveUpstream(downstreamProject); for (AbstractProject tup : tups) { List<AbstractProject<?,?>> downstreamProjects = getUpstreamProject().getDownstreamProjects(); for (AbstractProject<?,?> dp : downstreamProjects) { if(dp!=getUpstreamProject() && dp!=downstreamProject && dp==tup) return true; } } return false; } }
private boolean inDownstreamProjects(AbstractProject<?,?> downstreamProject) { DependencyGraph graph = Hudson.getInstance().getDependencyGraph(); Set<AbstractProject> tups = graph.getTransitiveUpstream(downstreamProject); for (AbstractProject tup : tups) { List<AbstractProject<?,?>> downstreamProjects = getUpstreamProject().getDownstreamProjects(); for (AbstractProject<?,?> dp : downstreamProjects) { if(dp!=getUpstreamProject() && dp!=downstreamProject && dp==tup) return true; } } return false; } }