felix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cristiano Gavião <cvgav...@gmail.com>
Subject Re: [maven-bundle-plugin] v.3.0.x regression for DS xml generation ?
Date Sat, 25 Jun 2016 23:14:54 GMT
what a day... :-(

I finally discovered what is need in order to the scr xmls to be write 
when using m-b-p "manifest" goal.

bndLib is doing its great work properly. The problem is that the 
"manifest" goal doesn't do what its parent "bundle" goal is doing and is 
not traversing the generated in-memory jar in order to write the scr files.

Interestingly I found an undocumented parameter named "*scrExport*" 
which seems it was created to do just what I was needing and also the 
metatype artifacts. but it seems to be buggy apparently because any xml 
was created when setting it to true.

So, what you need to do is to set *unpackBundle* parameter to true. This 
will make the plugin to traverse the in memory jar created by bndLib and 
save its contents to disk.



On 25/06/2016 11:43, Cristiano Gavião wrote:
> Hello again,
>
> I've passed a long time doing some debugging...  I've cloned the 
> latest felix git repository and I'm using the 3.1.0-SNAPSHOT.
> I think I found where the problem could be.
>
> In maven-bundle-plugin, the 
> org.apache.felix.bundleplugin.ManifestPlugin in line 287, sets the 
> Builder jar property as the /target/classes directory. But seems to me 
> that aQute.bnd.osgi.Jar is not handling directory properly anymore.
>
>             analyzer.setJar( file );
>
> The aQute.bnd.component.DSAnnotations class calls the 
> aQute.bnd.osgi.Jar object in order to write the generated xml:
>
>     analyzer.getJar().putResource(name, new
>     TagResource(definition.getTag()));
>
>  and it is where the things are not working anymore...
>
> I already have notified bndlib team in its google group about this. 
> I'm waiting some confirmation...
>
> Btw, the first time I tried to debug the plugin, I had an issue when 
> executing the part where bndlib process Prototype scope. This made the 
> debug tool get crazy and get out of the method when it tried to 
> execute this 6.0.0 related class:
>
>     if (comp.scope() ==/ServiceScope.PROTOTYPE/) {
>                     component.updateVersion(V1_3);
>                 }
>
> I noted that bndlib 3.2.0 requires osgi.core 6.0.0, but the m-b-plugin 
> is tied to version 4.3.1.
>
> I only was able to debug after set the proper osgi bundles in the 
> classpath.
>
> could some m-b-p committer give me a feedback, please?
>
> thanks
>
> On 01/06/2016 17:25, Cristiano Gavião wrote:
>> Hi,
>>
>> I used to use m-b-p version 2.5.4 and the generation of the DS 
>> component xmls was working fine.
>>
>> But after I moved to version 3.0.1 (also tried with 3.0.0) the xml 
>> generation simply stops to work. also inside eclipse (with m2e).
>>
>> There are any error message in the building maven console or eclipse 
>> console, but the xmls are simply not there...
>>
>> I moved back to 2.5.4 again and things back to normal....
>>
>> I'm using the setup bellow:
>>
>>                    <plugin>
>>     <groupId>org.apache.felix</groupId>
>>     <artifactId>maven-bundle-plugin</artifactId>
>>     <version>${mbp.version}</version>
>>                         <extensions>true</extensions>
>>                         <configuration>
>>     <obrRepository>NONE</obrRepository>
>>                             <instructions>
>>     <Bundle-DocURL>${project.url}</Bundle-DocURL>
>>     <Bundle-Name>${project.name}</Bundle-Name>
>>     <Bundle-Version>${bundle.full.version}</Bundle-Version>
>>     <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
>>     <_dsannotations>*</_dsannotations>
>>     <_metatypeannotations>*</_metatypeannotations>
>>     <Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
>>     <_snapshot>${osgi-version-qualifier}</_snapshot>
>>     <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>
>>                             </instructions>
>>                             <supportedProjectTypes>
>>     <supportedProjectType>bundle</supportedProjectType>
>>     <supportedProjectType>jar</supportedProjectType>
>>                             </supportedProjectTypes>
>>                         </configuration>
>>     <executions>
>>                                     <execution>
>>     <id>gen-bundle-manifest</id>
>>                                         <goals>
>>     <goal>manifest</goal>
>>                                         </goals>
>>     <phase>process-classes</phase>
>>                                         <configuration>
>>
>>                                             <instructions>
>>     <Permissions>all-permissions</Permissions>
>>     <Include-Resource>{maven-dependencies},{maven-resources},META-INF/LICENSE=LICENSE.txt</Include-Resource>
>>     <_removeheaders>Include-Resource,Private-Package,Ignore-Package</_removeheaders>
>>                                             </instructions>
>>                                         </configuration>
>>                                     </execution>
>>                     </plugin>
>>
>> anyone have experienced this issue ?
>>
>> thanks,
>>
>> Cristiano
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message