[ 
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:32 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). 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.


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. I will try to come up with a PR for {{bnd-maven-plugin}} 
which allows to extract the JAR somewhere else.

> [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)

Reply via email to