Update of /var/cvs/all/maven-base
In directory james.mmbase.org:/tmp/cvs-serv7434/maven-base

Modified Files:
        pom.xml 
Log Message:
Improvements for the multiproject build
Kick off a full build inside /maven


See also: http://cvs.mmbase.org/viewcvs/all/maven-base


Index: pom.xml
===================================================================
RCS file: /var/cvs/all/maven-base/pom.xml,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- pom.xml     27 Feb 2009 09:36:44 -0000      1.9
+++ pom.xml     8 Mar 2009 18:12:50 -0000       1.10
@@ -5,31 +5,49 @@
 
 The license (Mozilla version 1.0) can be read at the MMBase site.
 See http://www.MMBase.org/license
-Version $Id: pom.xml,v 1.9 2009/02/27 09:36:44 michiel Exp $
+
 -->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.mmbase</groupId>
   <artifactId>mmbase-parent</artifactId>
   <packaging>pom</packaging>
-  <name>MMBase</name>
-  <version>1.9</version>
-  <description>Base pom for mmbase builds</description>
+  <name>MMBase Parent</name>
+  <version>1.9-SNAPSHOT</version>
+
+  <description>
+    MMBase is a Web Content Management System with strong multi media 
features. MMBase has a large
+    installed base in The Netherlands, and is used by major Dutch 
broadcasters, publishers,
+    educational institutes, national and local governments. MMBase is written 
in Java, it is Open
+    Source Software (MPL) and all standards used are as 'open' as possible. 
The system can be used
+    with all major operating systems, webservers and databases.
+  </description>
+  <url>http://www.mmbase.org</url>
+  <inceptionYear>2000</inceptionYear>
 
+  <organization>
+    <name>MMBase.org</name>
   <url>http://www.mmbase.org</url>
+  </organization>
 
-  <!-- don't know yet where this if ro
+  <licenses>
+    <license>
+      <name>Mozilla Public License 1.0 (MPL)</name>
+      <url>http://www.mmbase.org/license</url>
+    </license>
+  </licenses>
+
+  <scm>
+    
<connection>scm:cvs:pserver:guest:gu...@cvs.mmbase.org:/var/cvs:mmbase-core</connection>
+    
<developerConnection>scm:cvs:ext:cvs.mmbase.org:/var/cvs:mmbase-core</developerConnection>
+    <url>http://cvs.mmbase.org/viewcvs/</url>
+  </scm>
 
-  <modules>
-    <module>..</module>
-  </modules>
-  -->
-  <!--
-      XML RPC probably not switched on  our jira?
   <issueManagement>
+    <system>JIRA</system>
     <url>http://www.mmbase.org/jira</url>
   </issueManagement>
-  -->
 
   <ciManagement>
     <notifiers>
@@ -41,6 +59,29 @@
     </notifiers>
   </ciManagement>
 
+  <prerequisites>
+    <maven>2.0.9</maven>
+  </prerequisites>
+  
+  <properties>
+    <compiler.fork>false</compiler.fork>
+    
+    <servlet.version>2.4</servlet.version>
+    <jsp.version>2.0</jsp.version>
+    <jstl.version>1.2</jstl.version>
+    <taglib-standard.version>1.1.2</taglib-standard.version>
+    
+    <log4j.version>1.2.13</log4j.version>
+
+    <surefire.fork.mode>once</surefire.fork.mode>
+    <surefire.format>brief</surefire.format>
+    <surefire.usefile>false</surefire.usefile>
+    <surefire.fork.vmargs>-ea</surefire.fork.vmargs>
+    
<compile.flags>-Xlint:unchecked,deprecation,fallthrough,finally</compile.flags>
+
+    <junit.version>4.4</junit.version>
+  </properties>
+
   <mailingLists>
     <mailingList>
       <name>MMBase User List</name>
@@ -198,56 +239,204 @@
       <timezone>1</timezone>
     </developer>
   </developers>
