On 01/31/2013 08:41 PM, Nick Edgar wrote:
what the general requirements are for compiling/building/packaging Jenkins 
plugins.

$ git clone git://github.com/jenkinsci/${id}-plugin.git && mvn -f 
${id}-plugin/pom.xml package

Normally updates are released by developers when they feel ready, using

$ mvn -B release:prepare release:perform

Is it possible to contribute just the built .hpi file?

Of course you can make any plugin freely downloadable from wherever you choose and, if desired, host its sources in whatever form and however you choose. But I suppose what you are really asking is whether you can make your *.hpi available on the standard update center [1].

I do not know of any precedent for publishing a plugin in this fashion without it also being buildable in the conventional way from source. I do know of a plugin from Sonatype [2] which just adds an extra update center to Jenkins—then they host their “real” plugins (not OSS) on their own server. So you make it straightforward for users to obtain your integration, without any particular requirements on how it is built and deployed.

If the source is contributed, is it normally compiled together with the main 
Jenkins code for each build?

No, the POM just refers to whatever baseline Jenkins release you prefer to 
assume. (An LTS such as 1.480 is typical.) Plugins and core are published on 
independent timelines.

What about running tests?

Nothing special, handled by Maven. (The standard plugin parent POM defines a test dependency on org.jenkins-ci.main:jenkins-test-harness which allows you to write functional tests.)

I assume you don't have every possible SCM system available in the Jenkins 
build farm.

Most plugins are hosted on GitHub. A few are still kept in Subversion but this 
is discouraged.


[1] http://updates.jenkins-ci.org/download/plugins/
[2] https://github.com/sonatype/sonatype-ci-for-jenkins

--
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/groups/opt_out.


Reply via email to