>>>>> Toni Menzel <[email protected]>: [snip! Interesting stuff about OSGi runners that I may study in depth at some point in time] > - Karaf Distribution: that seems to be the way to go right now. You can > define your "system" as features & custom karaf distro. Both can be used > with Exam which should give you exactly what you want. So your system is > defined by Karaf Semantics instead of the Pax Exam @Configuration DSL. I > think this is what Christian & Achim is suggesting. Here is the Karaf > Documentation about that. > <http://karaf.apache.org/manual/latest/#_custom_distributions>
> Just some thoughts. Keep us posted about what you think. - and do. ;) > You might want to look at Karaf Boot if you are into internal java DSLs. > Though this ties you even more to Karaf. Depends on if you like that. Not sure if the "you" here is me (since its my message you're responding to), or the original poster of this thread? I you mean me, I've already transitioned to karaf. :-) This project runs a module for each bundle I'm going to use in karaf, creating a feature for each module (pulling in dependencies as needed): https://github.com/steinarb/ukelonn/blob/using-primefaces/ukelonn.karaf/pom.xml and then it runs this module to create a feature file containing all of the features created earlier, and it's this feature file I'm using feature:repo-add to add with its maven coordinates: https://github.com/steinarb/ukelonn/blob/using-primefaces/ukelonn.karaf/ukelonn-all/pom.xml The gogoshell project is mostly historical at this point, though it is still nice to be able to run the webapp without installing any extra tools or runtime... My current workflow, is: Initially: - Start karaf as "karaf debug" - Use feature:repo-add to add the ukelonn-all feature file - Use feature:repo-add to pull in pax web (all of the other pax stuff I need is already present) - Pull in the ukelonn feature and one of the database features (I have a derby in-memory test database, and I have a PostreSQL real database) - Use "bundle:watch *" to have karaf watch the local maven cache (aka. "the local repository") for updates to the installed "SNAPSHOT" bundles During development: - When I'm ready to deploy a change, just to "mvn install", either from inside emacs, from the command line or by right-clicking the project in eclipse, and selecting Run As->maven install - Then I try the webapp - If I need to debug something in the webapp I just attach to port 5005 with eclipse's remote debugger (the development cycle got a lot easier once I discovered "bundle:watch") The feature file created by maven is kind of messy, it contains three copies of the ukelonn.api feature (where the OSGi services are defined), but it works, and e.g. installing either the ukelonn feature or one of the database features will automatically pull in the ukelonn.api features. I also saw in one of the karaf-maven-plugin itest's that it should be possible to piggy-back the creation of a feature file for each bundle in the bundle projects, and then just have one project to pull in the other features and create a master feature file (the task done by ukelonn-all in my setup). But that's for the future... -- -- ------------------ OPS4J - http://www.ops4j.org - [email protected] --- You received this message because you are subscribed to the Google Groups "OPS4J" 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/d/optout.
