renatoathaydes / osgi-run

Osgi-Run - A Gradle plugin to make the development of modular applications using OSGi completely painless
Apache License 2.0
54 stars 13 forks source link

Equinox start levels #66

Closed pnidl closed 6 years ago

pnidl commented 6 years ago

Hello Renato, first let me thank you for nice job creating this plugin. We use it during development and it works pretty well. However there was one feature that we missed: a possibility to define (for various reasons) specific OSGi start levels for some bundles. I took the liberty to update the plugin to provide this functionality. At this moment it works for Equinox only (as I'm not sure if Felix is even capable of this and I have absolutely no experience with Knopflerfish) and start level definition syntax is not ideal but it serves the purpose for us and maybe you will also find it useful. Best regards, Petr

renatoathaydes commented 6 years ago

Hi @pnidl Thanks for the pull request , looks very nice!

I would just ask you to use only Groovy though because there's no reason why Java should be introduced into the project just for the two small Java files you've added.

pnidl commented 6 years ago

No problem, it's just that these classes extend actual Java classes from Gradle, but you are right, there is no need to compile two languages.

renatoathaydes commented 6 years ago

I wrote this in the merge commit by accident!!

re-writing here:

Nice, thank you very much.

I will try to add support for Felix (it supports that) and maybe Knoper... as well before I release.

pnidl commented 6 years ago

Wow, you were fast. But maybe, there's one small problem - I don't know how you manage building and deployment of the plugin and I've changed the version to 1.5.5-startLevel in the branch, this should be changed to 1.5.6... Sorry for that

renatoathaydes commented 6 years ago

I know... I will reformat, fix versions and clean up everything before I release, so not a problem.

renatoathaydes commented 6 years ago

The only problem is the README in master is now out-of-sync with the latest released version... I normally don't merge changes to README to master because of that... but as your PR was very good, I decided to merge anyway and that will motivate me to quickly release the next version before anyone notices ;)

pnidl commented 6 years ago

Great, that means that we will be able to use your new release instead of my forked version soon :) I just wanted to provide the full solution - implementation - test - documentation, otherwise I could just create new issue.

renatoathaydes commented 6 years ago

You've done a lot more than most already! If you don't mind me asking, can you tell me a bit more about how you use this plugin? If you prefer you can email me: renato at athaydes com

renatoathaydes commented 6 years ago

I implemented the same functionality for Apache Felix, and unfortunately Knopflerfish does not seem to support per-bundle startLevels.

Getting the 1.5.6 release ready soon! Will try to add a few more small features and bug fixes....

renatoathaydes commented 6 years ago

Released this fix with several more improvements in version 1.6.0!