Daniel,
I just applied a patch to trunk that makes the fragment install
exception configurable. For details:
https://issues.apache.org/jira/browse/FELIX-725
I have deployed a new maven snapshot or you can build from trunk if you
want to use it.
-> richard
Daniel Rubio wrote:
I hadn't actually tried to upgrade until now, and since some of the
bundles I was using were libraries (apache tomcat, jasper
compiler,etc) I didn't realize they were fragments until I got this
message testing on 1.2!
I believe ignoring fragments in 1.0.4 - or the Fragment-Host directive
- simply processed the Import-Package statement and made the fragments
classes available as if they were a normal bundle, so that's why it
worked....
Inclusively I removed the Fragment-Host from the bundle and the app
works in 1.2, so I'm also realizing what is packaged as a fragment
didn't actually require being a full-fledged fragment, go figure, but
that's for the one's OSGi'fying bundles...
I guess we will leave 1.0.4 in place. If a new release comes out
before the last draft revision, that warns about fragments but still
loads classes 'as if it were a normal bundle' then I will use that ;)
otherwise I will just put a note.
Don't know what the consequence/side effects may be, in my app there
didn't seem to be trouble converting a fragment to a bundle just to
Import its classes an run the app successfully in 1.2...though there
might be trouble in some 'well-designed fragments' that do require not
just importing classes but the whole functionality required by the
fragment spec (but I guess that's where the warning comes in :-) ).
Richard S. Hall wrote:
Argh!
Yes, we probably should have made that configurable. Where were you
when I was asking about throwing an exception on fragment install? ;-)
I guess the short answer is "no, there is no way to change it". You
have two options at this point:
1. Roll your own release that disables the exception (pretty easy to
do, I guess I might actually be able to make this configurable in
trunk and create a new snapshot that will eventually become 1.2.2
and you could use that for the time being).
2. Keep using 1.0.4 until we do another release that makes this
configurable.
I don't see any reason why we couldn't make this configurable,
perhaps someone sees something that I don't. The fact that your apps
worked at all before I guess was just luck, since we ignored
fragments altogether in 1.0.4.
-> richard
Daniel Rubio (OSGI Mailing List) wrote:
I just upgraded to Felix 1.2+ from 1.0.4, only to realize some of my
(library) bundles are fragments.
I'm getting a warning that in 1.2 there is partial support for
fragments, which I of course appreciate. However, the application
now ceases to work since it apparently doesn't import any classes in
the fragment....
Is there some way to get things to work as in 1.0.4 and get the
warning ?
I realize full support for fragments may be well down the road, but
is there any plan for a release like 1.0.4 (import class from the
fragment ) and getting a warning ?
Thanks for any information on the subject.
Daniel Rubio
P.S- I realize the simple answer is keep using 1.0.4, but the reason
for my question is because I'm in the process of writing a book (for
Apress on Spring-OSGi) which is using Apache Felix, and some things
are already based on the v.1.0.4 and the upgrade to the newer v.1.2
breaks a few of the apps.