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.

Reply via email to