You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by Jaroslav Tulach <Ja...@Sun.COM> on 2010/01/19 12:43:19 UTC

How to support Felix in NetBeans?

Dear OSGi users,
I've sent a question to Richard Hall and he recommended to repost it to this 
mailing list. So here I am, I am awaiting your answers.

We plan to support development of "plain" OSGi bundles in NetBeans 6.9.
We want to have a Maven artifact to create an OSGi project. We want to
use the felix-maven-bundle to create the final JAR. We hope that you will
provide us some guidance to do this correctly.

The first questions we have are about run, debug, profile and test. What
it means to run an OSGi bundle? I can imagine:

java -jar felix.jar -Dfelix.auto.deploy.dir=path -
Dfelix.auto.deploy.action=start

correct? Shall we do this for run, debug and profile or is there any
Maven plugin that we could reuse? Or any other idea?

Richard's answer:
> Ultimately, this could make sense for all (run, debug, profile, and
> test), it just depends. I think it definitely makes sense for run if the
> bundle has an activator. If not, then the user may wish to install/start
> different bundles for run.

We can do this. Another option Richard mentioned was:

> Have you looked at the Pax tools (e.g., Pax Runner, Pax Exam, etc.)?

These tools seem to come with Maven plugins, so it is easy to use them. Do 
people want to see this instead of home made exec of felix.jar?

Thanks for helping us find the right direction. We are still in process of 
learning what are the OSGi needs.
-jst

Re: How to support Felix in NetBeans?

Posted by David Savage <da...@paremus.com>.
Hi Jaroslav,

Yep I think you're probably just interested in the parts in common if
I understand you correctly. Specifically to do the runtime integration
the classes in question are the Client [1] and either Main[1] or
Server[2]

[1] http://svn.apache.org/viewvc/felix/trunk/sigil/common/runtime/src/org/apache/felix/sigil/common/runtime/Client.java?view=markup
[2] http://svn.apache.org/viewvc/felix/trunk/sigil/common/runtime/src/org/apache/felix/sigil/common/runtime/Main.java?view=markup
[3] http://svn.apache.org/viewvc/felix/trunk/sigil/common/runtime/src/org/apache/felix/sigil/common/runtime/Server.java?view=markup

I've not wrapped these up as maven plugins yet but I believe this
would be trivial to do?

I'm not sure how netbeans handles runtime support but in eclipse I'm
building infrastructure to allow an eclipse IDE to launch a sigil
runtime framework (either in standard or debug modes) and then connect
via the Client to install/uninstall bundles from the IDE (i.e. push
button to deploy/undeploy)

Regards,

Dave

