Hi,

On Thu, Apr 12, 2012 at 11:25 AM, Clement Escoffier <
[email protected]> wrote:

> Hi,
>
> On 11.04.2012, at 18:31, Göktürk Gezer wrote:
>
> > Hi Clement,
> >
> >
> >>> Question is, in which shape we should integrate that facility into
> maven
> >>> build:
> >>> * A new goal for directoryManipulation for use in 'compile' phase
> >>> * A new boolean property for ipojo-bundle goal to unpack manipulated
> >>> content into project folder
> >>> * Modification of current mojo to also accept directory paths as
> >>> manipulation candidate
> >>> * Or combination of above approaches,
> >>>
> >>
> >> So, I will eliminate 2 because of the overhead. I would be in favor of 1
> >> because you don't actually have to package the bundle to get it to work,
> >> however it requires the manifest to be updated too. I'm not sure that
> this
> >> is actually possible.
> >>
> > I reconsidered the option-1 today and yeah, it seems non-trivial just
> > inside maven-ipojo-plugin. But i've managed to implement the option-1
> that
> > way:
> >
> > *Created a new goal "ipojo-manipulate" in "process-classes" phase, which
> > extends maven-bundle-plugin's "manifest" goal. Plugin property
> propagation
> > is managed by maven-inherit-plugin added to parent pom.
> > *As i see maven-ipojo-plugin is beeing used with maven-bundle-plugin
> > generally. So i read the maven-bundle-plugin configuration in pom.xml
> > inside "ipojo-manipulate" mojo to issue a MANIFEST file generation.
> > If pom.xml does not contain maven-bundle-plugin instructions then
> MANIFEST
> > is generated with default values by bnd.
> > *Then manipulate the class contents and MANIFEST file using
> > directoryManipulation();
> >
> > In my experiments, manipulated contents and MANIFEST work just fine after
> > maven-bundle-plugin:bundle without maven-ipojo-plugin:ipojo-bundle after
> > packaging.
> >
> > When configured correctly with m2e plugin, i believe that this new goal
> can
> > replace ipojo-ant task inside eclipse. But i don't know it for sure,
> didn't
> > tried it yet, since i don't know how m2e's MavenBuilder works internally.
> >
> > One problem with the implementation comes from
> > DirectoryResourceStore.open() method, since it is writing manipulated
> > MANIFEST to a fixed location rather then altering given MANIFEST. So i
> > added a additional field to DirectoryResourceStore to keep MANIFEST
> file's
> > path, then used it. However i don't know if i'm breaking some intended
> > behavior here?
> >
> > Please let me know WDYT about that approach in theory …
>
> The DirectoryResourceStore is definitely extendible. Guillaume has
> probably a better idea about it. But anyway, it looks really cool !
>

I attached the patch in jira.

With this patch:

<plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-ipojo-plugin</artifactId>
        <version>1.9.0-SNAPSHOT</version>
        <executions>
          <execution>
            <id>ipojo-directory-manipulation</id>
            <phase>compile</phase>
            <goals>
              <goal>ipojo-manipulate</goal>
            </goals>
            <configuration>
              <manifestLocation>META-INF</manifestLocation>
            </configuration>
          </execution>
        </executions>
      </plugin>

that definition along with the maven-bundle-plugin definition will generate
the MANIFEST and manipulate the classes in "mvn compile". Clients can
specify manifestLocation in both maven-bundle-plugin and maven-ipojo-plugin
to let them be the same location at their will.

>
> Regards,
>
> Clement
>
>
> >
> > From my favorite to less favorite:  1 - 3 - 2.
> >
> >
> >> Regards,
> >>
> >> Clement
> >>
> >>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to