OK, my bad, I asked the question poorly. It of course works with private-package as well (I just used the export in my simple test). What I intended to ask was, why the stereotype class needs to be included in the bundle using it? In another words - isn't it enough that the bundle imports the package and the jar is on maven's classpath?
On Mon, Sep 15, 2014 at 3:26 PM, Clement Escoffier < clement.escoff...@gmail.com> wrote: > Hi, > > Could you check that the stereotype class is actually included in the jar > file when not exported ? Maybe the ‘private-package’ instruction contains > the error. > > Cheers, > > Clement > > On 15 septembre 2014 at 15:05:17, Milen Dyankov (milendyan...@gmail.com) > wrote: > > OK, found the problem. It's due to how <Export-Package> of > the maven-bundle-plugin is configured. > > Here is an example: > - I have stereotype maven project where I define a @Stereotype as > *test.ipojo.stereotype*.MyComponent > - The bundle maven project where I try to use the stereotype has its > classes in the package *test.ipojo.bundle* > > When I have this in the bundle maven project : > > > <Export-Package>test.ipojo.bundle*;version=${project.version}</Export-Package> > > it does not work! What I see in the console is: > > [WARNING] Class test.ipojo.bundle.ComponentByStereotype has not been marked > as a component type (no @Component, @Handler, ...). It will be ignored by > the iPOJO manipulator. > > However changing this to: > > <Export-Package>*test.ipojo.stereotype** > ,test.ipojo.bundle*;version=${project.version}</Export-Package> > > works just fine. > > While I now know how to make it work, I'm still confused why do I need to > export the stereotype package? > > > > On Mon, Sep 15, 2014 at 11:24 AM, Milen Dyankov <milendyan...@gmail.com> > wrote: > > > Thanks for explaining how it works Clement! > > I am indeed using maven and I tried to add the jar as a maven-ipojo- > > plugin dependency but it still does not seem to work. > > I'll play a bit with it and if it still does not work I'll try to extract > > and provide a simple example so you can eventually tell me what I'm doing > > wrong. > > > > Best, > > Milen > > > > > > On Sat, Sep 13, 2014 at 9:01 AM, Clement Escoffier < > > clement.escoff...@gmail.com> wrote: > > > >> Hi, > >> > >> Stereotypes are analyzed at build time, not at runtime. So they are > >> packaged in regular jars. To work as expected, the stereotype need to be > >> available from the ‘manipulator’ engine, in other words: be in the same > >> class path. > >> > >> So, if you are using Maven, you can do as follows: > >> > >> <plugin> > >> <groupId>org.apache.felix</groupId> > >> <artifactId>maven-ipojo-plugin</artifactId> > >> <executions> > >> <execution> > >> <goals> > >> <goal>ipojo-bundle</goal> > >> </goals> > >> </execution> > >> </executions> > >> <dependencies> > >> <dependency> > >> <groupId>your.groupId</groupId> > >> <artifactId>your.sterotype.artifactId</artifactId> > >> <version>your.version</version> > >> </dependency> > >> </dependencies> > >> </plugin> > >> > >> Cheers, > >> > >> Clement > >> > >> > >> > >> On 13 septembre 2014 at 02:06:25, Milen Dyankov (milendyan...@gmail.com > ) > >> wrote: > >> > >> Hi, > >> > >> Is the usage of a @Stereotype annotated annotation from another bundle > >> supported? It doesn't seem to work even though the package is properly > >> exported and imported. > >> > >> The docs only say: > >> > >> If the stereotyped annotation is directly in the manipulated module, no > >> > problems: any front-end will work as expected. > >> > If not, the different manipulator's front-end have variable support > for > >> > the stereotype feature. > >> > >> > >> This is not very clear to me and to be honest I'm no sure what a > >> "manipulator's front-end" is. > >> > >> Regards, > >> Milen > >> > >> > >> > >> -- > >> http://about.me/milen > >> > > > > > > > > -- > > http://about.me/milen > > > > > > -- > http://about.me/milen > -- http://about.me/milen