If you use Eclipse to deploy your project to a maven repo, using the Maven >
Build... menu, you should be able to disable the m2e profile by adding !m2e
in the profile input text, that way the maven build launched within eclipse
will use the exact same configuration as a plain CLI invocation.

(I hope I understood your use case)

2011/10/14 Gustavo Henrique Orair <[email protected]>

> Fred Bricon,
> Thanks for your prompt response!
>
> I think that in your proposed approach resides a problem. If we use these
> approach, we cannot deploy (maven-deploy) the package inside Eclipse
> anymore.
> This is a problem for us because we do not use CI software (such as
> Hudson), so our developers deploy these artifacts manually to maven
> repository (and presently we allow them to use Eclipse to do that).
> If they do that, they will not understand why the deployed application will
> not work when we package this WAR deployed inside an EAR project.
>
> I don't think files inside ${project.build.directory}/m2e-wtp/web-resources
> would be packaged inside the generated .war file?
> Am I right?
>
> Regards,
> Orair.
>
>
> 2011/10/14 Fred Bricon <[email protected]>
>
>> Instead of having 2 execution-ids of the same plugin, I would use only one
>> and define an yuiCompressorOutput property, having the default value of
>> ${project.build.directory}/${project.build.finalName} and the value used
>> within m2e would be ${project.build.directory}/m2e-wtp/web-resources/
>>
>> That'd look like
>>
>> ...
>> [in yuicompressor-maven-plugin config]
>> <output>${yuiCompressorOutput}/resources/js/0_1_2/script-min.js</output>
>> ...
>>
>> ...
>> <properties>
>>
>> <yuiCompressorOutput>${project.build.directory}/${project.build.finalName}</yuiCompressorOutput>
>> </properties>
>> ...
>> <profiles>
>>     <profile>
>>        <id>m2e</id>
>>       <activation>
>>           <property>
>>              <name>m2e.version</name>
>>            </property>
>>       </activation>
>>       <properties>
>>
>> <yuiCompressorOutput>${project.build.directory}/m2e-wtp/web-resources/
>> </yuiCompressorOutput>
>>       </properties>
>>     </profile>
>> </profiles>
>>
>> Regards,
>>
>> Fred Bricon
>>
>> 2011/10/14 Gustavo Henrique Orair <[email protected]>
>>
>>> Recently,
>>> we've decided to migrate to Eclipse Indigo and uses m2e 1.0.
>>> But, we have problems trying to tackle the lifecycle mapping problem.
>>> As I understood, we have to define in pom.xml lifecycle mapping metadata
>>> to instruct Eclipse which executions should be executed when sources are
>>> changed.
>>>
>>> In our WAR project, we want to write many small javascript source files
>>> and these files would be merged in an unique file (minified or not). For
>>> this task, we've planned to use yuicompressor-maven-plugin.
>>> I didn't find too many docs instructing how to develop a connector for
>>> this plugin. Just found an example inside m2e-core sources defining a
>>> lyfecicle mapping metadata to instruct m2e to ignore the execution of this
>>> plugin.
>>> However, we would want to use and reference the merged file while
>>> deploying the artifact using Eclipse WTP.
>>>
>>> The solution (I found googling) looks like to be instruct the plugin to
>>> generate the merged javascript file inside m2e-wtp/web-resources/ directory.
>>> So, we have to define two executions for this plugin. One to generate the
>>> merged file inside target (to be packaged) by maven (yuicompressor-default
>>> execution id) another to generate the merged file inside
>>> m2e-wtp/web-resources/ directory(yuicompressor-
>>> eclipse execution id).
>>> The second step would be to create the lifecycle metadata to instruct the
>>> execution of the plugin that generates the merged file inside
>>> m2e-wtp/web-resources.
>>> One problem in this approach is that for each source file changed, both
>>> yuicompressor-maven-plugin are executed since we didn't find a way to ignore
>>> just the yuicompressor-default execution.
>>>
>>> Here I present my pom.xml relevant sections:
>>> Metadata filecycle mapping:
>>>
>>>         <pluginManagement>
>>>             <plugins>
>>>                 <!--This plugin's configuration is used to store Eclipse
>>> m2e settings only. It has no influence on the Maven build itself.-->
>>>                 <plugin>
>>>                     <groupId>org.eclipse.m2e</groupId>
>>>                     <artifactId>lifecycle-mapping</artifactId>
>>>                     <version>1.0.0</version>
>>>                     <configuration>
>>>                         <lifecycleMappingMetadata>
>>>                             <pluginExecutions>
>>>                                 <pluginExecution>
>>>                                     <pluginExecutionFilter>
>>>
>>> <groupId>net.alchim31.maven</groupId>
>>>
>>> <artifactId>yuicompressor-maven-plugin</artifactId>
>>>
>>> <versionRange>[1.2,)</versionRange>
>>>                                         <id>yuicompressor-eclipse</id>
>>>                                         <goals>
>>>                                             <goal>compress</goal>
>>>                                         </goals>
>>>                                     </pluginExecutionFilter>
>>>                                     <action>
>>>                                         <execute></execute>
>>>                                     </action>
>>>                                 </pluginExecution>
>>>                             </pluginExecutions>
>>>                         </lifecycleMappingMetadata>
>>>                     </configuration>
>>>                 </plugin>
>>>             </plugins>
>>>         </pluginManagement>
>>>
>>>
>>>
>>>
>>> Yui Compreessor maven Plugin configuration
>>>
>>>         <plugins>
>>>             <plugin>
>>>                 <groupId>net.alchim31.maven</groupId>
>>>                 <artifactId>yuicompressor-maven-plugin</artifactId>
>>>                 <version>1.2</version>
>>>                 <executions>
>>>                     <execution>
>>>                         <id>yuicompressor-default</id>
>>>                         <phase>process-resources</phase>
>>>                         <goals>
>>>                             <goal>compress</goal>
>>>                         </goals>
>>>                         <inherited>false</inherited>
>>>                         <configuration>
>>>                             <aggregations>
>>>                                 <aggregation>
>>>                                     <!-- remove files after aggregation
>>> (default: false) <removeIncluded>true</removeIncluded> -->
>>>                                     <!-- insert new line after each
>>> concatenation (default: false) -->
>>>                                     <insertNewLine>true</insertNewLine>
>>>
>>> <output>${project.build.directory}/${project.build.finalName}/resources/js/0_1_2/script.js</output>
>>>                                     <!-- base directory for non absolute
>>> includes, default to parent dir of output -->
>>>
>>> <inputDir>${basedir}/src/main/webapp/resources/js/0_1_2</inputDir>
>>>                                     <!-- files to include, path relative
>>> to output's directory or absolute path -->
>>>                                     <includes>
>>>                                         <include>file1.js</include>
>>>                                         <include>file2.js</include>
>>>                                         <include>file3.js</include>
>>>                                         <include>file4.js</include>
>>>                                         <include>file5.js</include>
>>>                                         <include>file6.js</include>
>>>                                         <include>file7.js</include>
>>>                                     </includes>
>>>                                     <!-- files to exclude, path relative
>>> to output's directory <excludes> <exclude>**/*.pack.js</exclude>
>>> <exclude>**/compressed.css</exclude>
>>>                                         </excludes> -->
>>>                                 </aggregation>
>>>                                 <aggregation>
>>>                                     <!-- remove files after aggregation
>>> (default: false) <removeIncluded>true</removeIncluded> -->
>>>                                     <!-- insert new line after each
>>> concatenation (default: false) -->
>>>                                     <insertNewLine>true</insertNewLine>
>>>
>>> <output>${project.build.directory}/${project.build.finalName}/resources/js/0_1_2/script-min.js</output>
>>>                                     <!-- base directory for non absolute
>>> includes, default to parent dir of output -->
>>>
>>> <inputDir>${project.build.directory}/${project.build.finalName}/resources/js/0_1_2</inputDir>
>>>                                     <!-- files to include, path relative
>>> to output's directory or absolute path -->
>>>                                     <includes>
>>>                                         <include>file1-min.js</include>
>>>                                         <include>file2-min.js</include>
>>>                                         <include>file3-min.js</include>
>>>                                         <include>file4-min.js</include>
>>>                                         <include>file5-min.js</include>
>>>                                         <include>file6-min.js</include>
>>>                                         <include>file7-min.js</include>
>>>                                     </includes>
>>>                                     <!-- files to exclude, path relative
>>> to output's directory <excludes> <exclude>**/*.pack.js</exclude>
>>> <exclude>**/compressed.css</exclude>
>>>                                         </excludes> -->
>>>                                 </aggregation>
>>>                             </aggregations>
>>>                         </configuration>
>>>                     </execution>
>>>                     <execution>
>>>                         <id>yuicompressor-eclipse</id>
>>>                         <phase>process-resources</phase>
>>>                         <goals>
>>>                             <goal>compress</goal>
>>>                         </goals>
>>>                         <inherited>false</inherited>
>>>                         <configuration>
>>>                             <aggregations>
>>>                                 <aggregation>
>>>                                     <!-- remove files after aggregation
>>> (default: false) <removeIncluded>true</removeIncluded> -->
>>>                                     <!-- insert new line after each
>>> concatenation (default: false) -->
>>>                                     <insertNewLine>true</insertNewLine>
>>>
>>> <output>${project.build.directory}/m2e-wtp/web-resources/resources/js/0_1_2/script.js</output>
>>>
>>>                                     <!-- base directory for non absolute
>>> includes, default to parent dir of output -->
>>>
>>> <inputDir>${basedir}/src/main/webapp/resources/js/0_1_2</inputDir>
>>>                                     <!-- files to include, path relative
>>> to output's directory or absolute path -->
>>>                                     <includes>
>>>                                         <include>file1-min.js</include>
>>>                                         <include>file2-min.js</include>
>>>                                         <include>file3-min.js</include>
>>>                                         <include>file4-min.js</include>
>>>                                         <include>file5-min.js</include>
>>>                                         <include>file6-min.js</include>
>>>                                         <include>file7-min.js</include>
>>>                                     </includes>
>>>                                     <!-- files to exclude, path relative
>>> to output's directory <excludes> <exclude>**/*.pack.js</exclude>
>>> <exclude>**/compressed.css</exclude>
>>>                                         </excludes> -->
>>>                                 </aggregation>
>>>                                 <aggregation>
>>>                                     <!-- remove files after aggregation
>>> (default: false) <removeIncluded>true</removeIncluded> -->
>>>                                     <!-- insert new line after each
>>> concatenation (default: false) -->
>>>                                     <insertNewLine>true</insertNewLine>
>>>
>>> <output>${project.build.directory}/m2e-wtp/web-resources/resources/js/0_1_2/script-min.js</output>
>>>                                     <!-- base directory for non absolute
>>> includes, default to parent dir of output -->
>>>
>>> <inputDir>${project.build.directory}/${project.build.finalName}/resources/js/0_1_2</inputDir>
>>>                                     <!-- files to include, path relative
>>> to output's directory or absolute path -->
>>>                                     <includes>
>>>                                         <include>file1-min.js</include>
>>>                                         <include>file2-min.js</include>
>>>                                         <include>file3-min.js</include>
>>>                                         <include>file4-min.js</include>
>>>                                         <include>file5-min.js</include>
>>>                                         <include>file6-min.js</include>
>>>                                         <include>file7-min.js</include>
>>>                                     </includes>
>>>                                     <!-- files to exclude, path relative
>>> to output's directory <excludes> <exclude>**/*.pack.js</exclude>
>>> <exclude>**/compressed.css</exclude>
>>>                                         </excludes> -->
>>>                                 </aggregation>
>>>                             </aggregations>
>>>                         </configuration>
>>>                     </execution>
>>>                 </executions>
>>>                 <configuration>
>>>                     <!--
>>> <disableOptimizations>false</disableOptimizations> -->
>>>
>>>                     <!-- <encoding></encoding> -->
>>>                     <!-- <failOnWarning>true</failOnWarning> -->
>>>                     <!-- Zip the files. Defaults to false -->
>>>                     <!-- <gzip>true</gzip> -->
>>>                     <!-- force the compression of every files, else if
>>> compressed file already exists and is younger than source file, nothing is
>>> done. -->
>>>                     <!-- <force>true</force> -->
>>>                     <!-- Unable JavaScript warnings  -->
>>>                     <jswarn>false</jswarn>
>>>                 </configuration>
>>>             </plugin>
>>>         </plugins>
>>>
>>>
>>> Is there another better way to integrate merging and minifying javascript
>>> or css files inside m2e lifecycle deploying phase?
>>>
>>>
>>> Best regards,
>>> Orair.
>>>
>>> _______________________________________________
>>> m2e-users mailing list
>>> [email protected]
>>> https://dev.eclipse.org/mailman/listinfo/m2e-users
>>>
>>>
>>
>>
>> --
>> "Have you tried turning it off and on again" - The IT Crowd
>>
>> _______________________________________________
>> m2e-users mailing list
>> [email protected]
>> https://dev.eclipse.org/mailman/listinfo/m2e-users
>>
>>
>
> _______________________________________________
> m2e-users mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/m2e-users
>
>


-- 
"Have you tried turning it off and on again" - The IT Crowd
_______________________________________________
m2e-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/m2e-users

Reply via email to