On Thu, Apr 3, 2014 at 12:59 PM, Kohsuke Kawaguchi <[email protected]> wrote: > I think our UI got it right in that sense, and I wonder if our failing is > just that we internally normalize these configuration into the Recorder > centric push view. Maybe we just need to start recording them separately.
That is what I have been proposing. Forcibly conflating these into one object—“pseudo-triggers”—makes the UI misleading, complicates security, and causes headaches for people using templatized projects. > I think of DependencyGraph as the cache of which project wants to know which > project is finished. So I think it's still an useful data structure. Not sure. It shows upstream/downstream relationships in the UI, which is desirable. But the real issue is when DG.Dependency.shouldTriggerBuild returns true, meaning BuildTrigger.execute processes everything, and recomputes the dependency order. This happens regardless of the order in which you have configured publishers, which is confusing. The intended use case is I guess to make sure downstream projects are built in the right order, which seems like a cool feature for a few exotic use cases but one that belongs in a plugin, not core. (If it was intended to prevent multiple builds of doubly downstream projects, i.e. “diamond” dependency graphs, it fails. And what is labeled a “topological sort” in a comment is not one.) The alternative is to provide a Notifier (Recorder seems wrong here) and/or Builder, and a true Trigger (but using BuildListener, not CronTab polling), both of them returning false. > let edge abstract away the access control check? Well this part is already possible I think, since each DependencyDeclarer constructs its own Dependency. My current PR does not do it this way, but certainly could. -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
