[ https://issues.apache.org/jira/browse/SLING-3014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15965936#comment-15965936 ]
Konrad Windszus edited comment on SLING-3014 at 4/12/17 2:33 PM: ----------------------------------------------------------------- With the PDE annotation builder the OSGI-INF folder is being placed in the root directory of the project. From there it is being picked up from the Eclipse Laucher as well. Unfortunately bnd-maven-plugin writes the OSGI-INF always to the folder given by configuration {{classesDir}} (https://github.com/bndtools/bnd/blob/master/maven/bnd-maven-plugin/src/main/java/aQute/bnd/maven/plugin/BndMavenPlugin.java#L270). Unfortunately {{classesDir}} is not only the used for expanding the JAR but also for generating the classpath for Bnd, therefore you cannot simply reconfigure that. Also the {{bnd-maven-plugin}} will only write those classes/resources which have not been existing in the target directory already (to distinguish between files being created by bnd and those which just have been wrapped in the JAR). Therefore coming up with a PR for the {{bnd-maven-plugin}} which allows to write the OSGI-INF somewhere else is not easy. But I found a simple workaround: {code} <plugin> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <id>copy-resources</id> <!-- make sure it runs after bnd-maven-plugin, i.e. after process-classes --> <phase>prepare-package</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${basedir}/OSGI-INF</outputDirectory> <resources> <resource> <directory>${project.build.outputDirectory}/OSGI-INF</directory> <filtering>false</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> {code} That will copy the OSGI-INF from {{target/classes}} to the root directory of the project from where it is being picked up by both PDE and Tycho. Of course the OSGI-INF needs to be listed in {{build.properties}} {{bin.includes}} as well. was (Author: kwin): With the PDE annotation builder the OSGI-INF folder is being placed in the root directory of the project. From there it is being picked up from the Eclipse Laucher as well. Unfortunately bnd-maven-plugin writes the OSGI-INF always to the folder given by configuration {{classesDir}} (https://github.com/bndtools/bnd/blob/master/maven/bnd-maven-plugin/src/main/java/aQute/bnd/maven/plugin/BndMavenPlugin.java#L270). Unfortunately {{classesDir}} is not only the used for expanding the JAR but also for generating the classpath for Bnd, therefore you cannot simply reconfigure that. Also the {{bnd-maven-plugin}} will only write those classes/resources which have not been existing in the target directory already (to distinguish between files being created by bnd and those which just have been wrapped in the JAR). But I found a simple workaround: {code} <plugin> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <id>copy-resources</id> <!-- make sure it runs after bnd-maven-plugin, i.e. after process-classes --> <phase>prepare-package</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${basedir}/OSGI-INF</outputDirectory> <resources> <resource> <directory>${project.build.outputDirectory}/OSGI-INF</directory> <filtering>false</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> {code} That will copy the OSGI-INF to the root directory of the project from where it is being picked up by both PDE and Tycho. Of course the OSGI-INF needs to be listed in {{build.properties}} {{bin.includes}} as well. > [build] Generate SCR descriptors using Maven > -------------------------------------------- > > Key: SLING-3014 > URL: https://issues.apache.org/jira/browse/SLING-3014 > Project: Sling > Issue Type: Task > Components: IDE > Reporter: Robert Munteanu > Priority: Minor > Fix For: Sling Eclipse IDE 1.2.0 > > Attachments: SLING-3014-1.patch > > > _Edit_: updated the issue title to reflect the fact that we're looking to use > Maven, not a specific plug-in. > Since we're starting to use SCR descriptors when building the Sling IDE tools > it would be nice to generate them using the maven-scr-plugin. I have the > build working in the CLI, but not yet in the IDE ( see > http://dev.eclipse.org/mhonarc/lists/tycho-user/msg04764.html ). Once that is > done I'll commit my changes to trunk. > Note that plain Maven projects work just fine, this is about Tycho-driven > builds. -- This message was sent by Atlassian JIRA (v6.3.15#6346)