On Tue, Jan 26, 2010 at 12:41 PM, Jaroslav Tulach
<Ja...@sun.com> wrote:
> Hello David,
> your email arrived at the right time. I am just struggling with Maven and Ant
> to implement the execution myself. It is not easy and I'll be glad for any
> help.
>
> If you have a maven plugin to launch/debug OSGi and/or execute tests in OSGi
> mode, I am sure I'd rather use it than invent something by myself.
>
> On the other hand, I am interested in bringing in dependencies on other IDEs.
> Looking at the sigil sources, it seems that I would be interested only in
> small part. Is it easy to use just the maven plugin?
>
> -jst
>
>
> Dne úterý 26 ledna 2010 11:14:06 David Savage napsal(a):
>> Hi Jaroslav,
>>
>> Sorry for the late reply, but you may be interested to look at Sigil
>> [1] which is hosted here at Felix as a base for netbeans integration.
>> I'm currently working on finalising a 1.0 release which will include:
>>
>> * Compile time OSGi dependency resolution
>> * Eclipse IDE support
>> * Ivy headless build support
>> * OSGi runtime launch/debug/control
>>
>> The goal of Sigil is to provide a common set of tools that can be used
>> at OSGi development time. As such the architecture is split into three
>> sections - common, eclipse and ivy - where the projects in common form
>> a base layer for other tooling providers to build on top of. Netbeans
>> and Maven are medium term goals for Sigil so if you want to feed in
>> any requirements in this area that would be very welcome.
>>
>> Regarding the runtime integration, this is the last area I'm working
>> on before the 1.0 release so is not completely finished but the common
>> base layer is probably a good starting point. Here I've created a
>> minimal OSGi launcher that opens a tcp socket and allows a client to
>> instrument the OSGi framework using basic (install, start, update,
>> stop, uninstall) commands. The advantage of this approach over that
>> taken in PAX is that the minimal launcher does not get installed in
>> the framework's classspace so when a user is debugging their
>> application they're really debugging their app and not some
>> intersection with the testing framework and the application.
>>
>> Regards,
>>
>> Dave
>>
>> [1] http://felix.apache.org/site/apache-felix-sigil.html
>>
>> On Tue, Jan 19, 2010 at 11:43 AM, Jaroslav Tulach
>>
>> <Ja...@sun.com> wrote:
>> > Dear OSGi users,
>> > I've sent a question to Richard Hall and he recommended to repost it to
>> > this mailing list. So here I am, I am awaiting your answers.
>> >
>> > We plan to support development of "plain" OSGi bundles in NetBeans 6.9.
>> > We want to have a Maven artifact to create an OSGi project. We want to
>> > use the felix-maven-bundle to create the final JAR. We hope that you will
>> > provide us some guidance to do this correctly.
>> >
>> > The first questions we have are about run, debug, profile and test. What
>> > it means to run an OSGi bundle? I can imagine:
>> >
>> > java -jar felix.jar -Dfelix.auto.deploy.dir=path -
>> > Dfelix.auto.deploy.action=start
>> >
>> > correct? Shall we do this for run, debug and profile or is there any
>> > Maven plugin that we could reuse? Or any other idea?
>> >
>> > Richard's answer:
>> >> Ultimately, this could make sense for all (run, debug, profile, and
>> >> test), it just depends. I think it definitely makes sense for run if the
>> >> bundle has an activator. If not, then the user may wish to install/start
>> >> different bundles for run.
>> >
>> > We can do this. Another option Richard mentioned was:
>> >> Have you looked at the Pax tools (e.g., Pax Runner, Pax Exam, etc.)?
>> >
>> > These tools seem to come with Maven plugins, so it is easy to use them.
>> > Do people want to see this instead of home made exec of felix.jar?
>> >
>> > Thanks for helping us find the right direction. We are still in process
>> > of learning what are the OSGi needs.
>> > -jst
>>
>

Re: How to support Felix in NetBeans?

Posted by Jaroslav Tulach <Ja...@Sun.COM>.
Hello David,
your email arrived at the right time. I am just struggling with Maven and Ant 
to implement the execution myself. It is not easy and I'll be glad for any 
help.

If you have a maven plugin to launch/debug OSGi and/or execute tests in OSGi 
mode, I am sure I'd rather use it than invent something by myself.

On the other hand, I am interested in bringing in dependencies on other IDEs. 
Looking at the sigil sources, it seems that I would be interested only in 
small part. Is it easy to use just the maven plugin?

-jst


Dne úterý 26 ledna 2010 11:14:06 David Savage napsal(a):
> Hi Jaroslav,
> 
> Sorry for the late reply, but you may be interested to look at Sigil
> [1] which is hosted here at Felix as a base for netbeans integration.
> I'm currently working on finalising a 1.0 release which will include:
> 
> * Compile time OSGi dependency resolution
> * Eclipse IDE support
> * Ivy headless build support
> * OSGi runtime launch/debug/control
> 
> The goal of Sigil is to provide a common set of tools that can be used
> at OSGi development time. As such the architecture is split into three
> sections - common, eclipse and ivy - where the projects in common form
> a base layer for other tooling providers to build on top of. Netbeans
> and Maven are medium term goals for Sigil so if you want to feed in
> any requirements in this area that would be very welcome.
> 
> Regarding the runtime integration, this is the last area I'm working
> on before the 1.0 release so is not completely finished but the common
> base layer is probably a good starting point. Here I've created a
> minimal OSGi launcher that opens a tcp socket and allows a client to
> instrument the OSGi framework using basic (install, start, update,
> stop, uninstall) commands. The advantage of this approach over that
> taken in PAX is that the minimal launcher does not get installed in
> the framework's classspace so when a user is debugging their
> application they're really debugging their app and not some
> intersection with the testing framework and the application.
> 
> Regards,
> 
> Dave
> 
> [1] http://felix.apache.org/site/apache-felix-sigil.html
> 
> On Tue, Jan 19, 2010 at 11:43 AM, Jaroslav Tulach
> 
> <Ja...@sun.com> wrote:
> > Dear OSGi users,
> > I've sent a question to Richard Hall and he recommended to repost it to
> > this mailing list. So here I am, I am awaiting your answers.
> >
> > We plan to support development of "plain" OSGi bundles in NetBeans 6.9.
> > We want to have a Maven artifact to create an OSGi project. We want to
> > use the felix-maven-bundle to create the final JAR. We hope that you will
> > provide us some guidance to do this correctly.
> >
> > The first questions we have are about run, debug, profile and test. What
> > it means to run an OSGi bundle? I can imagine:
> >
> > java -jar felix.jar -Dfelix.auto.deploy.dir=path -
> > Dfelix.auto.deploy.action=start
> >
> > correct? Shall we do this for run, debug and profile or is there any
> > Maven plugin that we could reuse? Or any other idea?
> >
> > Richard's answer:
> >> Ultimately, this could make sense for all (run, debug, profile, and
> >> test), it just depends. I think it definitely makes sense for run if the
> >> bundle has an activator. If not, then the user may wish to install/start
> >> different bundles for run.
> >
> > We can do this. Another option Richard mentioned was:
> >> Have you looked at the Pax tools (e.g., Pax Runner, Pax Exam, etc.)?
> >
> > These tools seem to come with Maven plugins, so it is easy to use them.
> > Do people want to see this instead of home made exec of felix.jar?
> >
> > Thanks for helping us find the right direction. We are still in process
> > of learning what are the OSGi needs.
> > -jst
> 

