On 02/24/2011 04:39 PM, aheritier@gmail.com wrote:


On Thu, Feb 24, 2011 at 10:21 PM, Thomas Heute <theute@redhat.com> wrote:
On 02/24/2011 12:20 PM, aheritier@gmail.com wrote:

On Thu, Feb 24, 2011 at 6:01 PM, Thomas Heute <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
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 :
 
   - 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

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

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