On Fri, May 11, 2018 at 11:14 AM, nicolas de loof
<[email protected]> wrote:
> we discover "jenkins" has a "securityRealm" attribute and some
> implementation can be used to set this attribute. This directly defines the
> yaml tree. But the codebase has no reference to this structure.

Right. So, again, the version would not be referring to the existence
or semantics of a `securityRealm` attribute. It would be referring to
the logic that governs how the `Jenkins.getSecurityRealm()` method is
mapped to a YAML attribute of that name, and how a particular
`SecurityRealm` subtype is identified in its value. Now the case of
the attribute name is pretty simple, of course—JavaBeans naming
convention—but there can be more subtle cases: handling of symbol
annotations or lack of them (which already comes up in the handling of
`ldap` in this example!), collection types, getter/setter/constructor
type mismatches, handling of secrets¹, convenience aliases, deprecated
members, and so on.

Experience with the `structs` plugin and its binding to Pipeline
Script in `workflow-cps` indicates that there are plenty of hard
problems to solve and it is not uncommon for the surface syntax to
need to be changed in response. For Pipeline (talking about Scripted
now) we never had a formal “language version” or anything like that,
which has caused plenty of headaches trying to maintain compatibility
with old scripts. I think JCasC will hit analogous issues.


¹Whenever that is actually formalized. As it needs to be, IMO, for
1.0—you cannot just say that the Credentials plugin maintainer is
going to solve this for you.

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr23zwVvy3RQxD7F_POsgDZxMtSt2vgM%3DGugGF913RTS%2Bw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to