Re: How to support Felix in NetBeans?

Posted by David Savage <da...@paremus.com>.
Hi Jaroslav,

Sorry for the late reply, but you may be interested to look at Sigil
[1] which is hosted here at Felix as a base for netbeans integration.
I'm currently working on finalising a 1.0 release which will include:

* Compile time OSGi dependency resolution
* Eclipse IDE support
* Ivy headless build support
* OSGi runtime launch/debug/control

The goal of Sigil is to provide a common set of tools that can be used
at OSGi development time. As such the architecture is split into three
sections - common, eclipse and ivy - where the projects in common form
a base layer for other tooling providers to build on top of. Netbeans
and Maven are medium term goals for Sigil so if you want to feed in
any requirements in this area that would be very welcome.

Regarding the runtime integration, this is the last area I'm working
on before the 1.0 release so is not completely finished but the common
base layer is probably a good starting point. Here I've created a
minimal OSGi launcher that opens a tcp socket and allows a client to
instrument the OSGi framework using basic (install, start, update,
stop, uninstall) commands. The advantage of this approach over that
taken in PAX is that the minimal launcher does not get installed in
the framework's classspace so when a user is debugging their
application they're really debugging their app and not some
intersection with the testing framework and the application.

Regards,

Dave

[1] http://felix.apache.org/site/apache-felix-sigil.html

On Tue, Jan 19, 2010 at 11:43 AM, Jaroslav Tulach
<Ja...@sun.com> wrote:
> Dear OSGi users,
> I've sent a question to Richard Hall and he recommended to repost it to this
> mailing list. So here I am, I am awaiting your answers.
>
> We plan to support development of "plain" OSGi bundles in NetBeans 6.9.
> We want to have a Maven artifact to create an OSGi project. We want to
> use the felix-maven-bundle to create the final JAR. We hope that you will
> provide us some guidance to do this correctly.
>
> The first questions we have are about run, debug, profile and test. What
> it means to run an OSGi bundle? I can imagine:
>
> java -jar felix.jar -Dfelix.auto.deploy.dir=path -
> Dfelix.auto.deploy.action=start
>
> correct? Shall we do this for run, debug and profile or is there any
> Maven plugin that we could reuse? Or any other idea?
>
> Richard's answer:
>> Ultimately, this could make sense for all (run, debug, profile, and
>> test), it just depends. I think it definitely makes sense for run if the
>> bundle has an activator. If not, then the user may wish to install/start
>> different bundles for run.
>
> We can do this. Another option Richard mentioned was:
>
>> Have you looked at the Pax tools (e.g., Pax Runner, Pax Exam, etc.)?
>
> These tools seem to come with Maven plugins, so it is easy to use them. Do
> people want to see this instead of home made exec of felix.jar?
>
> Thanks for helping us find the right direction. We are still in process of
> learning what are the OSGi needs.
> -jst
>