There is some update for those who are interested in plugin development in 
Python:

The concept of the jenkins.py SDK is more simple than the jenkins.rb SDK. 
This is mainly because it is much more hard to bring plugin development for 
Jenkins in pure Python than I expected. For example XStream and Stapler 
would have to be injected with Jython support (there is JRuby-XStream and 
JRuby-Stapler for Ruby).... So some decisions were made and the concept of 
the jenkins.py was simplified.

jenkins.py will consist of 2 parts:
1) python-wrapper plugin, which will provide runtime for every Python 
plugin. It will include library for easy Jython scripting and also python 
wrappers for every extension point and descriptor. These wrappers will be 
generated automatically out of Jenkins source code.
2) tool for generating python plugin skeleton (something like 'mvn 
hpi:create', but for Python)
The wiki page with the tutorial will be also created.

You can check and try the "proof of concept" plugin at 
https://github.com/conyx/jenkins.py/tree/master/poc. Files 
hello_world_builder.py<https://github.com/conyx/jenkins.py/blob/master/poc/hello_world_python/src/main/python/hello_world_builder.py>
, 
descriptor_impl.py<https://github.com/conyx/jenkins.py/blob/master/poc/hello_world_python/src/main/python/descriptor_impl.py>
 and 
HelloWorldBuilder.java<https://github.com/conyx/jenkins.py/blob/master/poc/hello_world_python/src/main/java/org/jenkinsci/plugins/hello_world_python/HelloWorldBuilder.java>
 are 
the only files which will be presented in the actual plugin. The rest will 
be included in python-wrapper runtime plugin. As you can see, there have to 
be a one Java class in every Python plugin. This class will ensure a proper 
plugin loading to Jenkins, Stapler bindings and XStream serialization, but 
the actual code executing will be situated in Python files. It is not so 
nice like jenkins.rb, but I hope some developers will find out this runtime 
useful.

If you have any suggestion, please let me know.

-- 
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