I didn't see where a smx assembly was being built so I spent a few minutes on plugin documentation. I think running mvn site in tooling/karaf-maven-plugin produces a reasonably informative result.
Are we publishing maven generated sites anywhere? I'm not always sure about regular projects' maven sites but the generated plugin documentation is usually pretty useful and I think that people expect to find it. thanks david jencks On Apr 9, 2011, at 1:47 PM, Achim Nierbeck wrote: > my comments in-line :) > > >> I think I left out a step :-) and I'm not sure how people are currently >> packaging the extra files needed for a custom server. > > the way I used to do it was to configure a maven project for assembly > and I configured all my extra bundles as dependency in this > project, using the assembly plug-in for maven. First step was to extract > the standard distro of Karaf, add some extra bundles > add some extra config files, changed some config files skipped some > config files of the original assembly. > >> I'm thinking that you would set up a kar project with all the extra files, >> configuration, etc as well as listing or including the bundles, so you can >> install e.g. servicemix on any karaf instance as a kar, and then also set up >> a karaf-assembly project that produces a custom distribution based on that >> kar as well as everything else you want in the server. > > This is a nice idea, and this way I probably don't need to edit the > startup.properties anymore. I kind of like that. > As I already stated we need some very good documentation to get our > users into this boat :) > >> The framework and full kars I added to assemblies/features combined with the >> new assemblies are one example of this technique, but maybe I should try it >> out on e.g. servicemix also as an example. Is it clear where the servicemix >> assembly is? > > For this you have to ask JB, he did the last release for ServiceMix. > >> thanks >> david jencks >> >> On Apr 9, 2011, at 11:41 AM, Achim Nierbeck wrote: >> >>> Hi David, >>> >>> >>>> I assume you are talking about the instructions for custom distributions >>>> here: >>>> >>>> http://karaf.apache.org/manual/2.2.0/developers-guide/custom-distribution.html >>>> >>> yes, exactly >>> >>>> The process described here is hideously complex compared to what I'm >>>> proposing. To keep it available we need to keep the add-features-to-repo >>>> mojo. If, after comparing equivalent old and new style karaf assembly >>>> projects, someone wants to keep it, fine. >>> well, it might be complex but most persons I know a very aware of how to >>> use the assembly plugin of maven on building a >>> nice little distribution :) >>> >>>> Conceptually the main difference I see between old and new styles is that >>>> the old style relies on unpacking an existing distro whereas the new style >>>> currently asks you to copy the list of features and kars that were >>>> assembled into the existing distro. I think I can set up an "uber >>>> feature" for each distro so there's only one feature going in, so in >>>> either style there would be exactly one artifact involved, but it might be >>>> a good idea to add an "unpack existing distro" mojo so the karaf-assembly >>>> packaging can also unpack something for you. In this case I think the new >>>> style would be equivalent to the old style except you'd list the features >>>> to add as maven dependencies instead of configuring them in the k-m-p >>>> plugin configuration, and you' leave out 99% of the configuration. >>>> >>>> Have you tried setting up a project to do a new-style assembly? >>> No I didn't yet, but will give it a try. I just realized this big change. >>> >>> >>> regards, Achim >>> >>>> thanks >>>> david jencks >>>> >>>> >>>> On Apr 9, 2011, at 10:03 AM, Achim Nierbeck wrote: >>>> >>>>> Hi all my comments in-line >>>>> >>>>> regards, Achim >>>>> >>>>>> Karaf is complete atomic and standalone OSGi container. >>>>>> >>>>>> It should run by itself (and it's still the case). >>>>>> >>>>> full ack, for just using camel you don't need anything else. This just >>>>> as a quick description on how I am using Karaf very often. >>>>> >>>>> >>>>>> I think it's more logic for the projects to be build on top. Anyway, >>>>>> I'm not against this new change as it could get life easy in the project. >>>>>> David, did you launch a thread in the past on this mailing list, or >>>>>> updated a wiki page describing this new philosophy ? Sorry if the >>>>>> question is stupid, maybe I missed some messages, but I don't remember >>>>>> lot of discussion on these changes. >>>>>> >>>>> I did see some mail-threads touching parts of this, but somehow I was >>>>> missing the big picture beforehand. >>>>> IMHO for me this move was quite fast and a better discussion could have >>>>> been helpful. >>>>> >>>>> >>>>>> Let me make some try to have a better understanding. Anyway, I didn't >>>>>> see any change on the manual around the "Karaf Custom Distribution" >>>>>> section. It should be introduce and described in the manual. >>>>>> >>>>> We surely need some very good documentation on this move, because we >>>>> already have a description for how to build a custom distributions and >>>>> people are already using it to make their own custom distribution. I >>>>> used to do this at my former company >>>>> and I'm sure the guys doing it now will get kind of upset if they have >>>>> to change a lot on how to make a custom distribution. >>>>> Just my 2 cent. >>>>> >>>>>> I will do that regarding my tests on ServiceMix. >>>>>> >>>>>> Thanks >>>>>> Regards >>>>>> JB >>>>>> >>>>>> On 04/08/2011 09:15 PM, David Jencks wrote: >>>>>>> I'd like to suggest that it would be more appropriate for other >>>>>>> projects such as servicemix to have one or more karaf-assembly >>>>>>> packaging projects similar to the apache-karaf-framework or >>>>>>> apache-karaf-full assemblies but including exactly the content >>>>>>> wanted, rather than starting with a distributed karaf server and >>>>>>> modifying it. That was more or less the point of introcuding the >>>>>>> karaf-assembly packaging. >>>>>>> >>>>>>> This is a pretty dramatic change in philosophy of what karaf is and >>>>>>> how to use it, but I think it is easier to use and a lot more >>>>>>> flexible. I think of karaf more as a way to construct servers rather >>>>>>> than as a particular set of content in a server. >>>>>>> >>>>>>> thanks >>>>>>> david jencks >>>>>>> >>>>>>> On Apr 8, 2011, at 10:55 AM, Jean-Baptiste Onofré wrote: >>>>>>> >>>>>>>> Before, I will check the impact on some other projects, especially >>>>>>>> around the groupId/artifactId used. >>>>>>>> >>>>>>>> We made a mistake by changing the groupId/artifactId of features, I >>>>>>>> don't wanna to have the same issue with the distribution assemblies. >>>>>>>> Projects like ServiceMix use the Karaf distribution in their own >>>>>>>> assembly. At least, we need to document the new Mojo, the new >>>>>>>> distro, etc. >>>>>>>> >>>>>>>> I'm gonna make some tests with ServiceMix and I will keep you posted. >>>>>>>> >>>>>>>> Regards >>>>>>>> JB >>>>>>>> >>>>>>>> On 04/08/2011 07:45 PM, David Jencks wrote: >>>>>>>>> I'd like to suggest that we remove the old assemblies/apache-karaf >>>>>>>>> and use instead the assemblies/apache-karaf-minimal and >>>>>>>>> apache-karaf-full assemblies constructed using the new mojos. I >>>>>>>>> think we can also remove a lot of mojos from the karaf-maven-plugin. >>>>>>>>> >>>>>>>>> With the exception of some configuration files, legal files, the >>>>>>>>> demo files, and the inclusion of o.a.k.shell.ssh in the old minimal >>>>>>>>> assembly by error, the contents of the corresponding new and old >>>>>>>>> assemblies are the same. A few more bundles start in the newer >>>>>>>>> servers but I think these are errors similar to the inclusion of >>>>>>>>> ssh in the minimal assemblies. It would be great if someone more >>>>>>>>> familiar with karaf history than I would investigate the >>>>>>>>> differences and advise about what to do. Basically I assume that >>>>>>>>> all the bundles in system should be started, so the choices are to >>>>>>>>> remove the extra bundles from system or to decide that indeed their >>>>>>>>> presence is correct. >>>>>>>>> >>>>>>>>> I'm not sure what to do with the demos. It's easy enough to write >>>>>>>>> a kar file that will unpack the demo content so it will look just >>>>>>>>> as it does today, but what's there strikes me as sort of horrible. >>>>>>>>> I don't really expect a server image to include maven projects that >>>>>>>>> I can build to add functionality. I think that it would be a lot >>>>>>>>> more appropriate to have a customization maven archetype that will >>>>>>>>> generate a full-featured customization project, and one or two demo >>>>>>>>> features that can install prebuilt demo applications. >>>>>>>>> >>>>>>>>> I'm thinking about how best to install legal files into assemblies >>>>>>>>> and hope to have a suggestion in the next few days. >>>>>>>>> >>>>>>>>> The current apache-karaf builds some kind of source distribution. >>>>>>>>> I haven't looked into exactly what it is but suggest that the >>>>>>>>> source distros produced by the apache release profile are sufficient. >>>>>>>>> >>>>>>>>> Related to this suggestion I think it would be great if some of the >>>>>>>>> other projects that use karaf such as servicemix, activemq, >>>>>>>>> directory (?) tried out the new packagings to build custom server >>>>>>>>> assemblies. I will try to write up some documentation and maven >>>>>>>>> archetypes for this in the next few days. >>>>>>>>> >>>>>>>>> thoughts? >>>>>>>>> >>>>>>>>> thanks >>>>>>>>> david jencks >>>>>>>>> >>>>>>>>> >>>>>>>>> >
