You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Timothy Mcginnis <tm...@aessuccess.org> on 2010/05/13 16:26:20 UTC
Re: inheriting and reusing the same plugin for different
purposes? doesn't seem to find the right executions
What about using profiles? Define 3 profiles; one for wsdl only, one for
javascript only, and one for both. Then have the war project activate the
one it needs.
Tim McGinnis
717 720-1962
Web Development
AES/PHEAA
From:
"Shan Syed" <sh...@gmail.com>
To:
"Maven Users List" <us...@maven.apache.org>, kalpakrg@gmail.com
Date:
05/13/2010 09:54 AM
Subject:
Re: inheriting and reusing the same plugin for different purposes? doesn't
seem to find the right executions
Thanks, but the problem is that when I do that, both executions occur,
even
when I specify inheritance=false.
I basically need to use the same plugin for two different purposes,
without
either of them affecting the other; I tried to specify different versions
for the mvn dep plugin (i.e. in one block, specify 2.0, and 2.1 for the
other), but no dice.
Running mvn help:effective-pom on my WAR projects always shows the second
maven-dependency-plugin configuration from the root POM in the
pluginManagement section
BUT
in the actual plugin block, it shows the following (below)
(note the second execution, with not configuration or anything associated
with it)
What is the exact logic for the merging of plugin configs in a multimodule
project?
thanks
S
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<id>unpack-wsdls</id>
<phase>generate-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<outputDirectory>C:\dev\sk\sk-saml\sk-saml-web\sk-saml-server\target/war/WEB-INF/wsdl</outputDirectory>
</configuration>
</execution>
<execution>
<id>unpack-javascripts</id>
</execution>
</executions>
<configuration>
<artifactItems>
<artifactItem>
<artifactId>sk-javascript-token</artifactId>
<groupId>com.securekey.javascript</groupId>
<version>1.0-SNAPSHOT</version>
<classifier>javascript</classifier>
<type>zip</type>
</artifactItem>
</artifactItems>
</configuration>
</plugin>
On Thu, May 13, 2010 at 4:54 AM, Kalpak Gadre <ka...@gmail.com> wrote:
> I have never tried declaring the same plugin twice, but you can simply
> define more executions in the same plugin declaration like,
>
> <executions>
> <execution>
> <id>one</id>
> .
> .
> </execution>
> <execution>
> <id>two</id>
> .
> .
> </execution>
> </executions>
>
>
> Thanks,
>
> Kalpak
>
>
> Here's my scenario: I have a large multimodule project whose WARs share
>> certain dependencies, which are packaged as zips by a few simple
>> assemblies
>> I wrote.
>>
>> I am using the maven-dependency-plugin to unpack the contents of these
>> zips
>> into their destination folders in the webapps.
>>
>> However, to reduce clutter and minimize maintenance, the majority of
the
>> plugin configuration is in the root POM, like so:
>> (note that I am using the same plugin twice for two different reasons -
is
>> this valid?)
>>
>> <build>
>> <pluginManagement>
>> <plugins>
>> ...
>> <!-- unpacking of JAVASCRIPT dependencies -->
>> <plugin>
>> <groupId>org.apache.maven.plugins</groupId>
>> <artifactId>maven-dependency-plugin</artifactId>
>> <inherited>true</inherited>
>> <executions>
>> <execution>
>> <id>unpack-javascripts</id>
>> <goals>
>> <goal>unpack</goal>
>> </goals>
>> <phase>package</phase>
>> <configuration>
>>
>>
<outputDirectory>${project.build.directory}/war/scripts</outputDirectory>
>> </configuration>
>> </execution>
>> </executions>
>> </plugin>
>> <!-- unpacking of WSDL dependencies -->
>> <plugin>
>> <groupId>org.apache.maven.plugins</groupId>
>> <artifactId>maven-dependency-plugin</artifactId>
>> <inherited>true</inherited>
>> <executions>
>> <execution>
>> <id>unpack-wsdls</id>
>> <goals>
>> <goal>unpack</goal>
>> </goals>
>> <phase>generate-resources</phase>
>> <configuration>
>>
>>
>>
<outputDirectory>${project.build.directory}/war/WEB-INF/wsdl</outputDirectory>
>> </configuration>
>> </execution>
>> </executions>
>> </plugin>
>> </plugins>
>> </pluginManagement>
>> </build>
>>
>> Some WARs need the WSDLs, some need the javascript files, while others
>> don't
>> need either - it will be up to the developers creating those projects.
>>
>> Here is an example usage in one of the WARs (note the ID of the
execution,
>> which is expected to be used to merge the whole configuration)
>>
>> <build>
>> <plugins>
>> <plugin>
>> <artifactId>maven-dependency-plugin</artifactId>
>> <groupId>org.apache.maven.plugins</groupId>
>> <inherited>true</inherited>
>> <executions>
>> <execution>
>> <id>unpack-javascripts</id>
>> </execution>
>> </executions>
>> <configuration>
>> <artifactItems>
>> <artifactItem>
>>
>> <artifactId>sk-javascript-token</artifactId>
>>
>> <groupId>com.securekey.javascript</groupId>
>> <version>${project.version}</version>
>> <classifier>javascript</classifier>
>> <type>zip</type>
>> </artifactItem>
>> </artifactItems>
>> </configuration>
>> </plugin>
>> </plugins>
>> </build>
>>
>> So in general, the plugin configuration in the root POM will enforce
some
>> common things (destination folder, etc), and the usage will actually
allow
>> the developer to select what javascripts they need, without worrying
about
>> other configuration details.
>>
>> But the problem is when building, it's always the 2nd plugin
configuration
>> in the root POM that gets used, even though I specify the ID in the
leaf
>> POMs; so when I do an overall build, all the javascript files end up in
a
>> WSDL directory, even if I don't reference the WSDL execution at all.
>> I inverse the order, and the result is the opposite; the javascripts
end
>> up
>> in the right place, but all the WARs that have a WSDL dependency end up
>> with
>> a "scripts" directory full of WSDL files.
>>
>> I was under the impression that the ID is used to merge the
configurations
>> upon building the project, but I'm not seeing this. Is there a way to
>> specify exactly what configuration to bind to?
>> Specify two executions within the same<plugin> causes the same
behaviour,
>> except with both folders.
>>
>> To generalize, in a multi-module project, how can I use the same plugin
>> for
>> totally different uses/scenarios?
>>
>> thanks,
>>
>> Shan
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>
==============================================================================
This message contains privileged and confidential information intended for the above addressees only. If you
receive this message in error please delete or destroy this message and/or attachments.
The sender of this message will fully cooperate in the civil and criminal prosecution of any individual engaging
in the unauthorized use of this message.
==============================================================================
Re: inheriting and reusing the same plugin for different
purposes? doesn't seem to find the right executions
Posted by Timothy Mcginnis <tm...@aessuccess.org>.
Try this.
In your WAR POM remove all the maven-dependency-plugin and put this in
<properties>
<unpack-javascript>true</unpack-javascript>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<groupId>org.apache.maven.plugins</groupId>
<configuration>
<artifactItems>
<artifactItem>
<artifactId>sk-javascript-token</artifactId>
<groupId>com.securekey.javascript</groupId>
<version>${project.version}</version>
<classifier>javascript</classifier>
<type>zip</type>
</artifactItem>
</artifactItems>
</configuration>
</plugin>
</plugins>
</build>
In your Parent POM remove the current <profiles> section and put this in.
<profiles>
<profile>
<id>unpacking-WSDL</id>
<!-- profile will be activated when the property
"unpack-WSDL" is declared" -->
<activation>
<property>
<name>unpack-WSDL</name>
<value>true</value>
</property>
</activation>
<build>
<pluginManagement>
<plugins>
<!-- unpacking of WSDL
dependencies -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<inherited>true</inherited>
<executions>
<execution>
<id>unpack-wsdls</id>
<goals>
<goal>unpack</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<outputDirectory>${project.build.directory}/war/WEB-INF/wsdl</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>unpacking-javascript</id>
<!-- profile will be activated when the property
"unpack-javascript" is declared" -->
<activation>
<property>
<name>unpack-javascript</name>
<value>true</value>
</property>
</activation>
<build>
<pluginManagement>
<plugins>
<!-- unpacking of
JAVASCRIPT dependencies -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<inherited>false</inherited>
<executions>
<execution>
<id>unpack-javascripts</id>
<goals>
<goal>unpack</goal>
</goals>
<phase>package</phase>
<configuration>
<outputDirectory>${project.build.directory}/war/scripts</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
</profiles>
Tim McGinnis
717 720-1962
Web Development
AES/PHEAA
From:
"Shan Syed" <sh...@gmail.com>
To:
"Maven Users List" <us...@maven.apache.org>
Date:
05/13/2010 01:22 PM
Subject:
Re: inheriting and reusing the same plugin for different purposes? doesn't
seem to find the right executions
I tried this (in my WAR POM):
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>unpacking-javascript</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<groupId>org.apache.maven.plugins</groupId>
<executions>
<execution>
<id>unpack-javascripts</id>
</execution>
</executions>
<configuration>
<artifactItems>
<artifactItem>
<artifactId>sk-javascript-token</artifactId>
<groupId>com.securekey.javascript</groupId>
<version>${project.version}</version>
<classifier>javascript</classifier>
<type>zip</type>
</artifactItem>
</artifactItems>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
parent POM:
<profiles>
<profile>
<id>unpacking-WSDL</id>
<build>
<plugins>
<!-- unpacking of WSDL dependencies -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<inherited>true</inherited>
<executions>
<execution>
<id>unpack-wsdls</id>
<goals>
<goal>unpack</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<outputDirectory>${project.build.directory}/war/WEB-INF/wsdl</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>unpacking-javascript</id>
<build>
<pluginManagement>
<plugins>
<!-- unpacking of JAVASCRIPT dependencies
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<inherited>false</inherited>
<executions>
<execution>
<id>unpack-javascripts</id>
<goals>
<goal>unpack</goal>
</goals>
<phase>package</phase>
<configuration>
<outputDirectory>${project.build.directory}/war/scripts</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
</profiles>
still no effect, even though the maven-dependency-plugin is now mentioned
twice in the WAR's POM.. hmm, do I have to do the same in the parent POM?
i.e. specify the plugin in the build's plugin management?
\
On Thu, May 13, 2010 at 1:08 PM, Timothy Mcginnis
<tm...@aessuccess.org>wrote:
> Are you defining the plugin in your WAR POM also? Using the
> pluginManagement I believe you also need to call out the use of the
plugin
> in the WAR POM, but don't define any of the execution/configuration
data,
> that is provided by the pluginManagement in the profile.
>
>
> Profile provides this:
>
> <pluginManagement>
> <plugins>
> ...
> <!-- unpacking of JAVASCRIPT dependencies -->
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-dependency-plugin</artifactId>
> <inherited>true</inherited>
> <executions>
> <execution>
> <id>unpack-javascripts</id>
> <goals>
> <goal>unpack</goal>
> </goals>
> <phase>package</phase>
> <configuration>
>
<outputDirectory>${project.build.directory}/war/scripts</outputDirectory>
> </configuration>
> </execution>
> </executions>
> </plugin>
> </pluginManagement>
>
>
> WAR POM specifies this:
>
>
> <build>
> <plugins>
> <plugin>
> <groupId>org.apache.maven.plugins</groupid>
> <artifactId>maven-dependency-plugin</artifactId>
> </plugin>
> </plugins>
> </build>
>
>
>
> Tim McGinnis
> 717 720-1962
> Web Development
> AES/PHEAA
>
>
>
> From:
> "Shan Syed" <sh...@gmail.com>
> To:
> "Maven Users List" <us...@maven.apache.org>
> Date:
> 05/13/2010 12:51 PM
> Subject:
> Re: inheriting and reusing the same plugin for different purposes?
doesn't
> seem to find the right executions
>
>
>
> thanks - how would I set this up?
> I tried to specify two profiles in my parent POM, each with their own
> pluginManagement blocks, containing a maven-dependency-plugin
> configuration,
> and then activated the profile in the WAR projects' POMs, but there is
no
> result
>
> I basically want my plugins' meta config stored in the root, and
specific
> configs applied in the WAR projects
>
>
>
> On Thu, May 13, 2010 at 10:26 AM, Timothy Mcginnis
> <tm...@aessuccess.org>wrote:
>
> > What about using profiles? Define 3 profiles; one for wsdl only, one
> for
> > javascript only, and one for both. Then have the war project activate
> the
> > one it needs.
> >
> > Tim McGinnis
> > 717 720-1962
> > Web Development
> > AES/PHEAA
> >
> >
> >
> > From:
> > "Shan Syed" <sh...@gmail.com>
> > To:
> > "Maven Users List" <us...@maven.apache.org>, kalpakrg@gmail.com
> > Date:
> > 05/13/2010 09:54 AM
> > Subject:
> > Re: inheriting and reusing the same plugin for different purposes?
> doesn't
> > seem to find the right executions
> >
> >
> >
> > Thanks, but the problem is that when I do that, both executions occur,
> > even
> > when I specify inheritance=false.
> >
> > I basically need to use the same plugin for two different purposes,
> > without
> > either of them affecting the other; I tried to specify different
> versions
> > for the mvn dep plugin (i.e. in one block, specify 2.0, and 2.1 for
the
> > other), but no dice.
> >
> > Running mvn help:effective-pom on my WAR projects always shows the
> second
> > maven-dependency-plugin configuration from the root POM in the
> > pluginManagement section
> > BUT
> > in the actual plugin block, it shows the following (below)
> > (note the second execution, with not configuration or anything
> associated
> > with it)
> >
> > What is the exact logic for the merging of plugin configs in a
> multimodule
> > project?
> >
> > thanks
> >
> > S
> >
> > <plugin>
> > <artifactId>maven-dependency-plugin</artifactId>
> > <version>2.1</version>
> > <executions>
> > <execution>
> > <id>unpack-wsdls</id>
> > <phase>generate-resources</phase>
> > <goals>
> > <goal>unpack</goal>
> > </goals>
> > <configuration>
> >
> >
> >
>
>
<outputDirectory>C:\dev\sk\sk-saml\sk-saml-web\sk-saml-server\target/war/WEB-INF/wsdl</outputDirectory>
> > </configuration>
> > </execution>
> > <execution>
> > <id>unpack-javascripts</id>
> > </execution>
> > </executions>
> > <configuration>
> > <artifactItems>
> > <artifactItem>
> > <artifactId>sk-javascript-token</artifactId>
> > <groupId>com.securekey.javascript</groupId>
> > <version>1.0-SNAPSHOT</version>
> > <classifier>javascript</classifier>
> > <type>zip</type>
> > </artifactItem>
> > </artifactItems>
> > </configuration>
> > </plugin>
> >
> > On Thu, May 13, 2010 at 4:54 AM, Kalpak Gadre <ka...@gmail.com>
> wrote:
> >
> > > I have never tried declaring the same plugin twice, but you can
simply
> > > define more executions in the same plugin declaration like,
> > >
> > > <executions>
> > > <execution>
> > > <id>one</id>
> > > .
> > > .
> > > </execution>
> > > <execution>
> > > <id>two</id>
> > > .
> > > .
> > > </execution>
> > > </executions>
> > >
> > >
> > > Thanks,
> > >
> > > Kalpak
> > >
> > >
> > > Here's my scenario: I have a large multimodule project whose WARs
> share
> > >> certain dependencies, which are packaged as zips by a few simple
> > >> assemblies
> > >> I wrote.
> > >>
> > >> I am using the maven-dependency-plugin to unpack the contents of
> these
> > >> zips
> > >> into their destination folders in the webapps.
> > >>
> > >> However, to reduce clutter and minimize maintenance, the majority
of
> > the
> > >> plugin configuration is in the root POM, like so:
> > >> (note that I am using the same plugin twice for two different
reasons
> -
> > is
> > >> this valid?)
> > >>
> > >> <build>
> > >> <pluginManagement>
> > >> <plugins>
> > >> ...
> > >> <!-- unpacking of JAVASCRIPT dependencies -->
> > >> <plugin>
> > >> <groupId>org.apache.maven.plugins</groupId>
> > >> <artifactId>maven-dependency-plugin</artifactId>
> > >> <inherited>true</inherited>
> > >> <executions>
> > >> <execution>
> > >> <id>unpack-javascripts</id>
> > >> <goals>
> > >> <goal>unpack</goal>
> > >> </goals>
> > >> <phase>package</phase>
> > >> <configuration>
> > >>
> > >>
> >
>
<outputDirectory>${project.build.directory}/war/scripts</outputDirectory>
> > >> </configuration>
> > >> </execution>
> > >> </executions>
> > >> </plugin>
> > >> <!-- unpacking of WSDL dependencies -->
> > >> <plugin>
> > >> <groupId>org.apache.maven.plugins</groupId>
> > >> <artifactId>maven-dependency-plugin</artifactId>
> > >> <inherited>true</inherited>
> > >> <executions>
> > >> <execution>
> > >> <id>unpack-wsdls</id>
> > >> <goals>
> > >> <goal>unpack</goal>
> > >> </goals>
> > >> <phase>generate-resources</phase>
> > >> <configuration>
> > >>
> > >>
> > >>
> >
> >
>
>
<outputDirectory>${project.build.directory}/war/WEB-INF/wsdl</outputDirectory>
> > >> </configuration>
> > >> </execution>
> > >> </executions>
> > >> </plugin>
> > >> </plugins>
> > >> </pluginManagement>
> > >> </build>
> > >>
> > >> Some WARs need the WSDLs, some need the javascript files, while
> others
> > >> don't
> > >> need either - it will be up to the developers creating those
> projects.
> > >>
> > >> Here is an example usage in one of the WARs (note the ID of the
> > execution,
> > >> which is expected to be used to merge the whole configuration)
> > >>
> > >> <build>
> > >> <plugins>
> > >> <plugin>
> > >> <artifactId>maven-dependency-plugin</artifactId>
> > >> <groupId>org.apache.maven.plugins</groupId>
> > >> <inherited>true</inherited>
> > >> <executions>
> > >> <execution>
> > >> <id>unpack-javascripts</id>
> > >> </execution>
> > >> </executions>
> > >> <configuration>
> > >> <artifactItems>
> > >> <artifactItem>
> > >>
> > >> <artifactId>sk-javascript-token</artifactId>
> > >>
> > >> <groupId>com.securekey.javascript</groupId>
> > >> <version>${project.version}</version>
> > >> <classifier>javascript</classifier>
> > >> <type>zip</type>
> > >> </artifactItem>
> > >> </artifactItems>
> > >> </configuration>
> > >> </plugin>
> > >> </plugins>
> > >> </build>
> > >>
> > >> So in general, the plugin configuration in the root POM will
enforce
> > some
> > >> common things (destination folder, etc), and the usage will
actually
> > allow
> > >> the developer to select what javascripts they need, without
worrying
> > about
> > >> other configuration details.
> > >>
> > >> But the problem is when building, it's always the 2nd plugin
> > configuration
> > >> in the root POM that gets used, even though I specify the ID in the
> > leaf
> > >> POMs; so when I do an overall build, all the javascript files end
up
> in
> > a
> > >> WSDL directory, even if I don't reference the WSDL execution at
all.
> > >> I inverse the order, and the result is the opposite; the
javascripts
> > end
> > >> up
> > >> in the right place, but all the WARs that have a WSDL dependency
end
> up
> > >> with
> > >> a "scripts" directory full of WSDL files.
> > >>
> > >> I was under the impression that the ID is used to merge the
> > configurations
> > >> upon building the project, but I'm not seeing this. Is there a way
to
> > >> specify exactly what configuration to bind to?
> > >> Specify two executions within the same<plugin> causes the same
> > behaviour,
> > >> except with both folders.
> > >>
> > >> To generalize, in a multi-module project, how can I use the same
> plugin
> > >> for
> > >> totally different uses/scenarios?
> > >>
> > >> thanks,
> > >>
> > >> Shan
> > >>
> > >>
> > >>
> > >
> > >
> > >
---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > > For additional commands, e-mail: users-help@maven.apache.org
> > >
> > >
> >
> >
> >
> >
> >
>
>
==============================================================================
> > This message contains privileged and confidential information intended
> for
> > the above addressees only. If you
> > receive this message in error please delete or destroy this message
> and/or
> > attachments.
> >
> > The sender of this message will fully cooperate in the civil and
> criminal
> > prosecution of any individual engaging
> > in the unauthorized use of this message.
> >
> >
>
>
==============================================================================
> >
>
>
>
>
>
==============================================================================
> This message contains privileged and confidential information intended
for
> the above addressees only. If you
> receive this message in error please delete or destroy this message
and/or
> attachments.
>
> The sender of this message will fully cooperate in the civil and
criminal
> prosecution of any individual engaging
> in the unauthorized use of this message.
>
>
==============================================================================
>
==============================================================================
This message contains privileged and confidential information intended for the above addressees only. If you
receive this message in error please delete or destroy this message and/or attachments.
The sender of this message will fully cooperate in the civil and criminal prosecution of any individual engaging
in the unauthorized use of this message.
==============================================================================
Re: inheriting and reusing the same plugin for different purposes?
doesn't seem to find the right executions
Posted by Shan Syed <sh...@gmail.com>.
I tried this (in my WAR POM):
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>unpacking-javascript</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<groupId>org.apache.maven.plugins</groupId>
<executions>
<execution>
<id>unpack-javascripts</id>
</execution>
</executions>
<configuration>
<artifactItems>
<artifactItem>
<artifactId>sk-javascript-token</artifactId>
<groupId>com.securekey.javascript</groupId>
<version>${project.version}</version>
<classifier>javascript</classifier>
<type>zip</type>
</artifactItem>
</artifactItems>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
parent POM:
<profiles>
<profile>
<id>unpacking-WSDL</id>
<build>
<plugins>
<!-- unpacking of WSDL dependencies -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<inherited>true</inherited>
<executions>
<execution>
<id>unpack-wsdls</id>
<goals>
<goal>unpack</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<outputDirectory>${project.build.directory}/war/WEB-INF/wsdl</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>unpacking-javascript</id>
<build>
<pluginManagement>
<plugins>
<!-- unpacking of JAVASCRIPT dependencies -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<inherited>false</inherited>
<executions>
<execution>
<id>unpack-javascripts</id>
<goals>
<goal>unpack</goal>
</goals>
<phase>package</phase>
<configuration>
<outputDirectory>${project.build.directory}/war/scripts</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
</profiles>
still no effect, even though the maven-dependency-plugin is now mentioned
twice in the WAR's POM.. hmm, do I have to do the same in the parent POM?
i.e. specify the plugin in the build's plugin management?
\
On Thu, May 13, 2010 at 1:08 PM, Timothy Mcginnis
<tm...@aessuccess.org>wrote:
> Are you defining the plugin in your WAR POM also? Using the
> pluginManagement I believe you also need to call out the use of the plugin
> in the WAR POM, but don't define any of the execution/configuration data,
> that is provided by the pluginManagement in the profile.
>
>
> Profile provides this:
>
> <pluginManagement>
> <plugins>
> ...
> <!-- unpacking of JAVASCRIPT dependencies -->
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-dependency-plugin</artifactId>
> <inherited>true</inherited>
> <executions>
> <execution>
> <id>unpack-javascripts</id>
> <goals>
> <goal>unpack</goal>
> </goals>
> <phase>package</phase>
> <configuration>
> <outputDirectory>${project.build.directory}/war/scripts</outputDirectory>
> </configuration>
> </execution>
> </executions>
> </plugin>
> </pluginManagement>
>
>
> WAR POM specifies this:
>
>
> <build>
> <plugins>
> <plugin>
> <groupId>org.apache.maven.plugins</groupid>
> <artifactId>maven-dependency-plugin</artifactId>
> </plugin>
> </plugins>
> </build>
>
>
>
> Tim McGinnis
> 717 720-1962
> Web Development
> AES/PHEAA
>
>
>
> From:
> "Shan Syed" <sh...@gmail.com>
> To:
> "Maven Users List" <us...@maven.apache.org>
> Date:
> 05/13/2010 12:51 PM
> Subject:
> Re: inheriting and reusing the same plugin for different purposes? doesn't
> seem to find the right executions
>
>
>
> thanks - how would I set this up?
> I tried to specify two profiles in my parent POM, each with their own
> pluginManagement blocks, containing a maven-dependency-plugin
> configuration,
> and then activated the profile in the WAR projects' POMs, but there is no
> result
>
> I basically want my plugins' meta config stored in the root, and specific
> configs applied in the WAR projects
>
>
>
> On Thu, May 13, 2010 at 10:26 AM, Timothy Mcginnis
> <tm...@aessuccess.org>wrote:
>
> > What about using profiles? Define 3 profiles; one for wsdl only, one
> for
> > javascript only, and one for both. Then have the war project activate
> the
> > one it needs.
> >
> > Tim McGinnis
> > 717 720-1962
> > Web Development
> > AES/PHEAA
> >
> >
> >
> > From:
> > "Shan Syed" <sh...@gmail.com>
> > To:
> > "Maven Users List" <us...@maven.apache.org>, kalpakrg@gmail.com
> > Date:
> > 05/13/2010 09:54 AM
> > Subject:
> > Re: inheriting and reusing the same plugin for different purposes?
> doesn't
> > seem to find the right executions
> >
> >
> >
> > Thanks, but the problem is that when I do that, both executions occur,
> > even
> > when I specify inheritance=false.
> >
> > I basically need to use the same plugin for two different purposes,
> > without
> > either of them affecting the other; I tried to specify different
> versions
> > for the mvn dep plugin (i.e. in one block, specify 2.0, and 2.1 for the
> > other), but no dice.
> >
> > Running mvn help:effective-pom on my WAR projects always shows the
> second
> > maven-dependency-plugin configuration from the root POM in the
> > pluginManagement section
> > BUT
> > in the actual plugin block, it shows the following (below)
> > (note the second execution, with not configuration or anything
> associated
> > with it)
> >
> > What is the exact logic for the merging of plugin configs in a
> multimodule
> > project?
> >
> > thanks
> >
> > S
> >
> > <plugin>
> > <artifactId>maven-dependency-plugin</artifactId>
> > <version>2.1</version>
> > <executions>
> > <execution>
> > <id>unpack-wsdls</id>
> > <phase>generate-resources</phase>
> > <goals>
> > <goal>unpack</goal>
> > </goals>
> > <configuration>
> >
> >
> >
>
> <outputDirectory>C:\dev\sk\sk-saml\sk-saml-web\sk-saml-server\target/war/WEB-INF/wsdl</outputDirectory>
> > </configuration>
> > </execution>
> > <execution>
> > <id>unpack-javascripts</id>
> > </execution>
> > </executions>
> > <configuration>
> > <artifactItems>
> > <artifactItem>
> > <artifactId>sk-javascript-token</artifactId>
> > <groupId>com.securekey.javascript</groupId>
> > <version>1.0-SNAPSHOT</version>
> > <classifier>javascript</classifier>
> > <type>zip</type>
> > </artifactItem>
> > </artifactItems>
> > </configuration>
> > </plugin>
> >
> > On Thu, May 13, 2010 at 4:54 AM, Kalpak Gadre <ka...@gmail.com>
> wrote:
> >
> > > I have never tried declaring the same plugin twice, but you can simply
> > > define more executions in the same plugin declaration like,
> > >
> > > <executions>
> > > <execution>
> > > <id>one</id>
> > > .
> > > .
> > > </execution>
> > > <execution>
> > > <id>two</id>
> > > .
> > > .
> > > </execution>
> > > </executions>
> > >
> > >
> > > Thanks,
> > >
> > > Kalpak
> > >
> > >
> > > Here's my scenario: I have a large multimodule project whose WARs
> share
> > >> certain dependencies, which are packaged as zips by a few simple
> > >> assemblies
> > >> I wrote.
> > >>
> > >> I am using the maven-dependency-plugin to unpack the contents of
> these
> > >> zips
> > >> into their destination folders in the webapps.
> > >>
> > >> However, to reduce clutter and minimize maintenance, the majority of
> > the
> > >> plugin configuration is in the root POM, like so:
> > >> (note that I am using the same plugin twice for two different reasons
> -
> > is
> > >> this valid?)
> > >>
> > >> <build>
> > >> <pluginManagement>
> > >> <plugins>
> > >> ...
> > >> <!-- unpacking of JAVASCRIPT dependencies -->
> > >> <plugin>
> > >> <groupId>org.apache.maven.plugins</groupId>
> > >> <artifactId>maven-dependency-plugin</artifactId>
> > >> <inherited>true</inherited>
> > >> <executions>
> > >> <execution>
> > >> <id>unpack-javascripts</id>
> > >> <goals>
> > >> <goal>unpack</goal>
> > >> </goals>
> > >> <phase>package</phase>
> > >> <configuration>
> > >>
> > >>
> >
> <outputDirectory>${project.build.directory}/war/scripts</outputDirectory>
> > >> </configuration>
> > >> </execution>
> > >> </executions>
> > >> </plugin>
> > >> <!-- unpacking of WSDL dependencies -->
> > >> <plugin>
> > >> <groupId>org.apache.maven.plugins</groupId>
> > >> <artifactId>maven-dependency-plugin</artifactId>
> > >> <inherited>true</inherited>
> > >> <executions>
> > >> <execution>
> > >> <id>unpack-wsdls</id>
> > >> <goals>
> > >> <goal>unpack</goal>
> > >> </goals>
> > >> <phase>generate-resources</phase>
> > >> <configuration>
> > >>
> > >>
> > >>
> >
> >
>
> <outputDirectory>${project.build.directory}/war/WEB-INF/wsdl</outputDirectory>
> > >> </configuration>
> > >> </execution>
> > >> </executions>
> > >> </plugin>
> > >> </plugins>
> > >> </pluginManagement>
> > >> </build>
> > >>
> > >> Some WARs need the WSDLs, some need the javascript files, while
> others
> > >> don't
> > >> need either - it will be up to the developers creating those
> projects.
> > >>
> > >> Here is an example usage in one of the WARs (note the ID of the
> > execution,
> > >> which is expected to be used to merge the whole configuration)
> > >>
> > >> <build>
> > >> <plugins>
> > >> <plugin>
> > >> <artifactId>maven-dependency-plugin</artifactId>
> > >> <groupId>org.apache.maven.plugins</groupId>
> > >> <inherited>true</inherited>
> > >> <executions>
> > >> <execution>
> > >> <id>unpack-javascripts</id>
> > >> </execution>
> > >> </executions>
> > >> <configuration>
> > >> <artifactItems>
> > >> <artifactItem>
> > >>
> > >> <artifactId>sk-javascript-token</artifactId>
> > >>
> > >> <groupId>com.securekey.javascript</groupId>
> > >> <version>${project.version}</version>
> > >> <classifier>javascript</classifier>
> > >> <type>zip</type>
> > >> </artifactItem>
> > >> </artifactItems>
> > >> </configuration>
> > >> </plugin>
> > >> </plugins>
> > >> </build>
> > >>
> > >> So in general, the plugin configuration in the root POM will enforce
> > some
> > >> common things (destination folder, etc), and the usage will actually
> > allow
> > >> the developer to select what javascripts they need, without worrying
> > about
> > >> other configuration details.
> > >>
> > >> But the problem is when building, it's always the 2nd plugin
> > configuration
> > >> in the root POM that gets used, even though I specify the ID in the
> > leaf
> > >> POMs; so when I do an overall build, all the javascript files end up
> in
> > a
> > >> WSDL directory, even if I don't reference the WSDL execution at all.
> > >> I inverse the order, and the result is the opposite; the javascripts
> > end
> > >> up
> > >> in the right place, but all the WARs that have a WSDL dependency end
> up
> > >> with
> > >> a "scripts" directory full of WSDL files.
> > >>
> > >> I was under the impression that the ID is used to merge the
> > configurations
> > >> upon building the project, but I'm not seeing this. Is there a way to
> > >> specify exactly what configuration to bind to?
> > >> Specify two executions within the same<plugin> causes the same
> > behaviour,
> > >> except with both folders.
> > >>
> > >> To generalize, in a multi-module project, how can I use the same
> plugin
> > >> for
> > >> totally different uses/scenarios?
> > >>
> > >> thanks,
> > >>
> > >> Shan
> > >>
> > >>
> > >>
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > > For additional commands, e-mail: users-help@maven.apache.org
> > >
> > >
> >
> >
> >
> >
> >
>
> ==============================================================================
> > This message contains privileged and confidential information intended
> for
> > the above addressees only. If you
> > receive this message in error please delete or destroy this message
> and/or
> > attachments.
> >
> > The sender of this message will fully cooperate in the civil and
> criminal
> > prosecution of any individual engaging
> > in the unauthorized use of this message.
> >
> >
>
> ==============================================================================
> >
>
>
>
>
> ==============================================================================
> This message contains privileged and confidential information intended for
> the above addressees only. If you
> receive this message in error please delete or destroy this message and/or
> attachments.
>
> The sender of this message will fully cooperate in the civil and criminal
> prosecution of any individual engaging
> in the unauthorized use of this message.
>
> ==============================================================================
>
Re: inheriting and reusing the same plugin for different
purposes? doesn't seem to find the right executions
Posted by Timothy Mcginnis <tm...@aessuccess.org>.
Are you defining the plugin in your WAR POM also? Using the
pluginManagement I believe you also need to call out the use of the plugin
in the WAR POM, but don't define any of the execution/configuration data,
that is provided by the pluginManagement in the profile.
Profile provides this:
<pluginManagement>
<plugins>
...
<!-- unpacking of JAVASCRIPT dependencies -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<inherited>true</inherited>
<executions>
<execution>
<id>unpack-javascripts</id>
<goals>
<goal>unpack</goal>
</goals>
<phase>package</phase>
<configuration>
<outputDirectory>${project.build.directory}/war/scripts</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</pluginManagement>
WAR POM specifies this:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupid>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
</plugins>
</build>
Tim McGinnis
717 720-1962
Web Development
AES/PHEAA
From:
"Shan Syed" <sh...@gmail.com>
To:
"Maven Users List" <us...@maven.apache.org>
Date:
05/13/2010 12:51 PM
Subject:
Re: inheriting and reusing the same plugin for different purposes? doesn't
seem to find the right executions
thanks - how would I set this up?
I tried to specify two profiles in my parent POM, each with their own
pluginManagement blocks, containing a maven-dependency-plugin
configuration,
and then activated the profile in the WAR projects' POMs, but there is no
result
I basically want my plugins' meta config stored in the root, and specific
configs applied in the WAR projects
On Thu, May 13, 2010 at 10:26 AM, Timothy Mcginnis
<tm...@aessuccess.org>wrote:
> What about using profiles? Define 3 profiles; one for wsdl only, one
for
> javascript only, and one for both. Then have the war project activate
the
> one it needs.
>
> Tim McGinnis
> 717 720-1962
> Web Development
> AES/PHEAA
>
>
>
> From:
> "Shan Syed" <sh...@gmail.com>
> To:
> "Maven Users List" <us...@maven.apache.org>, kalpakrg@gmail.com
> Date:
> 05/13/2010 09:54 AM
> Subject:
> Re: inheriting and reusing the same plugin for different purposes?
doesn't
> seem to find the right executions
>
>
>
> Thanks, but the problem is that when I do that, both executions occur,
> even
> when I specify inheritance=false.
>
> I basically need to use the same plugin for two different purposes,
> without
> either of them affecting the other; I tried to specify different
versions
> for the mvn dep plugin (i.e. in one block, specify 2.0, and 2.1 for the
> other), but no dice.
>
> Running mvn help:effective-pom on my WAR projects always shows the
second
> maven-dependency-plugin configuration from the root POM in the
> pluginManagement section
> BUT
> in the actual plugin block, it shows the following (below)
> (note the second execution, with not configuration or anything
associated
> with it)
>
> What is the exact logic for the merging of plugin configs in a
multimodule
> project?
>
> thanks
>
> S
>
> <plugin>
> <artifactId>maven-dependency-plugin</artifactId>
> <version>2.1</version>
> <executions>
> <execution>
> <id>unpack-wsdls</id>
> <phase>generate-resources</phase>
> <goals>
> <goal>unpack</goal>
> </goals>
> <configuration>
>
>
>
<outputDirectory>C:\dev\sk\sk-saml\sk-saml-web\sk-saml-server\target/war/WEB-INF/wsdl</outputDirectory>
> </configuration>
> </execution>
> <execution>
> <id>unpack-javascripts</id>
> </execution>
> </executions>
> <configuration>
> <artifactItems>
> <artifactItem>
> <artifactId>sk-javascript-token</artifactId>
> <groupId>com.securekey.javascript</groupId>
> <version>1.0-SNAPSHOT</version>
> <classifier>javascript</classifier>
> <type>zip</type>
> </artifactItem>
> </artifactItems>
> </configuration>
> </plugin>
>
> On Thu, May 13, 2010 at 4:54 AM, Kalpak Gadre <ka...@gmail.com>
wrote:
>
> > I have never tried declaring the same plugin twice, but you can simply
> > define more executions in the same plugin declaration like,
> >
> > <executions>
> > <execution>
> > <id>one</id>
> > .
> > .
> > </execution>
> > <execution>
> > <id>two</id>
> > .
> > .
> > </execution>
> > </executions>
> >
> >
> > Thanks,
> >
> > Kalpak
> >
> >
> > Here's my scenario: I have a large multimodule project whose WARs
share
> >> certain dependencies, which are packaged as zips by a few simple
> >> assemblies
> >> I wrote.
> >>
> >> I am using the maven-dependency-plugin to unpack the contents of
these
> >> zips
> >> into their destination folders in the webapps.
> >>
> >> However, to reduce clutter and minimize maintenance, the majority of
> the
> >> plugin configuration is in the root POM, like so:
> >> (note that I am using the same plugin twice for two different reasons
-
> is
> >> this valid?)
> >>
> >> <build>
> >> <pluginManagement>
> >> <plugins>
> >> ...
> >> <!-- unpacking of JAVASCRIPT dependencies -->
> >> <plugin>
> >> <groupId>org.apache.maven.plugins</groupId>
> >> <artifactId>maven-dependency-plugin</artifactId>
> >> <inherited>true</inherited>
> >> <executions>
> >> <execution>
> >> <id>unpack-javascripts</id>
> >> <goals>
> >> <goal>unpack</goal>
> >> </goals>
> >> <phase>package</phase>
> >> <configuration>
> >>
> >>
>
<outputDirectory>${project.build.directory}/war/scripts</outputDirectory>
> >> </configuration>
> >> </execution>
> >> </executions>
> >> </plugin>
> >> <!-- unpacking of WSDL dependencies -->
> >> <plugin>
> >> <groupId>org.apache.maven.plugins</groupId>
> >> <artifactId>maven-dependency-plugin</artifactId>
> >> <inherited>true</inherited>
> >> <executions>
> >> <execution>
> >> <id>unpack-wsdls</id>
> >> <goals>
> >> <goal>unpack</goal>
> >> </goals>
> >> <phase>generate-resources</phase>
> >> <configuration>
> >>
> >>
> >>
>
>
<outputDirectory>${project.build.directory}/war/WEB-INF/wsdl</outputDirectory>
> >> </configuration>
> >> </execution>
> >> </executions>
> >> </plugin>
> >> </plugins>
> >> </pluginManagement>
> >> </build>
> >>
> >> Some WARs need the WSDLs, some need the javascript files, while
others
> >> don't
> >> need either - it will be up to the developers creating those
projects.
> >>
> >> Here is an example usage in one of the WARs (note the ID of the
> execution,
> >> which is expected to be used to merge the whole configuration)
> >>
> >> <build>
> >> <plugins>
> >> <plugin>
> >> <artifactId>maven-dependency-plugin</artifactId>
> >> <groupId>org.apache.maven.plugins</groupId>
> >> <inherited>true</inherited>
> >> <executions>
> >> <execution>
> >> <id>unpack-javascripts</id>
> >> </execution>
> >> </executions>
> >> <configuration>
> >> <artifactItems>
> >> <artifactItem>
> >>
> >> <artifactId>sk-javascript-token</artifactId>
> >>
> >> <groupId>com.securekey.javascript</groupId>
> >> <version>${project.version}</version>
> >> <classifier>javascript</classifier>
> >> <type>zip</type>
> >> </artifactItem>
> >> </artifactItems>
> >> </configuration>
> >> </plugin>
> >> </plugins>
> >> </build>
> >>
> >> So in general, the plugin configuration in the root POM will enforce
> some
> >> common things (destination folder, etc), and the usage will actually
> allow
> >> the developer to select what javascripts they need, without worrying
> about
> >> other configuration details.
> >>
> >> But the problem is when building, it's always the 2nd plugin
> configuration
> >> in the root POM that gets used, even though I specify the ID in the
> leaf
> >> POMs; so when I do an overall build, all the javascript files end up
in
> a
> >> WSDL directory, even if I don't reference the WSDL execution at all.
> >> I inverse the order, and the result is the opposite; the javascripts
> end
> >> up
> >> in the right place, but all the WARs that have a WSDL dependency end
up
> >> with
> >> a "scripts" directory full of WSDL files.
> >>
> >> I was under the impression that the ID is used to merge the
> configurations
> >> upon building the project, but I'm not seeing this. Is there a way to
> >> specify exactly what configuration to bind to?
> >> Specify two executions within the same<plugin> causes the same
> behaviour,
> >> except with both folders.
> >>
> >> To generalize, in a multi-module project, how can I use the same
plugin
> >> for
> >> totally different uses/scenarios?
> >>
> >> thanks,
> >>
> >> Shan
> >>
> >>
> >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > For additional commands, e-mail: users-help@maven.apache.org
> >
> >
>
>
>
>
>
==============================================================================
> This message contains privileged and confidential information intended
for
> the above addressees only. If you
> receive this message in error please delete or destroy this message
and/or
> attachments.
>
> The sender of this message will fully cooperate in the civil and
criminal
> prosecution of any individual engaging
> in the unauthorized use of this message.
>
>
==============================================================================
>
==============================================================================
This message contains privileged and confidential information intended for the above addressees only. If you
receive this message in error please delete or destroy this message and/or attachments.
The sender of this message will fully cooperate in the civil and criminal prosecution of any individual engaging
in the unauthorized use of this message.
==============================================================================
Re: inheriting and reusing the same plugin for different purposes?
doesn't seem to find the right executions
Posted by Shan Syed <sh...@gmail.com>.
thanks - how would I set this up?
I tried to specify two profiles in my parent POM, each with their own
pluginManagement blocks, containing a maven-dependency-plugin configuration,
and then activated the profile in the WAR projects' POMs, but there is no
result
I basically want my plugins' meta config stored in the root, and specific
configs applied in the WAR projects
On Thu, May 13, 2010 at 10:26 AM, Timothy Mcginnis
<tm...@aessuccess.org>wrote:
> What about using profiles? Define 3 profiles; one for wsdl only, one for
> javascript only, and one for both. Then have the war project activate the
> one it needs.
>
> Tim McGinnis
> 717 720-1962
> Web Development
> AES/PHEAA
>
>
>
> From:
> "Shan Syed" <sh...@gmail.com>
> To:
> "Maven Users List" <us...@maven.apache.org>, kalpakrg@gmail.com
> Date:
> 05/13/2010 09:54 AM
> Subject:
> Re: inheriting and reusing the same plugin for different purposes? doesn't
> seem to find the right executions
>
>
>
> Thanks, but the problem is that when I do that, both executions occur,
> even
> when I specify inheritance=false.
>
> I basically need to use the same plugin for two different purposes,
> without
> either of them affecting the other; I tried to specify different versions
> for the mvn dep plugin (i.e. in one block, specify 2.0, and 2.1 for the
> other), but no dice.
>
> Running mvn help:effective-pom on my WAR projects always shows the second
> maven-dependency-plugin configuration from the root POM in the
> pluginManagement section
> BUT
> in the actual plugin block, it shows the following (below)
> (note the second execution, with not configuration or anything associated
> with it)
>
> What is the exact logic for the merging of plugin configs in a multimodule
> project?
>
> thanks
>
> S
>
> <plugin>
> <artifactId>maven-dependency-plugin</artifactId>
> <version>2.1</version>
> <executions>
> <execution>
> <id>unpack-wsdls</id>
> <phase>generate-resources</phase>
> <goals>
> <goal>unpack</goal>
> </goals>
> <configuration>
>
>
> <outputDirectory>C:\dev\sk\sk-saml\sk-saml-web\sk-saml-server\target/war/WEB-INF/wsdl</outputDirectory>
> </configuration>
> </execution>
> <execution>
> <id>unpack-javascripts</id>
> </execution>
> </executions>
> <configuration>
> <artifactItems>
> <artifactItem>
> <artifactId>sk-javascript-token</artifactId>
> <groupId>com.securekey.javascript</groupId>
> <version>1.0-SNAPSHOT</version>
> <classifier>javascript</classifier>
> <type>zip</type>
> </artifactItem>
> </artifactItems>
> </configuration>
> </plugin>
>
> On Thu, May 13, 2010 at 4:54 AM, Kalpak Gadre <ka...@gmail.com> wrote:
>
> > I have never tried declaring the same plugin twice, but you can simply
> > define more executions in the same plugin declaration like,
> >
> > <executions>
> > <execution>
> > <id>one</id>
> > .
> > .
> > </execution>
> > <execution>
> > <id>two</id>
> > .
> > .
> > </execution>
> > </executions>
> >
> >
> > Thanks,
> >
> > Kalpak
> >
> >
> > Here's my scenario: I have a large multimodule project whose WARs share
> >> certain dependencies, which are packaged as zips by a few simple
> >> assemblies
> >> I wrote.
> >>
> >> I am using the maven-dependency-plugin to unpack the contents of these
> >> zips
> >> into their destination folders in the webapps.
> >>
> >> However, to reduce clutter and minimize maintenance, the majority of
> the
> >> plugin configuration is in the root POM, like so:
> >> (note that I am using the same plugin twice for two different reasons -
> is
> >> this valid?)
> >>
> >> <build>
> >> <pluginManagement>
> >> <plugins>
> >> ...
> >> <!-- unpacking of JAVASCRIPT dependencies -->
> >> <plugin>
> >> <groupId>org.apache.maven.plugins</groupId>
> >> <artifactId>maven-dependency-plugin</artifactId>
> >> <inherited>true</inherited>
> >> <executions>
> >> <execution>
> >> <id>unpack-javascripts</id>
> >> <goals>
> >> <goal>unpack</goal>
> >> </goals>
> >> <phase>package</phase>
> >> <configuration>
> >>
> >>
> <outputDirectory>${project.build.directory}/war/scripts</outputDirectory>
> >> </configuration>
> >> </execution>
> >> </executions>
> >> </plugin>
> >> <!-- unpacking of WSDL dependencies -->
> >> <plugin>
> >> <groupId>org.apache.maven.plugins</groupId>
> >> <artifactId>maven-dependency-plugin</artifactId>
> >> <inherited>true</inherited>
> >> <executions>
> >> <execution>
> >> <id>unpack-wsdls</id>
> >> <goals>
> >> <goal>unpack</goal>
> >> </goals>
> >> <phase>generate-resources</phase>
> >> <configuration>
> >>
> >>
> >>
>
> <outputDirectory>${project.build.directory}/war/WEB-INF/wsdl</outputDirectory>
> >> </configuration>
> >> </execution>
> >> </executions>
> >> </plugin>
> >> </plugins>
> >> </pluginManagement>
> >> </build>
> >>
> >> Some WARs need the WSDLs, some need the javascript files, while others
> >> don't
> >> need either - it will be up to the developers creating those projects.
> >>
> >> Here is an example usage in one of the WARs (note the ID of the
> execution,
> >> which is expected to be used to merge the whole configuration)
> >>
> >> <build>
> >> <plugins>
> >> <plugin>
> >> <artifactId>maven-dependency-plugin</artifactId>
> >> <groupId>org.apache.maven.plugins</groupId>
> >> <inherited>true</inherited>
> >> <executions>
> >> <execution>
> >> <id>unpack-javascripts</id>
> >> </execution>
> >> </executions>
> >> <configuration>
> >> <artifactItems>
> >> <artifactItem>
> >>
> >> <artifactId>sk-javascript-token</artifactId>
> >>
> >> <groupId>com.securekey.javascript</groupId>
> >> <version>${project.version}</version>
> >> <classifier>javascript</classifier>
> >> <type>zip</type>
> >> </artifactItem>
> >> </artifactItems>
> >> </configuration>
> >> </plugin>
> >> </plugins>
> >> </build>
> >>
> >> So in general, the plugin configuration in the root POM will enforce
> some
> >> common things (destination folder, etc), and the usage will actually
> allow
> >> the developer to select what javascripts they need, without worrying
> about
> >> other configuration details.
> >>
> >> But the problem is when building, it's always the 2nd plugin
> configuration
> >> in the root POM that gets used, even though I specify the ID in the
> leaf
> >> POMs; so when I do an overall build, all the javascript files end up in
> a
> >> WSDL directory, even if I don't reference the WSDL execution at all.
> >> I inverse the order, and the result is the opposite; the javascripts
> end
> >> up
> >> in the right place, but all the WARs that have a WSDL dependency end up
> >> with
> >> a "scripts" directory full of WSDL files.
> >>
> >> I was under the impression that the ID is used to merge the
> configurations
> >> upon building the project, but I'm not seeing this. Is there a way to
> >> specify exactly what configuration to bind to?
> >> Specify two executions within the same<plugin> causes the same
> behaviour,
> >> except with both folders.
> >>
> >> To generalize, in a multi-module project, how can I use the same plugin
> >> for
> >> totally different uses/scenarios?
> >>
> >> thanks,
> >>
> >> Shan
> >>
> >>
> >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > For additional commands, e-mail: users-help@maven.apache.org
> >
> >
>
>
>
>
> ==============================================================================
> This message contains privileged and confidential information intended for
> the above addressees only. If you
> receive this message in error please delete or destroy this message and/or
> attachments.
>
> The sender of this message will fully cooperate in the civil and criminal
> prosecution of any individual engaging
> in the unauthorized use of this message.
>
> ==============================================================================
>