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
> - 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
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.
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 -->
> <!-- **************** -->
>
>