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.