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.
