Re: maven-wolifecycle-plugin configuration options?

From: Lachlan Deck (lachlan.dec..mail.com)
Date: Tue Apr 22 2008 - 21:07:38 EDT

  • Next message: Gary Teter: "Invalid thread access during file search"

    Hi Henrique,

    On 23/04/2008, at 6:25 AM, Henrique Prange wrote:

    > On Tue, Apr 22, 2008 at 1:18 AM, Lachlan Deck
    > <lachlan.dec..mail.com> wrote:
    >> But I'm not seeing a list of configuration options available. Apart
    >> from
    >> scouring the source code, would someone have a list already?
    >> e.g.,
    >> a) what does <extensions>true</extensions> do?
    >
    > You must use the extensions tag to tell Maven to extend the build
    > process with some plug-in, in this case maven-wolifecycle-plugin. With
    > this configuration you be able to package WO projects as woapplication
    > and woframework.

    Ah, I see.

    > In order to build a WebObjects application/framework you have to add
    > the following snippet to your pom.xml:
    >
    > <build>
    > ...
    > <plugins>
    > <plugin>
    > <groupId>org.objectstyle.woproject.maven2</groupId>
    > <artifactId>maven-wolifecycle-plugin</artifactId>
    > <extensions>true</extensions>
    > </plugin>
    > </plugins>
    > ...
    > </build>

    Yeah, woops... that was the bit I'd forgotten.
    foundrylogic is not being resolved, however.... so looks like I need
    to add objectstyle.org/maven2 to the repositories list (which wasn't
    listed in the Wonder poms).

    > You also have to change the packaging to woframework or woapplication.
    > You can configure the above snippet once in a Super POM.
    >
    >> b) what options can go within <configuration>...</configuration>?
    >
    > There are 3 configuration tags available:
    >
    > 1) readPatternsets (boolean): change to true to read the WOProject
    > patternset files and gather the information about resources inclusion
    > and exclusion.
    >
    > ${projectDir}/woproject/wsresources.exclude.patternset
    > ${projectDir}/woproject/wsresources.include.patternset
    > ${projectDir}/woproject/resources.include.patternset
    > ${projectDir}/woproject/resources.exclude.patternset
    >
    > 2) includeJavaClientClassesInWebServerResources (boolean): change to
    > true to include the JavaClient classes into your package.
    >
    > 3) skipAppleProvidedFrameworks (boolean): change to true if you don't
    > want the WebObjects libraries to be included in the application
    > package.
    >
    > The default value for these configurations is false.

    Okay - thanks for that. I might throw these up on the wiki.

    >> I've got my own frameworks building as jars (not frameworks) just
    >> fine
    >> (just utilising standard maven stuff).
    >>
    >
    > Have you added the Info.plist manually? The woframework packaging can
    > do it for you automatically. :)

    I've got the Info.plist templated once (in the parent src dir) and
    filtered per module with the appropriate properties (additionally
    setting the appropriate java-target etc). Not difficult :-)

       <build>
         <sourceDirectory>src</sourceDirectory>
         <testSourceDirectory>tests</testSourceDirectory>
         <resources>
           <resource>
             <targetPath>Resources</targetPath>
             <filtering>true</filtering>
             <directory>../src/main/resources</directory>
           </resource>
           <resource>
             <targetPath>Resources</targetPath>
             <filtering>false</filtering>
             <directory>Components</directory>
           </resource>
           <resource>
             <targetPath>Resources</targetPath>
             <filtering>false</filtering>
             <directory>Resources</directory>
           </resource>
           <resource>
             <targetPath>WebServerResources</targetPath>
             <filtering>false</filtering>
             <directory>WebServerResources</directory>
           </resource>
         </resources>
       </build>

    >> So, apart from going down the assembly route, I'm wondering (for
    >> building
    >> the apps themselves):
    >> - what kind of dependency declarations (scope-wise) people are
    >> using for
    >> their frameworks such that they are then treated like libs and
    >> copied into
    >> the resulting app bundle?
    >
    > We have been using WO dependencies like any other kind of dependency.
    >
    >> - what configuration keys/values are available for determining what's
    >> bundled etc?
    >
    > Can you give an example about something you want to do?

    e.g., bundling all the libs of all the dependencies where scope is
    provided. When scope is compile they're combined into a single jar.
    This will help with deployments/rsyncs...

    with regards,

    --
    

    Lachlan Deck



    This archive was generated by hypermail 2.0.0 : Tue Apr 22 2008 - 21:08:52 EDT