On Thu, Feb 24, 2011 at 10:57 PM, Thomas Heute <theute(a)redhat.com> wrote:
On 02/24/2011 04:39 PM, aheritier(a)gmail.com wrote:
On Thu, Feb 24, 2011 at 10:21 PM, Thomas Heute <theute(a)redhat.com> wrote:
> On 02/24/2011 12:20 PM, aheritier(a)gmail.com wrote:
>
>
> On Thu, Feb 24, 2011 at 6:01 PM, Thomas Heute <theute(a)redhat.com> wrote:
>
>> Now that our Maven expert is back :)
>>
> He he :-)
> Effectively, I'm back and in VN this time :-D
>
> Oh, still on vacation then ;)
>
almost :-)
>
>
>> I plan to do some update in our GateIn parent, the diff below is pretty
>> much self explanatory, but here are the points:
>>
>> - Removed repositories + pluginRepositories definitions, it's supposed
>> to be a best practice, correct me if I'm wrong (But will require people to
>> have those defined in their local installation or we add them in the root
>> pom.xml instead)
>>
> +10000 : It will also increse your build time as more you have
> repositories in your settings/poms, more maven will loose time to try
> missing deps or snapshots updates in them
>
>
http://www.sonatype.com/people/2009/02/why-putting-repositories-in-your-p...
> In theory (sorry the wiki is down I hope it is the good link:( ) you
> should follow this doc and ask gatein community to do it to contribute :
>
http://community.jboss.org/wiki/mavensettings
>
>
>> - Added JDK 6 as min version
>>
>
> Instead of setting jdk.min.version you should better set
> maven.compiler.source and maven.compiler.target to 1.6 if this is what is
> targeted now
> You can see them here :
>
http://anonsvn.jboss.org/repos/maven/poms/jboss-parent-pom/tags/jboss-par...
>
>
> Shouldn't we do all ?
> jdk.min.version for the maven checker so that it gives a nice error
> message if one tries to build with JDK 5 or older and maven.compiler.* to
> pass to the Java compiler ?
> PS: jdk.min.version was defined in GateIn root pom, I just moved it up to
> the shared parent.
>
By default in jboss-parent pom you have :
<jdk.min.version>${maven.compiler.source}</jdk.min.version>
thus it takes the value of compiler source level
For a second I thought I got you ! I didn't notice that, that works for me.
:-D
>
>
>
>
>> - Removed the Maven release plugin parameters, they are only
>> meaningful for GateIn Portal and not for the components. Plus we added new
>> profiles for new packaging (AS6, AS6, Tomcat 6, Tomcat 7, Jetty). This would
>> be added in the root pom of GateIn Portal
>>
>
> I agree
>
>
>> - Removed org.codehaus.mojo:jboss-packaging-maven-plugin declaration,
>> I think it's only to build SAR packages. And SAR packages are only used for
>> a component or 2.
>>
>>
> +1
>
>
>>
>> Arnaud, what do you think ?
>>
>
> It's a little bit out of your scope but we should either think to update
> plugins versions defined in jboss parent pom (we could see with Paul Gier)
> or override these properties in GateIn. A lot of plugins were updated to
> take care of Maven 3 and to have a better behavior in // builds for exemple.
> You can easily find the list of latest versions of plugins with : mvn
>
versions:display-plugin-updates<http://mojo.codehaus.org/versions-mave...
>
>
http://mojo.codehaus.org/versions-maven-plugin/examples/display-plugin-up...
>
> I may do it but it won't be I think before my travel back from VN (in 10
> days)
>
> If you have few time it is easy: You update these versions in gatein
> parent-pom, you install it, you update locally all your gatein projects to
> use this SNAPSHOT and you test a full build.
>
>
> Ok, i did the update in parent that gives this as a summarize:
> <version.antrun.plugin>1.6</version.antrun.plugin>
> <version.clean.plugin>2.4.1</version.clean.plugin>
> <version.checkstyle.plugin>2.6</version.checkstyle.plugin>
> <version.compiler.plugin>2.3.2</version.compiler.plugin>
> <version.dependency.plugin>2.2</version.dependency.plugin>
> <version.deploy.plugin>2.5</version.deploy.plugin>
> <version.install.plugin>2.3.1</version.install.plugin>
> <version.jar.plugin>2.3.1</version.jar.plugin>
> <version.surefire.plugin>2.7.2</version.surefire.plugin>
> <version.resources.plugin>2.4.3</version.resources.plugin>
> <version.war.plugin>2.1.1</version.war.plugin>
> <version.ear.plugin>2.5</version.ear.plugin>
> <version.site.plugin>2.2</version.site.plugin>
> <version.source.plugin>2.1.2</version.source.plugin>
> <version.javadoc.plugin>2.7</version.javadoc.plugin>
> <version.buildnumber.plugin>1.0-beta-4</version.buildnumber.plugin>
>
>
> Requires Maven 3, so I didn't update:
> [INFO] maven-site-plugin ................................. 2.2 ->
> 3.0-beta-3
>
>
I think we don't use the site thus we don't care. But if you want to be
clean there is a tip to be compatible with both versions
You set the default version to 2.2 like you did
And you had this profile :
<profile>
<id>maven-3</id>
<activation>
<file>
<!-- This employs that the basedir expression is only recognized by Maven
3.x (see MNG-2363) -->
<exists>${basedir}</exists>
</file>
</activation>
<build>
<properties>
<version.site.plugin>2.3-beta-3</version.site.plugin>
</properties>
</build>
</profile>
More details :
https://cwiki.apache.org/MAVEN/maven-3x-and-site-plugin.html
Yeah we don't use it I think so we're fine
I agree
In root pom we should upgrade:
> [INFO] org.codehaus.mojo:build-helper-maven-plugin .............. 1.4 ->
> 1.5
> [INFO] org.codehaus.mojo:exec-maven-plugin .................... 1.1.1 ->
> 1.2
> [INFO] org.jibx:maven-jibx-plugin ........................... 1.2.1 ->
> 1.2.2
>
> We need to specify the plugin version in: web/eXoResources/pom.xml and
> examples/skins/simpleskin/pom.xml:
> [WARNING] The following plugins do not have their version specified:
> [WARNING] gr.abiss.mvn.plugins:maven-jstools-plugin ....................
> 0.7
>
> In packaging/reports/pom.xml we should upgrade:
> [INFO]
> org.jvnet.maven-antrun-extended-plugin:maven-antrun-extended-plugin 1.13 ->
> 1.41
>
> In testsuite/selenium-snifftests/pom.xml we should upgrade:
> [INFO] org.codehaus.mojo:selenium-maven-plugin .................. 1.0 ->
> 1.1
>
>
If they all extends the gatein-parent you can define this versions
directly in it instead of hardcoding it in child projects.
Like in jboss-parent just declare all missing plugins in
build/pluginsManagement/plugins with a property for each version.
Yes we could move those to the gateIn root (which is parent to all but not
parent to the components).
Thanks again !
With pleasure ...
Do not hesitate (when I'm not taking some holidays :-) )
Thomas.
Cheers
Arnaud
> Thanks !
> Thomas.
>
>
>
> cheers
>
> arnaud
>
>
>
>>
>> Thomas.
>>
>>
>>
>>
>> Here is the diff:
>>
>> Index: pom.xml
>> ===================================================================
>> --- pom.xml (revision 5914)
>> +++ pom.xml (working copy)
>> @@ -14,7 +14,7 @@
>>
>> <groupId>org.gatein</groupId>
>> <artifactId>gatein-parent</artifactId>
>> - <version>1.0.3-GA-SNAPSHOT</version>
>> + <version>1.1.0-GA-SNAPSHOT</version>
>> <packaging>pom</packaging>
>>
>> <scm>
>> @@ -40,12 +40,11 @@
>>
>> <!-- maven-enforcer-plugin -->
>> <maven.min.version>2.2.1</maven.min.version>
>>
>> + <jdk.min.version>1.6</jdk.min.version>
>> +
>> <!-- maven-release-plugin -->
>> <autoVersionSubmodules>true</autoVersionSubmodules>
>>
>> - <!-- maven-release-plugin -->
>> - <arguments>-Prelease,pkg-tomcat,pkg-jbossas
-DskipTests</arguments>
>> -
>> <!-- cf
http://jira.codehaus.org/browse/MRELEASE-3 -->
>> <preparationGoals>clean install</preparationGoals>
>> </properties>
>> @@ -60,11 +59,6 @@
>>
>> <!-- Plugins are sorted by shortname : clean, deploy, ... -->
>> <plugins>
>> <plugin>
>> - <groupId>org.codehaus.mojo</groupId>
>> - <artifactId>jboss-packaging-maven-plugin</artifactId>
>> - <version>2.0-beta-1</version>
>> - </plugin>
>> - <plugin>
>> <groupId>org.apache.maven.plugins</groupId>
>> <artifactId>maven-jar-plugin</artifactId>
>> <configuration>
>> @@ -167,43 +161,6 @@
>>
>> </profiles>
>>
>> <!-- **************** -->
>> - <!-- Repositiories -->
>> - <!-- **************** -->
>> - <repositories>
>> - <repository>
>> - <id>jboss-public-repository-group</id>
>> - <name>JBoss Public Maven Repository Group</name>
>> -
<
url>https://repository.jboss.org/nexus/content/groups/public/</url>
>> - <layout>default</layout>
>> - <releases>
>> - <enabled>true</enabled>
>> - <updatePolicy>never</updatePolicy>
>> - </releases>
>> - <snapshots>
>> - <enabled>true</enabled>
>> - <updatePolicy>never</updatePolicy>
>> - </snapshots>
>> - </repository>
>> - </repositories>
>> -
>> - <pluginRepositories>
>> - <pluginRepository>
>> - <id>jboss-public-repository-group</id>
>> - <name>JBoss Public Maven Repository Group</name>
>> -
<
url>https://repository.jboss.org/nexus/content/groups/public/</url>
>> - <layout>default</layout>
>> - <releases>
>> - <enabled>true</enabled>
>> - <updatePolicy>never</updatePolicy>
>> - </releases>
>> - <snapshots>
>> - <enabled>true</enabled>
>> - <updatePolicy>never</updatePolicy>
>> - </snapshots>
>> - </pluginRepository>
>> - </pluginRepositories>
>> -
>> - <!-- **************** -->
>> <!-- Reporting -->
>> <!-- **************** -->
>>
>>
>
>