On Tue, Oct 6, 2009 at 10:27 AM, Alin Dreghiciu <[email protected]> wrote:
> I do not want to compare the two formats so here fact about the "profile"

Fair enough, yep I realized just after I sent my mail this could be
asking for trouble - that is not my intention just to figure out what
is the "best" way to achieve this.

> format: * profile format is the format that can be scanned by a composite
> scanner (scan-composite:). Here is some more documentation:
> http://paxrunner.ops4j.org/display/paxrunner/Composite+provisioning
> * it can include any other provisioning specs so you can scan from karaf
> features, simple text files containing bundles urls, maven poms, directories
> containing bundles, zips containing jars, any bundle referenced by url.
> * it can include references to another composite scanners.
> * there are a bunch of such files in Pax Runner repository:
> http://paxrunner.ops4j.org/space/Pax+Runner+profiles+list (
> https://scm.ops4j.org/repos/ops4j/projects/pax/runner-repository/org/ops4j/pax/runner/profiles/
> )
> * the whole functionality about using this scanners is extracted out of pax
> runner into pax scanner project

Does the scanner run in the framework process? I think for isolation
reasons it make sense to make the framework a very thin client with
very few dependencies installed, this ensures that when you debug
you're actually debugging your code and not some accidental collision
with pre resolved bundles in the framework. Consider the case where
you'd want to debug pax scanner for example? Or more likely some other
application that happens to share dependencies with pax-scanner and
you want to ensure you're debugging precisely your set of bundle
dependencies.

>
> Now related to the part where you launch an osgi framework you may want to
> take a look at pax runner eclipse plugin that allows you to start any OSS
> framework / any version and we can discuss about any features you may need.

I'll take a look, that's basically what I'm trying to write a gui for
at the moment - but I would love not to have to reinvent this
particular wheel as it involves a lot of GUI code that I can do but
always feels a little like pulling teeth ;)

>
> About install/update/uninstall bundles in the external running framework you
> may want to look at Pax Exam RBC (remote bundle context) that we use it to
> allow the install/uninstall of bundles from outside of the process (RMI) +
> allows to make calls to services in the remote process. Again, if any
> special needs, let me know.

That sounds similar to something I've started here too i.e. a launcher
for Sigil that uses a socket based approach to control the framework
remotely:

http://svn.apache.org/viewvc/felix/trunk/sigil/common/runtime/src/org/apache/felix/sigil/common/runtime/Client.java?view=markup

The point about using sockets was to again reduce the dependencies on
the framework to a minimum. This does seem to have some overlap with
the pax exam functionality. Maybe there's some mileage in coming up
with a common model for this?

>
> About ivy is just a matter (I think) of implementing an url handler as we
> did for maven. Actually we have an issue there to support it but yet there
> was not requested.

As per other comments - does this imply the url handler is installed
in the remote framework?

Thx for the info.

Regards,

Dave

>
> HTH
>
> On Tue, Oct 6, 2009 at 11:20 AM, David Savage <[email protected]>wrote:
>
>> Hi there,
>>
>> I'm currently looking into how to set up a launch configuration for
>> Sigil development in the IDE and one idea that seems quite attractive
>> is to reuse the Karaf features format to list the bundles that the
>> user wishes to install in the framework. The use case I'm looking to
>> solve is initial boot of an OSGi framework from the IDE with a pre
>> configured set of bundles. Once the framework is running it will be
>> possible to install and uninstall individual bundles via the IDE to
>> allow for update of classes during debug. But this initial step allows
>> us to boot a framework into a known state.
>>
>> Some areas that I'm a little hazy about...
>>
>> * Editor support for features files - is there any available plugins
>> for Eclipse in this area?
>> * Extensions to the karaf format to support sigil projects (ivy
>> dependencies?)
>> * Support for Karaf features from a remote process - how tied is the
>> org/apache/felix/karaf/features/*.java code to a local framework? I
>> think it makes sense drive this from an external process vs installing
>> Karaf in the framework as this would allow us to debug Karaf. This
>> would involve having a Karaf driver in the IDE that understands the
>> Karaf features file format and uses it to make install and start
>> commands into the external framework process.
>>
>> The other idea that sprang to mind was the pax runner profile format.
>> Can anyone comment on the relative pros and cons of each format?
>>
>> Regards,
>>
>> Dave
>>
>
>
>
> --
> Alin Dreghiciu
> Software Developer
> My profile: http://www.linkedin.com/in/alindreghiciu
> My blog: http://adreghiciu.blogspot.com
> http://www.ops4j.org - New Energy for OSS Communities - Open Participation
> Software.
> http://www.qi4j.org - New Energy for Java - Domain Driven Development.
>

Reply via email to