-  <licenses>
-    <license>
-      <name>Mozilla Public License 1.0 (MPL)</name>
-      <url>http://www.mmbase.org/license</url>
-    </license>
-  </licenses>
-  <scm>
-    
<connection>scm:cvs:pserver:guest:gu...@cvs.mmbase.org:/var/cvs:mmbase-core</connection>
-    
<developerConnection>scm:cvs:ext:cvs.mmbase.org:/var/cvs:mmbase-core</developerConnection>
-    <url>http://cvs.mmbase.org/viewcvs/</url>
-  </scm>
-  <organization>
-    <name>MMBase.org</name>
-    <url>http://www.mmbase.org</url>
-  </organization>
-
-
-
 
   <build>
     <defaultGoal>install</defaultGoal>
-    <sourceDirectory>${myBasedir}/src</sourceDirectory>
+    <sourceDirectory>src</sourceDirectory>
+    
+    <pluginManagement>
     <plugins>
       <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
         <configuration>
           <source>1.5</source>
           <target>1.5</target>
+            <maxmem>256M</maxmem>
+            <fork>${compiler.fork}</fork>
         </configuration>
       </plugin>
       <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>javacc-maven-plugin</artifactId>
-        <version>2.5</version>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-resources-plugin</artifactId>
+          <configuration>
+            <encoding>UTF-8</encoding>
+          </configuration>
+        </plugin>
+        <plugin>
+          <artifactId>maven-war-plugin</artifactId>
+          <version>2.1-alpha-2</version>
+          <configuration>
+            <archiveClasses>true</archiveClasses>
+            <attachClasses>true</attachClasses>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-assembly-plugin</artifactId>
+          <version>2.2-beta-2</version>
+          <dependencies>
+            <dependency>
+              <groupId>org.mmbase.maven</groupId>
+              <artifactId>assembly-descriptors</artifactId>
+              <version>1.9-SNAPSHOT</version>
+            </dependency>
+          </dependencies>
+        </plugin>
+
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-checkstyle-plugin</artifactId>
+          <version>2.2</version>
+          <dependencies>
+            <dependency>
+              <groupId>org.mmbase.maven</groupId>
+              <artifactId>codestandards</artifactId>
+              <version>1.9-SNAPSHOT</version>
+            </dependency>
+            <dependency>
+              <groupId>checkstyle</groupId>
+              <artifactId>checkstyle</artifactId>
+              <version>4.4</version>
+            </dependency>
+            <dependency>
+              <groupId>org.codehaus.plexus</groupId>
+              <artifactId>plexus-velocity</artifactId>
+              <version>1.1.3</version>
+              <exclusions>
+                <exclusion>
+                  <!-- Use the version specified by checkstyle:checkstyle 
instead -->
+                  <artifactId>commons-collections</artifactId>
+                  <groupId>commons-collections</groupId>
+                </exclusion>
+                <exclusion>
+                  <artifactId>plexus-utils</artifactId>
+                  <groupId>plexus</groupId>
+                </exclusion>
+              </exclusions>
+            </dependency>
+          </dependencies>
+          <configuration>
+            <encoding>UTF-8</encoding>
+          </configuration>
         <executions>
           <execution>
-            <id>javacc</id>
+              <id>validate</id>
+              <phase>validate</phase>
+              <configuration>
+                <configLocation>mmbase-checkstyle.xml</configLocation>
+                <consoleOutput>true</consoleOutput>
+                <failsOnError>true</failsOnError>
+                <linkXRef>false</linkXRef>
+                
<suppressionsLocation>mmbase-checkstyle-suppressions.xml</suppressionsLocation>
+                <sourceDirectory>src</sourceDirectory>
+                <excludes>**/archetype-resources/**/*.java</excludes>
+              </configuration>
             <goals>
-              <goal>javacc</goal>
+                <goal>checkstyle</goal>
             </goals>
           </execution>
         </executions>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-pmd-plugin</artifactId>
+          <version>2.4</version>
+          <dependencies>
+            <dependency>
+              <groupId>org.mmbase.maven</groupId>
+              <artifactId>codestandards</artifactId>
+              <version>1.9-SNAPSHOT</version>
+            </dependency>
+          </dependencies>
         <configuration>
