Quantcast

HOW? build and debug a plugin with a locally built version of jeninks-core

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

HOW? build and debug a plugin with a locally built version of jeninks-core

Marek Gimza
Hi,

Any reply would be helpful.

I have made a slight change to hudson.module.AbstractProject.java in jenkins-core, and to one of the JAVA files in the plugin "jenkinsci-throttle-concurrents-builds".

I have been able to successfully build and debug both separately.

HOW CAN I NOW BUILD and DEBUG THEM BOTH SUCH THAT I CAN DEBUG MY THE CHANGES THAT I HAVE MADE IN BOTH?

I have spent a lot of time reading through the JENKINS WIKI pages and trying out different strategies, but I have reached a dead-end and need some advice.

Thanks in advance,
Mgimza
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: HOW? build and debug a plugin with a locally built version of jeninks-core

slide
I spent a bit of time trying to figure this out as well, its actually
pretty simple. When you run mvn install, it installs that version of
jenkins into you local maven "repo" so all you need to do is make sure
it has its own version and put that version in your pom.xml for the
plugin and it should build and run against the version of jenkins that
you built.

Thanks,

slide

On Mon, Aug 20, 2012 at 9:27 PM, mgimza <[hidden email]> wrote:

> Hi,
>
> Any reply would be helpful.
>
> I have made a slight change to hudson.module.AbstractProject.java in
> jenkins-core, and to one of the JAVA files in the plugin
> "jenkinsci-throttle-concurrents-builds".
>
> I have been able to successfully build and debug both separately.
>
> HOW CAN I NOW BUILD and DEBUG THEM BOTH SUCH THAT I CAN DEBUG MY THE CHANGES
> THAT I HAVE MADE IN BOTH?
>
> I have spent a lot of time reading through the JENKINS WIKI pages and trying
> out different strategies, but I have reached a dead-end and need some
> advice.
>
> Thanks in advance,
> Mgimza



--
Website: http://earl-of-code.com
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: HOW? build and debug a plugin with a locally built version of jeninks-core

Marek Gimza
In reply to this post by Marek Gimza
Slide ,

Thanks for the advice.

Every thing is simple once you know!

Thanks,
mgimza


On Tue, Aug 21, 2012 at 12:27 AM, mgimza <[hidden email]> wrote:
Hi,

Any reply would be helpful.

I have made a slight change to hudson.module.AbstractProject.java in jenkins-core, and to one of the JAVA files in the plugin "jenkinsci-throttle-concurrents-builds".

I have been able to successfully build and debug both separately.

HOW CAN I NOW BUILD and DEBUG THEM BOTH SUCH THAT I CAN DEBUG MY THE CHANGES THAT I HAVE MADE IN BOTH?

I have spent a lot of time reading through the JENKINS WIKI pages and trying out different strategies, but I have reached a dead-end and need some advice.

Thanks in advance,
Mgimza

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: HOW? build and debug a plugin with a locally built version of jeninks-core

Jesse Glick-4
In reply to this post by slide
On 08/21/2012 12:28 AM, Slide wrote:
> all you need to do is make sure it has its own version and put that version in your pom.xml for the plugin

Unfortunately it is a bit messy with the current Jenkins parent POM design. You can either

1. Use the desired *-SNAPSHOT version of org.jenkins-ci.plugins:plugin in <parent>. But 'mvn install' on the Jenkins root POM does not install this because there is no
<module>plugin</module> (why??), so you need to also 'mvn -f plugin/pom.xml' install.

2. Override the versions of each dependency (jenkins-core, jenkins-test-harness, etc.) in your POM. Does not need org.jenkins-ci.plugins:plugin to be built but involves a
lot of redundancy.

There was a recent thread on this list suggesting that the plugin parent POM use a variable ${jenkins.version} to pick the versions of all Jenkins artifacts. We use a
parent POM like this for CloudBees plugins and it is much more convenient: you can simply say 'mvn -Pjenkins.version=1.480-SNAPSHOT clean hpi:run' without editing pom.xml
at all, or define profiles in ~/.m2/settings.xml for particular Jenkins versions like LTS, etc.
Loading...