You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "mike peyvandi (JIRA)" <ji...@apache.org> on 2006/03/07 17:07:38 UTC

[jira] Created: (FELIXM2-4) Maven-osgi-plugin: Force POM's specified JAR dependencies in 'Bundle-Classpath' attribute, when adding a manifest file

Maven-osgi-plugin: Force POM's specified JAR dependencies in 'Bundle-Classpath' attribute, when adding a manifest file
----------------------------------------------------------------------------------------------------------------------

         Key: FELIXM2-4
         URL: http://issues.apache.org/jira/browse/FELIXM2-4
     Project: Felix M2 Plugin
        Type: New Feature
    Versions: 0.1.3    
 Environment: RCP based product .
    Reporter: mike peyvandi
 Assigned to: Timothy Bennett 
    Priority: Minor


Maven-osgi-plugin 
In RCP based product, the Bundle-ClassPath defined in eclipse plugins needs to be replaced with POM's specified Jar Dependencies.  That's the only attribute in the Eclipse Manifest that needs to be overwritten when building the project by Maven.
Removing the 'Bundle-Classpath' attribute from the Eclipse manifest file,  will do the trick, as the addBundleClassPath() will add the POM's classpath entries.

Suggestion:
Define a new Configuration Parameter: usePomBundleClassPath : (boolean)
If true, remove the 'Bundle-ClassPath' attribute from the main section of added manifestFile
Set the new ManifestFile in achiveConfig

Something like this:
    
private void addManifestFile() throws MojoExecutionException {
        if (manifestFile != null) {
            File file = new File(project.getBasedir().getAbsolutePath(), manifestFile);
            getLog().info("Manifest file: " + file.getAbsolutePath() + " will be used");
            file = enablePomBundleClassPath(file);
            archiveConfig.setManifestFile(file);
        } else {
            getLog().info("No manifest file specified. Default will be used.");
        }
    }

and pom.xml
        <configuration>
          <manifestFile>manifest.mf</manifestFile>
          <usePomBundleClassPath>true</usePomBundleClassPath>
          .....

If that makes sense, I can submit the changes.
Regards, Mike

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Updated: (FELIXM2-4) Maven-osgi-plugin: Force POM's specified JAR dependencies in 'Bundle-Classpath' attribute, when adding a manifest file

Posted by "mike peyvandi (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/FELIXM2-4?page=all ]

mike peyvandi updated FELIXM2-4:
--------------------------------

    Attachment: maven-osgi-plugin-alpha-1.ZIP

Attached please find the changes.

> Maven-osgi-plugin: Force POM's specified JAR dependencies in 'Bundle-Classpath' attribute, when adding a manifest file
> ----------------------------------------------------------------------------------------------------------------------
>
>          Key: FELIXM2-4
>          URL: http://issues.apache.org/jira/browse/FELIXM2-4
>      Project: Felix M2 Plugin
>         Type: New Feature
>     Versions: 0.1.3
>  Environment: RCP based product .
>     Reporter: mike peyvandi
>     Assignee: Timothy Bennett
>     Priority: Minor
>  Attachments: maven-osgi-plugin-alpha-1.ZIP
>
> Maven-osgi-plugin 
> In RCP based product, the Bundle-ClassPath defined in eclipse plugins needs to be replaced with POM's specified Jar Dependencies.  That's the only attribute in the Eclipse Manifest that needs to be overwritten when building the project by Maven.
> Removing the 'Bundle-Classpath' attribute from the Eclipse manifest file,  will do the trick, as the addBundleClassPath() will add the POM's classpath entries.
> Suggestion:
> Define a new Configuration Parameter: usePomBundleClassPath : (boolean)
> If true, remove the 'Bundle-ClassPath' attribute from the main section of added manifestFile
> Set the new ManifestFile in achiveConfig
> Something like this:
>     
> private void addManifestFile() throws MojoExecutionException {
>         if (manifestFile != null) {
>             File file = new File(project.getBasedir().getAbsolutePath(), manifestFile);
>             getLog().info("Manifest file: " + file.getAbsolutePath() + " will be used");
>             file = enablePomBundleClassPath(file);
>             archiveConfig.setManifestFile(file);
>         } else {
>             getLog().info("No manifest file specified. Default will be used.");
>         }
>     }
> and pom.xml
>         <configuration>
>           <manifestFile>manifest.mf</manifestFile>
>           <usePomBundleClassPath>true</usePomBundleClassPath>
>           .....
> If that makes sense, I can submit the changes.
> Regards, Mike

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira