Replies to a few inline...

On Thu, May 5, 2016 at 10:36 PM, Alan Evangelista <ala...@linux.vnet.ibm.com
> wrote:

> Hi,
>
> I'm starting to browse through Jenkins code and I have a lot of questions.
>
> 1) Is there are developer overview documentation? Having to browse through
> Jenkins huge
>    code without any overview/design document to start is daunting.
>
> 2) If I understood correctly, Jenkins UI widgets are implemented in a MVC
> style, similar to Swing. .jelly files
>    are equivalent to Swing's view and Java classes in .java files are used
> to implement Swing's model.
>    Is that correct?
>

No, not really. But it's trying to use some of those principles that each
object can have a view.


> 3) Jenkins UI screens are implemented in a similar way to UI widgets,
> mentioned in (2) ?
>
> 4) Where do I find the mapping between Jenkins URLs and screens? It seems
> to me a library
> used Stapler is used (it is the entry point class defined in
> <servlet-class> in web.xml),
> but I am not sure how it is configured
>

See http://stapler.kohsuke.org/


>
> 5) Where is Jenkins web UI index page (.jelly and Java class ?) in code?
>

https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/jenkins/model/Jenkins.java
https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/jenkins/model/Jenkins.java#L4309
https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/jenkins/model/Jenkins.java#L4361
https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/model/AllView.java
https://github.com/jenkinsci/jenkins/blob/master/core/src/main/resources/hudson/model/View/index.jelly


>
> 6) Where is the Jenkins API entry point (class) ?
>

https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/jenkins/model/Jenkins.java#L1126
https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/model/Api.java


>
> 7) Why there are hudson and jenkins packages? code in 'hudson' package
> uses different
> standards / base (Jenkins or third-party) code, it is code which Jenkins
> currently share with
> the Hudson project or it is "just" a matter of pending renaming?
>
> 8) What exactly is the scope of the code in
> core/src/main/java/jenkins/model/ ? afaik in MVC,
> all non UI-specific codeis in "model" layer, so things like 
> core/src/main/java/scm/,
>
> core/src/main/java/security/ and core/src/main/java/tasks/ would also
> belong to the 'model'
> layer and would be in a 'model' Java package.
>
> 9) I see job metadata ("configuration" in Jenkins terminology) are stored
> as xml. Job instances
> ("builds" in Jenkins terminology) metadata is stored only in filesystem or
> is any database
> used as persistence layer?
>
> 10) Build data structure (eg which attributes are retrieved) obtained via
> Jenkins API is
> implicitly inferred from somewhere or there is a explicit mapping defined
> somewhere?
>
> 11) I'd like to create a plugin which parses every job console output and
> if it finds some
> special keyword/expression (eg "Job output"), it gets the string that
> comes after it,
> formats it and adds that to a "output" attribute returned by the Jenkins
> API (and if
> possible, shown as a separate field in the build metadata in the Jenkins
> web UI).
> Is it possible? Is there any plugin extension point which would allow such
> a feature?
> Could you give me pointers in how to implement it?
>
>
> Any help is welcome.
>
> Regards,
> Alan Evangelista
>
> --
> 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 jenkinsci-dev+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-dev/572BAEE8.5080402%40linux.vnet.ibm.com
> <https://groups.google.com/d/msgid/jenkinsci-dev/572BAEE8.5080402%40linux.vnet.ibm.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Robert Sandell
*Software Engineer*
*CloudBees Inc.*

-- 
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 jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CALzHZS30dYi9tnbqHu%3DRBXTC7ZW%2BeAjdjgpj3%3D6-z5WTTqdt_Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to