-          <sourceDirectory>${myBasedir}/src</sourceDirectory>
+            <rulesets>
+              <ruleset>mmbase-pmd-ruleset.xml</ruleset>
+              <ruleset>mmbase-pmd-custom.xml</ruleset>
+            </rulesets>
+            <sourceEncoding>UTF-8</sourceEncoding>
+            <targetJdk>1.5</targetJdk>
+            <linkXRef>false</linkXRef>
+            <includeTests>true</includeTests>
+            <verbose>true</verbose>
+            <excludeRoots>
+              <excludeRoot>${basedir}/src/main/generated</excludeRoot>
+            </excludeRoots>
         </configuration>
+          <executions>
+            <execution>
+              <id>validate</id>
+              <phase>validate</phase>
+              <goals>
+                <goal>check</goal>
+              </goals>
+            </execution>
+          </executions>
       </plugin>
 
       <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <configuration>
+            <includes>
+              <include>**/*Test.java</include>
+              <include>**/*TestCase.java</include>
+              <include>**/*TestCases.java</include>
+            </includes>
+            <!-- do not exclude **/Abstract*Test.java 
**/Abstract*TestCase.java -->
+            <excludes>
+              <exclude>**/*$*</exclude>
+            </excludes>
+            <reportFormat>${surefire.format}</reportFormat>
+            <useFile>${surefire.usefile}</useFile>
+            <forkMode>${surefire.fork.mode}</forkMode>
+            <childDelegation>false</childDelegation>
+            <argLine>${surefire.fork.vmargs}</argLine>
+            <systemProperties>
+              <property>
+                <name>java.awt.headless</name>
+                <value>${java.awt.headless}</value>
+              </property>
+              <property>
+                <name>java.util.logging.config.file</name>
+                
<value>${basedir}/target/test-classes/logging.properties</value>
+              </property>
+              <property>
+                <name>surefire.fork.vmargs</name>
+                <value>${surefire.fork.vmargs}</value>
+              </property>
+            </systemProperties>
+            <check>
+              <branchRate>80</branchRate>
+              <lineRate>80</lineRate>
+              <haltOnFailure>true</haltOnFailure>
+              <totalBranchRate>80</totalBranchRate>
+              <totalLineRate>80</totalLineRate>
+              <packageLineRate>80</packageLineRate>
+              <packageBranchRate>80</packageBranchRate>
+            </check>
+          </configuration>
+        </plugin>
+
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-release-plugin</artifactId>
+          <configuration>
+            <tagBase>svn://[username[:passwo...@]cvs.mmbase.org/tags</tagBase>
+            <useReleaseProfile>false</useReleaseProfile>
+            <preparationGoals>clean install</preparationGoals>
+            <goals>deploy</goals>
+            <arguments>-Prelease,deploy</arguments>
+            <autoVersionSubmodules>true</autoVersionSubmodules>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-javadoc-plugin</artifactId>
         <configuration>
+            <attach>true</attach>
+            <quiet>true</quiet>
+            <bottom>MMBase.org</bottom>
           <links>http://java.sun.com/j2se/1.5.0/docs/api/</links>
           <source>1.5</source>
           <tags>
@@ -335,29 +524,106 @@
           </tags>
         </configuration>
       </plugin>
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-resources-plugin</artifactId>
-        <configuration>
-          <encoding>UTF-8</encoding>
-        </configuration>
-      </plugin>
     </plugins>
+    </pluginManagement>
   </build>
+
+  <dependencyManagement>
   <dependencies>
     <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>servlet-api</artifactId>
-      <version>2.4</version>
+        <version>${servlet.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>jsp-api</artifactId>
-      <version>2.0</version>
+        <version>${jsp.version}</version>
       <scope>provided</scope>
     </dependency>
+      <dependency>
+        <groupId>javax.servlet</groupId>
+        <artifactId>jstl</artifactId>
+        <version>${jstl.version}</version>
+        <scope>provided</scope>
+      </dependency>
+      <dependency>
+        <groupId>taglibs</groupId>
+        <artifactId>standard</artifactId>
+        <version>${taglib-standard.version}</version>
+        <scope>provided</scope>
+      </dependency>
+  
+      <dependency>
+        <groupId>log4j</groupId>
+        <artifactId>log4j</artifactId>
+        <version>${log4j.version}</version>
+      </dependency>
+    
+      <dependency>
+        <groupId>commons-httpclient</groupId>
+        <artifactId>commons-httpclient</artifactId>
+        <version>3.1</version>
+        <exclusions>
+          <exclusion>
+            <groupId>commons-codec</groupId>
+            <artifactId>commons-codec</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>commons-logging</groupId>
+        <artifactId>commons-logging</artifactId>
+        <version>1.1.1</version>
+        <exclusions>
+          <exclusion>
+            <groupId>log4j</groupId>
+            <artifactId>log4j</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>logkit</groupId>
+            <artifactId>logkit</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>avalon-framework</groupId>
+            <artifactId>avalon-framework</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>javax.servlet</groupId>
+            <artifactId>servlet-api</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>commons-lang</groupId>
+        <artifactId>commons-lang</artifactId>
+        <version>2.4</version>
+      </dependency>
+      <dependency>
+        <groupId>commons-fileupload</groupId>
+        <artifactId>commons-fileupload</artifactId>
+        <version>1.0</version>
+      </dependency>
+
+      <dependency>
+        <groupId>junit</groupId>
+        <artifactId>junit</artifactId>
+        <version>${junit.version}</version>
+        <scope>test</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+
+  <dependencies>
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>servlet-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>jsp-api</artifactId>
+    </dependency>
   </dependencies>
 
   <distributionManagement>
@@ -392,9 +658,157 @@
     </repository>
   </repositories>
 
+  <profiles>
+    <profile>
+      <id>fastinstall</id>
+      <activation>
+        <activeByDefault>true</activeByDefault>
+      </activation>
   <properties>
-    <mmbase.version>1.9-SNAPSHOT</mmbase.version>
-    <myBasedir>${basedir}</myBasedir>
+        <maven.test.skip>true</maven.test.skip>
   </properties>
+    </profile>
+
+    <profile>
+      <id>sourcecheck</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-checkstyle-plugin</artifactId>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-compiler-plugin</artifactId>
+            <configuration>
+              <showDeprecation>true</showDeprecation>
+              <showWarnings>true</showWarnings>
+              <compilerArgument>${compile.flags}</compilerArgument>
+            </configuration>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-pmd-plugin</artifactId>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <profile>
+      <id>metrics</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-pmd-plugin</artifactId>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-checkstyle-plugin</artifactId>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <profile>
+      <id>coverage</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>cobertura-maven-plugin</artifactId>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>clean</goal>
+                  <goal>check</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <profile>
+      <id>release</id>
+      <build>
+        <plugins>
+          <plugin>
+            <inherited>true</inherited>
+            <artifactId>maven-deploy-plugin</artifactId>
+            <version>2.4</version>
+            <configuration>
+              <updateReleaseInfo>true</updateReleaseInfo>
+            </configuration>
+          </plugin>
+          <!-- We want to sign the artifact, the POM, and all attached 
artifacts -->
+          <plugin>
+            <artifactId>maven-gpg-plugin</artifactId>
+            <configuration>
+              <passphrase>${gpg.passphrase}</passphrase>
+            </configuration>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>sign</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-enforcer-plugin</artifactId>
+            <executions>
+              <execution>
+              <id>enforce-no-snapshots</id>
+              <goals>
+                <goal>enforce</goal>
+              </goals>
+              <configuration>
+                <rules>
+                  <requireReleaseVersion>
+                    <message>No Snapshots Allowed!</message>
+                  </requireReleaseVersion>
+                </rules>
+                <fail>true</fail>
+              </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <profile>
+      <id>deploy</id>
+      <build>
+        <defaultGoal>deploy</defaultGoal>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-sources</id>
+                <goals>
+                  <goal>jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-javadocs</id>
+                <goals>
+                  <goal>jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
 
 </project>
_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to