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
<mailto:theute@redhat.com>> wrote:
On 02/24/2011 12:20 PM, aheritier(a)gmail.com
<mailto:aheritier@gmail.com> wrote:
>
> On Thu, Feb 24, 2011 at 6:01 PM, Thomas Heute <theute(a)redhat.com
> <mailto:theute@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.
> - 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-maven-plugin/display-plugin-updates-moj...
>
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
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 !
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 -->
> <!-- **************** -->
>
>