<?xml version="1.0" encoding="UTF-8"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one 
    or more contributor license agreements. See the NOTICE file 
    distributed with this work for additional information 
    regarding copyright ownership. The ASF licenses this file
    to you under the Apache License, Version 2.0 (the 
    "License"); you may not use this file except in compliance 
    with the License. You may obtain a copy of the License at 
    
        http://www.apache.org/licenses/LICENSE-2.0 
        
    Unless required by applicable law or agreed to in writing, 
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
    KIND, either express or implied. See the License for the 
    specific language governing permissions and limitations 
    under the License. 
-->
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>10</version>
    </parent>

    <groupId>org.apache.isis</groupId>
    <artifactId>isis</artifactId>
    <version>0.2.0-incubating</version>

    <packaging>pom</packaging>

    <name>Apache Isis</name>
    <description>
        Root POM for core framework, the viewers, and 
        the runtime implementations.
        Defines standard build process, as well as
        standard set of 3rd party dependencies
        (eg for testing and logging frameworks).
        </description>

    <!-- See https://cwiki.apache.org/confluence/display/ISIS/MavenBuildProfiles 
        for full info on different options -->

    <!-- 1. building code: (-o flag recommended once dependencies/plugins 
        downloaded) -->

    <!-- mvn clean install -o -->


    <!-- 2. building site/docs: (-o flag recommended once dependencies/plugins 
        downloaded) -->

    <!-- 2.1 prereqs -->
    <!-- mvn install:install-file -D groupId=com.java -D artifactId=jimi 
        -D version=1.0 -D packaging=jar -D file=/path/to/file -->
    <!-- mvn clean install -D -o -->

    <!-- 2.2 site/docs -->
    <!-- mvn site-deploy -D deploy=local -o -->
    <!-- mvn site-deploy -D deploy=local -D site=full -o -->

    <!-- 3. deploying modules (plus archetype) as snapshot -->
    <!-- mvn -D deploy=snapshot deploy -->


    <inceptionYear>2010</inceptionYear>

    <properties>
        <siteBaseDir>.</siteBaseDir>
        <relativeUrl />
        <compileSource>1.6</compileSource>
        <compileTarget>1.6</compileTarget>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <!-- override in each module (used by locate global resources) -->
        <siteBaseDir>.</siteBaseDir>

        <!-- used by docbkx-maven-plugin for DocBook guide; override as required -->
        <docbkxGuideTitle>Apache Isis</docbkxGuideTitle>
        <docbkxGuideSubTitle>Contributors' Guide</docbkxGuideSubTitle>
        <docbkxGuideName>isis-contributors-guide</docbkxGuideName>


        <!-- should not need to be modified -->
        <trunkBaseDir>${project.build.directory}/${siteBaseDir}/..</trunkBaseDir>
        <checkstyle.configLocation>${trunkBaseDir}/src/site/resources/codequality/checkstyle.xml</checkstyle.configLocation>
        <pmd.ruleset>${trunkBaseDir}/src/site/resources/codequality/pmd.xml</pmd.ruleset>

        <projectUrl>${project.url}</projectUrl>

        <!-- plugin versions -->
        <maven-project-info-reports-plugin>2.2</maven-project-info-reports-plugin>
    </properties>

    <scm>
        <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/isis/tags/isis-0.2.0-incubating</connection>
        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/isis/tags/isis-0.2.0-incubating</developerConnection>
        <url>http://svn.apache.org/repos/asf/incubator/isis/tags/isis-0.2.0-incubating</url>
    </scm>

    <!-- used in Site generation for relative references. -->
    <url>http://incubator.apache.org/isis/${relativeUrl}</url>

    <mailingLists>
        <mailingList>
            <name>developers</name>
            <archive>http://mail-archives.apache.org/mod_mbox/incubator-isis-dev/</archive>
            <post>isis-dev@incubator.apache.org</post>
            <subscribe>isis-dev-subscribe@incubator.apache.org</subscribe>
            <unsubscribe>isis-dev-unsubscribe@incubator.apache.org</unsubscribe>
        </mailingList>
        <mailingList>
            <name>users</name>
            <archive>http://mail-archives.apache.org/mod_mbox/incubator-isis-users/</archive>
            <post>isis-users@incubator.apache.org</post>
            <subscribe>isis-users-subscribe@incubator.apache.org</subscribe>
            <unsubscribe>isis-users-unsubscribe@incubator.apache.org</unsubscribe>
        </mailingList>
    </mailingLists>

    <developers>
        <developer>
            <id>rcmatthews</id>
            <name>Robert Matthews</name>
            <email>rmatthews@apache.org</email>
            <organization>Naked Objects Group Ltd.</organization>
            <organizationUrl>http://nakedobjects.net</organizationUrl>
            <roles>
                <role>architect</role>
                <role>developer</role>
            </roles>
            <timezone>+0</timezone>
        </developer>
        <developer>
            <id>danhaywood</id>
            <name>Dan Haywood</name>
            <email>dan@haywood-associates.co.uk</email>
            <organization>Haywood Associates Ltd.</organization>
            <organizationUrl>http://www.haywood-associates.co.uk</organizationUrl>
            <roles>
                <role>architect</role>
                <role>developer</role>
            </roles>
            <timezone>+0</timezone>
        </developer>
        <developer>
            <id>kevin-m</id>
            <name>Kevin Meyer</name>
            <email>kevin@kmz.co.za</email>
            <roles>
                <role>developer</role>
            </roles>
            <timezone>+2</timezone>
        </developer>
        <developer>
            <id>dslaughter</id>
            <name>Dave Slaughter</name>
            <email>dslaughter@digis.net</email>
            <roles>
                <role>developer</role>
            </roles>
            <timezone>-6</timezone>
        </developer>
        <developer>
            <id>themalkolm</id>
            <name>Alexander Krasnuhkin</name>
            <email>the.malkolm@gmail.com</email>
            <roles>
                <role>developer</role>
            </roles>
            <timezone>+3</timezone>
        </developer>
    </developers>

    <issueManagement>
        <system>Jira</system>
        <url>https://issues.apache.org/jira/browse/ISIS</url>
    </issueManagement>

    <ciManagement>
        <system>Hudson</system>
        <url>https://hudson.apache.org/hudson/job/Isis-trunk-windows</url>
        <notifiers>
            <notifier>
                <type>mail</type>
                <address>isis-dev@incubator.apache.org</address>
                <sendOnError />
                <sendOnFailure />
                <sendOnSuccess />
                <sendOnWarning />
                <configuration />
            </notifier>
        </notifiers>
    </ciManagement>

    <pluginRepositories>
        <pluginRepository>
            <id>Codehaus Repository</id>
            <url>http://repository.codehaus.org/</url>
	      <snapshots>
		<enabled>false</enabled>
	      </snapshots>
        </pluginRepository>
    </pluginRepositories>

    <repositories>
<!--
        <repository>
            <id>Maven Repository</id>
            <url>http://repo1.maven.org/maven2/</url>
            <snapshots>
              <enabled>false</enabled>
            </snapshots>
        </repository>
-->
        <repository>
            <id>Apache Repository</id>
            <url>https://repository.apache.org/</url>
            <snapshots>
              <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>Maven Central Repository (UK Mirror)</id>
            <url>http://uk.maven.org/maven2</url>
            <snapshots>
              <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>JBoss Public Release</id>
            <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url>
            <snapshots>
              <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>


    <build>
        <extensions>
            <!-- scp and sftp support for deployments. -->
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-ssh</artifactId>
                <version>1.0-beta-6</version>
            </extension>
            <!-- ftp support for deployments. -->
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-ftp</artifactId>
                <version>1.0-beta-6</version>
            </extension>
            <extension>
                <groupId>org.apache.maven.archetype</groupId>
                <artifactId>archetype-packaging</artifactId>
                <version>2.0-alpha-3</version>
            </extension>
        </extensions>

        <pluginManagement>
            <!-- defines versions of plugins and the configuration for their 
                non-reporting goals. Configuration of any reporting goals (aka reports) will 
                be found in the reporting section. -->
            <plugins>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>1.0.1</version>
                    <configuration>
                        <rules>
                            <requireMavenVersion>
                                <version>[2.2.1,)</version>
                            </requireMavenVersion>
                            <requireJavaVersion>
                                <version>[1.6.0-11,)</version>
                            </requireJavaVersion>
                            <requirePluginVersions>
                                <message>All plugin versions must be
                                    defined!</message>
                                <banLatest>true</banLatest>
                                <banRelease>true</banRelease>
                            </requirePluginVersions>
                        </rules>
                    </configuration>
                    <!-- goal:enforce supposedly binds to phase:validate, 
                        but explicit binding seems to be required -->
                    <executions>
                        <execution>
                            <id>validate-enforce</id>
                            <phase>validate</phase>
                            <goals>
                                <goal>enforce</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>

                <!-- Apache Release Audit Tool -->
                <plugin>
                    <groupId>org.apache.rat</groupId>
                    <artifactId>apache-rat-plugin</artifactId>
                    <version>0.8</version>
                </plugin>


                <!-- IDE support for Eclipse. (NetBeans 6.7+ and IDEA 7.0 
                    have built-in support for Maven) Alternatively, use m2eclipse and import 
                    POMs directly. -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-eclipse-plugin</artifactId>
                    <version>2.5.1</version> <!-- version 2.7 & 2.8 presently have a bug that prevents multiple-resources; 
                        while 2.6 fails to use projectNameTemplate properly from being filtered -->
                    <configuration>
                        <downloadSources>true</downloadSources>
                        <downloadJavadocs>true</downloadJavadocs>
                        <projectNameTemplate>[groupId].[artifactId]</projectNameTemplate>
                    </configuration>
                    <!-- use mvn eclipse:eclipse (no goals bound to phases) -->
                </plugin>

                <!-- Copies project resources to the output directory -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.4.3</version>
                    <!-- goal:resources binds to phase:process-resources -->
                    <!-- goal:testResources binds to phase:process-test-resources -->
                </plugin>

                <!-- Compile -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.3.1</version>
                    <configuration>
                        <showDeprecation>false</showDeprecation>
                        <showWarnings>false</showWarnings>
                        <source>${compileSource}</source>
                        <target>${compileTarget}</target>
                    </configuration>
                    <!-- goal:compile binds to phase:compile -->
                    <!-- goal:testCompile binds to phase:test-compile -->
                </plugin>

                <!-- Tests -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <excludes>
                            <exclude>**/Test*.java</exclude>
                        </excludes>
                        <printSummary>false</printSummary>
                    </configuration>
                    <!-- goal:test binds to phase:test -->
                </plugin>

                <!-- Test Reporting -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-report-plugin</artifactId>
                    <version>2.5</version>
                    <!-- goal:report is a report so is configured in the 
                        reporting section; invokes phase:test before running itself -->
                </plugin>


                <!-- Test coverage: cobertura -->
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>cobertura-maven-plugin</artifactId>
                    <version>2.4</version>
                    <inherited>true</inherited>
                    <!-- goal:check binds to phase:verify (not currently 
                        configured, can be used to break build if code coverage < threshold) -->
                    <!-- goal:cobertura is a report so is configured in the 
                        reporting section; invokes phase:test before running itself -->
                </plugin>


                <!-- Quality checks: checkstyle -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>2.6</version>
                    <!-- goal:check binds to phase:verify (not currently 
                        configured, can be used to break build if any violations) -->
                    <!-- goal:checkstyle is a report so is configured in 
                        the reporting section -->
                </plugin>

                <!-- Quality checks: pmd -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-pmd-plugin</artifactId>
                    <version>2.5</version>
                    <!-- goal:check binds to phase:verify (not currently 
                        configured, can be used to break build if any violations) -->
                    <!-- goal:check-cpd binds to phase:verify (not currently 
                        configured, can be used to break build if any CPD violations) -->
                    <!-- goal:pmd is a report so is configured in the reporting 
                        section -->
                    <!-- goal:cpd is a report so is configured in the reporting 
                        section -->
                </plugin>

                <!-- Quality checks: NCSS (cyclomatic complexity) -->
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>javancss-maven-plugin</artifactId>
                    <version>2.0</version>
                    <!-- goal:check binds to phase:verify (not currently 
                        configured, can be used to break build if any violations) -->
                    <!-- goal:report is a report so is configured in the 
                        reporting section -->
                </plugin>

                <!-- Quality checks: jdepend -->
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>jdepend-maven-plugin</artifactId>
                    <version>2.0-beta-2</version>
                    <!-- goal:generate is a report so is configured in the 
                        reporting section -->
                </plugin>

                <!-- Artifacts derived from code: taglist -->
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>taglist-maven-plugin</artifactId>
                    <version>2.4</version>
                    <inherited>true</inherited>
                    <!-- goal:taglist is a report so is configured in the 
                        reporting section -->
                </plugin>

                <!-- Artifacts derived from code: javadoc; supports both 
                    build and report goals; not included as a build plugin except through profiles 
                    (to speed up the build) -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.8</version>
                    <inherited>true</inherited>
                    <configuration>
                        <debug>true</debug>
                        <minmemory>128m</minmemory>      
                        <maxmemory>1024m</maxmemory>
                        <quiet>true</quiet>
                        <doctitle>${project.name} ${project.version}</doctitle>
                        <windowtitle>${project.name} ${project.version}</windowtitle>
                        <testDoctitle>${project.name} ${project.version}
                            (TEST API)
                        </testDoctitle>
                        <testWindowtitle>${project.name}
                            ${project.version} (TEST API)
                        </testWindowtitle>
                        <splitindex>true</splitindex>
                        <encoding>${project.build.sourceEncoding}</encoding>
                        <links>
                            <link>http://java.sun.com/j2se/1.6.0/docs/api</link>
                            <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
                            <link>http://java.sun.com/j2se/1.4.2/docs/api</link>
                            <link>http://java.sun.com/j2ee/1.4/docs/api</link>
                        </links>
                        <linksource>true</linksource>
                        <!-- http://jira.codehaus.org/browse/MJAVADOC-268 
                            and http://jira.codehaus.org/browse/MJAVADOC-284 -->
                        <detectOfflineLinks>false</detectOfflineLinks>
                    </configuration>
                    <!-- goal:aggregate (for aggregator modules) has no binding; 
                        explicitly bound in profiles -->
                    <!-- goal:jar (for non-aggregator modules) binds to phase:package -->
                    <!-- goal:test-jar (for non-aggregator modules) binds 
                        to phase:package -->
                    <!-- goal:javadoc is a report so is configured in the 
                        reporting section -->
                </plugin>


                <!-- Artifacts derived from code: Java source x-ref -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jxr-plugin</artifactId>
                    <version>2.2</version>
                    <!-- goal:jxr is a report so is configured in the reporting 
                        section -->
                </plugin>


                <!-- Packaging: source jars of main and test code -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>2.1.2</version>
                    <configuration>
                        <includePom>true</includePom>
                    </configuration>
                    <!-- goal:aggregate (for aggregator modules) binds to 
                        phase:package -->
                    <!-- goal:jar and goal:test-jar are meant to bind to 
                        phase:package, but doesn't seem to so bound explicitly -->
                    <executions>
                        <execution>
                            <id>package-jars</id>
                            <phase>package</phase>
                            <goals>
                                <goal>jar</goal>
                                <goal>test-jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>


                <!-- Packaging: jar -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>2.3.1</version>
                    <!-- goal:jar binds to phase:package -->
                    <!-- goal:test-jar supposedly binds to phase:package, 
                        but seems to need this explicit binding. -->
                    <executions>
                        <execution>
                            <id>package-test-jar</id>
                            <phase>package</phase>
                            <goals>
                                <goal>test-jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>


                <!-- Packaging: WAR -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>2.0.2</version>
                    <configuration>
                        <!-- This is broken in maven-war-plugin 2.0, but 
                            works in 2.0.1+ -->
                        <warSourceExcludes>
                            WEB-INF/lib/*.jar
                        </warSourceExcludes>
                        <archive>
                            <manifest>
                                <addClasspath>true</addClasspath>
                                <classpathPrefix>lib/</classpathPrefix>
                            </manifest>
                        </archive>
                    </configuration>
                    <!-- goal:war binds to phase:package -->
                </plugin>

                <!-- PDF from DocBook (configured to build user guide and 
                    developers guide): docbkx hosted at http://docbkx-tools.sourceforge.net/docbkx-maven-plugin -->
                <plugin>
                    <groupId>com.agilejava.docbkx</groupId>
                    <artifactId>docbkx-maven-plugin</artifactId>
                    <!-- <version>2.0.13</version> -->
                    <version>2.0.8</version>
                    <!-- doesn't seem to render the title page correctly? 
                        <version>2.0.10</version> -->
                    <configuration>
                        <includes>**/guide/*.xml</includes>
                        <xincludeSupported>true</xincludeSupported>
                        <highlightSource>1</highlightSource>
                    </configuration>

                    <!-- goal:generate-html has not binding; explicitly bind 
                        to phase:site -->
                    <executions>
                        <execution>
                            <id>html-docs</id>
                            <phase>site</phase>
                            <goals>
                                <goal>generate-html</goal>
                            </goals>

                            <configuration>
                                <excludes>old-src</excludes>
                                <chunkedOutput>true</chunkedOutput>
                                <htmlStylesheet>screen.css</htmlStylesheet>
                                <htmlCustomization>src/docbkx/style/html-cust.xsl</htmlCustomization>
                                <sectionAutolabel>1</sectionAutolabel>
                                <sectionLabelIncludesComponentLabel>1</sectionLabelIncludesComponentLabel>
                                <highlightSource>1</highlightSource>

                                <postProcess>
                                    <copy todir="target/docbkx/html/guide" failonerror="false">
                                        <fileset dir="src/docbkx/guide">
                                            <include name="images/**/*" />
                                        </fileset>
                                        <fileset dir="src/docbkx/style">
                                            <include name="*.css" />
                                        </fileset>
                                    </copy>
                                    <copy todir="target/site/docbkx/html" failonerror="false">
                                        <fileset dir="target/docbkx/html">
                                            <include name="**/*" />
                                        </fileset>
                                    </copy>
                                </postProcess>
                            </configuration>
                        </execution>

                        <!-- goal:generate-pdf has not binding; explicitly 
                            bind to phase:site -->
                        <execution>
                            <id>pdf-docs</id>
                            <phase>site</phase>
                            <goals>
                                <goal>generate-pdf</goal>
                            </goals>
                            <configuration>
                                <argLine>-Xmx1024m</argLine>
                                <imgSrcPath>${basedir}/target/docbkx/pdf/</imgSrcPath>
                                <foCustomization>src/docbkx/style/fop-cust.xsl</foCustomization>
                                <highlightSource>1</highlightSource>
                                <doubleSided>1</doubleSided>

                                <preProcess>
                                    <copy todir="${basedir}/target/docbkx/pdf">
                                        <fileset dir="${basedir}/src/docbkx">
                                            <include name="images/**/*" />
                                        </fileset>
                                    </copy>

                                    <copy todir="${basedir}/target/docbkx/pdf" failonerror="false">
                                        <fileset dir="${basedir}/src/docbkx/guide">
                                            <include name="images/**/*" />
                                        </fileset>
                                    </copy>
                                </preProcess>
                                <postProcess>
                                    <copy todir="target/site/docbkx/pdf" failonerror="false">
                                        <fileset dir="target/docbkx/pdf">
                                            <include name="**/*" />
                                        </fileset>
                                    </copy>
                                </postProcess>
                            </configuration>
                        </execution>
                    </executions>

                    <dependencies>
                        <dependency>
                            <groupId>org.docbook</groupId>
                            <artifactId>docbook-xml</artifactId>
                            <version>4.4</version>
                            <scope>runtime</scope>
                        </dependency>
                        <dependency>
                            <groupId>com.java</groupId>
                            <artifactId>jimi</artifactId>
                            <version>1.0</version>
                        </dependency>
                    </dependencies>
                </plugin>


                <!-- site (see also reporting and distributionManagement) -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.0-beta-3</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.maven.doxia</groupId>
                            <artifactId>doxia-module-docbook-simple</artifactId>
                            <version>1.1.3</version>
                        </dependency>
                    </dependencies>
                    <configuration>
                        <locales>en</locales>
                        <jarOutputDirectory>
                            ${project.build.directory}/site
                        </jarOutputDirectory>
                        <finalName>isis-${project.version}</finalName>
                        <jarOutputDirectory>
                            ${project.reporting.outputDirectory}
                        </jarOutputDirectory>
                        <generateReports>true</generateReports>
                        <generateSitemap>true</generateSitemap>
                    </configuration>
                    <!-- goal:jar binds to phase:package; override to bind 
                        to (site lifecycle) phase:site -->
                    <executions>
                        <execution>
                            <id>jar</id>
                            <phase>site</phase>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                    <!-- goal:site binds to (site lifecycle) phase:site -->
                    <!-- goal:deploy binds to (site lifecycle) phase:site-deploy -->
                </plugin>


                <!-- maven reports (for site) -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-project-info-reports-plugin</artifactId>
                    <version>${maven-project-info-reports-plugin}</version>
                    <!-- main configuration in reporting section (in inheriting 
                        modules) -->
                </plugin>


                <!-- release (is also configured in descendant modules) -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <configuration>
                        <!-- overriddes the default ('clean verify') as workaround -->
                        <preparationGoals>clean install</preparationGoals>
                        <autoVersionSubmodules>true</autoVersionSubmodules>
                        <tagBase>https://svn.apache.org/repos/asf/incubator/isis/tags/</tagBase>
                        <waitBeforeTagging>120</waitBeforeTagging>
                    </configuration>
                    <!-- goal:clean (for aggregator modules) has no bindings; 
                        cleans up release.properties and any backup POM files -->
                    <!-- goal:prepare (for aggregator modules) has no bindings; 
                        prepares for release in SCM (modifying x.x-SNAPSHOT to x.x) -->
                    <!-- goal:update-versions (for aggregator modules) has 
                        no bindings; updates versions eg to SNAPSHOT -->
                    <!-- etc; none of the goals has a binding. -->
                </plugin>


                <!-- deploy (see also distributionManagement) -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.5</version>
                    <!-- goal:deploy binds to phase:deploy -->
                </plugin>


                <!-- other types of build: archetype -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-archetype-plugin</artifactId>
                    <version>2.0</version>
                    <extensions>true</extensions>
                    <!-- no goals bind to any lifecycle phases; use mvn archetype:generate -->
                </plugin>


                <!-- Runtime: jetty -->
                <plugin>
                    <groupId>org.mortbay.jetty</groupId>
                    <artifactId>maven-jetty-plugin</artifactId>
                    <version>6.1.25</version>
                    <configuration>
                        <webAppConfig>
                            <contextPath>webapp</contextPath>
                        </webAppConfig>
                    </configuration>
                </plugin>

            </plugins>
        </pluginManagement>

        <!-- build plugins; apply to all inheriting modules. Note that some 
            plugins also come from the "super-POM" for the default bindings. For example, 
            in the 'default' lifecycle, the resources, compiler, surefire, jar, install 
            and deploy plugins are automatically included because they provide the default 
            bindings. For the 'site' lifecycle, the site plugin is automatically included. -->
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
            </plugin>

            <plugin>
                <artifactId>maven-remote-resources-plugin</artifactId>
                <!-- required while Isis is in the incubator -->
                <dependencies>
                    <dependency>
                        <groupId>org.apache</groupId>
                        <artifactId>apache-incubator-disclaimer-resource-bundle</artifactId>
                        <version>1.1</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <id>process-remote-resources</id>
                        <goals>
                            <goal>process</goal>
                        </goals>
                        <configuration>
                            <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
                            <appendedResourcesDirectory>${basedir}/${siteBaseDir}/src/main/appended-resources</appendedResourcesDirectory>
                            <supplementalModels>
                                <supplementalModel>supplemental-models.xml</supplementalModel>
                            </supplementalModels>
                            <resourceBundles>
                                <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
                                <!-- required while Isis is in the incubator -->
                                <resourceBundle>org.apache:apache-incubator-disclaimer-resource-bundle:1.1</resourceBundle>
                            </resourceBundles>
                            <properties>
                                <projectTimespan>2010~2011</projectTimespan>
                                <postDepListText>
The above (auto-generated) list aggregates the dependencies (either directly
or transitively) of all the modules that make up Apache Isis. You can use 
mvn dependency:list or mvn dependency:tree to view dependencies by submodule.

In addition, Isis includes a copy of JQuery core.  This is licensed under
the MIT license [1].

Note also that the BDD Viewer module [org.apache.isis.viewer:bdd-concordion]
has an optional dependency on Concordion [2], which in turn depends upon
XOM [3]. XOM is licensed under LGPL, which is a non-eligible 'category-X'
license [4]. This transitive dependency to XOM has therefore been excluded.

To use Isis' BDD Viewer, end-users must explicitly add in the XOM dependency
in their own POMs.  The application generated by the Isis quickstart
archetype includes this explicit dependency.

[1] http://jquery.org/license/
[2] http://concordion.org
[3] http://www.xom.nu/
[4] http://www.apache.org/legal/resolved.html#category-x
                        </postDepListText>
                            </properties>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <!--
            run using:
            mvn org.apache.rat.apache-rat-plugin:check
             -->
            <plugin>
                <groupId>org.apache.rat</groupId>
                <artifactId>apache-rat-plugin</artifactId>
                <configuration>
                    <addDefaultLicenseMatchers>true</addDefaultLicenseMatchers>
                    <excludeSubProjects>true</excludeSubProjects>
                    <numUnapprovedLicenses>0</numUnapprovedLicenses>
                    <excludes>
                        <exclude>**/*.project</exclude>
                        <exclude>**/.classpath</exclude>
                        <exclude>**/.settings/**</exclude>
                        <exclude>**/*.launch</exclude>
                        <exclude>src/site/resources/ide/eclipse/**</exclude>

                        <exclude>**/*.java.hsp</exclude>
                        <exclude>**/*.ucd</exclude>
                        <exclude>**/*.ucls</exclude>

                        <exclude>**/*.svg</exclude>
                        <exclude>**/*.pdn</exclude>
                        
                        <exclude>**/*.json</exclude>
                        <exclude>**/rat.txt</exclude>
                        <exclude>**/isis.log</exclude>

                        <exclude>**/fixture-data</exclude>
                        <exclude>**/test.data</exclude>
                        <exclude>**/xml/**/*.xml</exclude>
                        <exclude>tmp/tests/*.xml</exclude>

                        <exclude>**/hsql-db/**/*.script</exclude>
                        <exclude>**/hsql-db/**/*.properties</exclude>
                        <exclude>**/hsql-db/**/*.log</exclude>
                        
                        <exclude>**/ldap-conf/**</exclude>

                        <exclude>**/src/main/resources/resources.txt</exclude>
                        <exclude>**/src/main/appended-resources/supplemental-models.xml</exclude>

                        <exclude>**/*.min.js</exclude>
                    </excludes>
                    <licenses>
                      <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                        <licenseFamilyCategory>AL2  </licenseFamilyCategory>
                        <licenseFamilyName>Apache License 2.0</licenseFamilyName>
                        <notes />
                        <patterns>
                          <pattern>Licensed to the Apache Software Foundation (ASF) under one</pattern>
                        </patterns>
                      </license>
                      <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                        <licenseFamilyCategory>JQRY</licenseFamilyCategory>
                        <licenseFamilyName>MIT  </licenseFamilyName>
                        <notes />
                        <patterns>
                          <pattern>Dual licensed under the MIT or GPL Version 2 licenses.</pattern>
                        </patterns>
                      </license>
                      <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                        <licenseFamilyCategory>JMOCK</licenseFamilyCategory>
                        <licenseFamilyName>JMock</licenseFamilyName>
                        <notes />
                        <patterns>
                          <pattern>Copyright (c) 2000-2007, jMock.org</pattern>
                        </patterns>
                      </license>
                      <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                        <licenseFamilyCategory>DOCBK</licenseFamilyCategory>
                        <licenseFamilyName>DocBook 4.5</licenseFamilyName>
                        <notes />
                        <patterns>
                          <pattern>Permission to copy in any form is granted for use</pattern>
                          <pattern>Permission to use, copy, modify and distribute the DocBook DTD</pattern>
                          <pattern>is hereby granted in perpetuity, provided that the above copyright</pattern>
                          <pattern>This is the catalog data file for DocBook XML V4.5. It is provided as</pattern>
                          <pattern>XML Catalog data for DocBook XML V4.5</pattern>
                          <pattern>DocBook additional general entities V4.5</pattern>
                          <pattern>XML EXCHANGE TABLE MODEL DECLARATION MODULE</pattern>
                        </patterns>
                      </license>
                      <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                        <licenseFamilyCategory>W3C  </licenseFamilyCategory>
                        <licenseFamilyName>XHTML</licenseFamilyName>
                        <notes />
                        <patterns>
                          <pattern>Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),</pattern>
                        </patterns>
                      </license>
		            </licenses>
		            <licenseFamilies>
                      <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
                        <familyName>Apache License 2.0</familyName>
                      </licenseFamily>
                      <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
                        <familyName>MIT</familyName>
                      </licenseFamily>
                      <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
                        <familyName>JMock</familyName>
                      </licenseFamily>
                      <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
                        <familyName>DocBook 4.5</familyName>
                      </licenseFamily>
                      <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
                        <familyName>XHTML</familyName>
                      </licenseFamily>
		            </licenseFamilies>
                </configuration>
            </plugin>


            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-eclipse-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
            </plugin>


            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <configuration>
                    <!-- overriddes the default ('clean verify') -->
                    <preparationGoals>clean install</preparationGoals>
                    <autoVersionSubmodules>true</autoVersionSubmodules>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <configuration>
                    <skip>false</skip>
                </configuration>
            </plugin>

            <!-- not inherited -->
            <plugin>
                <groupId>com.agilejava.docbkx</groupId>
                <artifactId>docbkx-maven-plugin</artifactId>
                <inherited>false</inherited>
            </plugin>

        </plugins>
    </build>

    <reporting>
        <excludeDefaults>true</excludeDefaults>
        <plugins>
            <!-- top-level pom (this pom) should have a reportSet with inherited=false, 
                and: license, project-team, issue-tracking, scm, cim, mailing-list, dependency-management, 
                plugin-management, plugins, modules -->
            <!-- parent pom of submodules should have a reportSet with inherited=false, 
                and: dependency-management (*), plugins, modules, summary. -->
            <!-- packaging=jar should have a reportSet with inherited=false, 
                and: dependency-management (*), dependencies, dependency-convergence, plugins, 
                summary -->
            <!-- (*) dependency-management should only be added if there 
                is a dependencyManagement section present -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <!-- TODO: for some reason the reportSets seems to be being 
                    ignored and generating a full set; not sure why -->
                <inherited>false</inherited>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>scm</report>
                            <report>license</report>
                            <report>project-team</report>
                            <report>issue-tracking</report>
                            <report>cim</report>
                            <report>mailing-list</report>
                            <report>dependency-management</report>
                            <report>plugin-management</report>
                            <report>plugins</report>
                            <report>modules</report>
                            <!-- <report>dependencies</report> -->
                            <!-- <report>dependency-convergence</report> -->
                            <!-- <report>summary</report> -->
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
        </plugins>
    </reporting>

    <dependencyManagement>
        <dependencies>

            <!-- isis: applib -->
            <dependency>
                <groupId>org.apache.isis</groupId>
                <artifactId>applib</artifactId>
                <version>0.2.0-incubating</version>
            </dependency>
            <dependency>
                <groupId>org.apache.isis</groupId>
                <artifactId>applib</artifactId>
                <version>0.2.0-incubating</version>
                <type>test-jar</type>
            </dependency>

            <!-- isis: core -->
            <dependency>
                <groupId>org.apache.isis</groupId>
                <artifactId>core</artifactId>
                <version>0.2.0-incubating</version>
            </dependency>

            <!-- isis: progmodels -->
            <dependency>
                <groupId>org.apache.isis</groupId>
                <artifactId>progmodels</artifactId>
                <version>0.2.0-incubating</version>
            </dependency>

            <!-- isis: security -->
            <dependency>
                <groupId>org.apache.isis</groupId>
                <artifactId>security</artifactId>
                <version>0.2.0-incubating</version>
            </dependency>

            <!-- isis: runtime -->
            <dependency>
                <groupId>org.apache.isis</groupId>
                <artifactId>runtimes</artifactId>
                <version>0.2.0-incubating</version>
            </dependency>

            <!-- isis: viewer -->
            <dependency>
                <groupId>org.apache.isis</groupId>
                <artifactId>viewer</artifactId>
                <version>0.2.0-incubating</version>
            </dependency>

            <!-- isis: tck -->
            <dependency>
                <groupId>org.apache.isis</groupId>
                <artifactId>tck</artifactId>
                <version>0.2.0-incubating-SNAPSHOT</version>
            </dependency>


            <!-- Logging -->
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.16</version>
            </dependency>

            <!-- Apache Commons -->
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>2.6</version>
            </dependency>
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>1.1.1</version>
            </dependency>
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>3.2.1</version>
            </dependency>
            <dependency>
                <groupId>commons-cli</groupId>
                <artifactId>commons-cli</artifactId>
                <version>1.2</version>
            </dependency>
            <dependency>
                <groupId>commons-httpclient</groupId>
                <artifactId>commons-httpclient</artifactId>
                <version>3.1</version>
            </dependency>
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>1.6</version>
            </dependency>
            <dependency>
                <groupId>commons-jxpath</groupId>
                <artifactId>commons-jxpath</artifactId>
                <version>1.3</version>
            </dependency>

            <!-- Google Guava (collections and commons) -->
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>11.0</version>
            </dependency>

            <!-- Google Guice (dependency injection) -->
            <dependency>
                <groupId>com.google.inject</groupId>
                <artifactId>guice</artifactId>
                <version>3.0</version>
            </dependency>

            <!-- Bytecode libraries -->
            <dependency>
                <groupId>asm</groupId>
                <artifactId>asm</artifactId>
                <version>3.1</version>
            </dependency>
            <dependency>
                <groupId>org.objenesis</groupId>
                <artifactId>objenesis</artifactId>
                <version>1.2</version>
            </dependency>
            <dependency>
                <groupId>cglib</groupId>
                <artifactId>cglib-nodep</artifactId>
                <version>2.1_3</version>
            </dependency>
            <dependency>
                <groupId>javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>3.8.0.GA</version>
            </dependency>

            <!-- XML libraries -->
            <dependency>
                <groupId>crimson</groupId>
                <artifactId>crimson</artifactId>
                <version>1.1.3</version>
            </dependency>
            <dependency>
                <groupId>dom4j</groupId>
                <artifactId>dom4j</artifactId>
                <version>1.4</version>
            </dependency>
            <dependency>
                <groupId>org.jdom</groupId>
                <artifactId>jdom</artifactId>
                <version>1.1</version>
            </dependency>
            
            <dependency>
                <groupId>com.thoughtworks.xstream</groupId>
                <artifactId>xstream</artifactId>
                <version>1.4.2</version>
            </dependency>
			<dependency>
			    <groupId>org.codehaus.jettison</groupId>
			    <artifactId>jettison</artifactId>
			    <version>1.3.1</version>
			</dependency>


            <!-- JSON libraries -->
            <dependency>
                <groupId>org.json</groupId>
                <artifactId>json</artifactId>
                <version>20090211</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
                <version>1.9.3</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>1.9.3</version>
            </dependency>
            

			<!-- Databases -->
			<dependency>
				<groupId>org.hsqldb</groupId>
				<artifactId>hsqldb</artifactId>
				<version>1.8.0.10</version>
				<scope>test</scope>
			</dependency>
			

            <!-- RestEasy -->
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jaxrs</artifactId>
                <version>2.3.1.GA</version>
                <exclusions>
                    <!-- instead use org.apache.geronimo.specs:geronimo-servlet_2.5_spec -->
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>servlet-api</artifactId>
                    </exclusion>
                    <!-- instead use org.apache.geronimo.specs:geronimo-annotation_1.0_spec -->
                    <exclusion>
                        <groupId>javax.annotation</groupId>
                        <artifactId>jsr250-api</artifactId>
                    </exclusion>
                    <!-- org.apache.geronimo.specs:geronimo-activation_1.1_spec -->
                    <exclusion>
                        <groupId>javax.activation</groupId>
                        <artifactId>activation</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- predicate libraries -->
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-core</artifactId>
                <version>1.1</version>
            </dependency>
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-library</artifactId>
                <version>1.1</version>
            </dependency>

            <!-- Web development -->
            <dependency>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>jetty</artifactId>
                <version>6.1.26</version>
                <exclusions>
                    <exclusion>
		                <groupId>org.mortbay.jetty</groupId>
		                <artifactId>servlet-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
	        <dependency>
	            <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-jsp_2.1_spec</artifactId>
	            <version>1.0.1</version>
	        </dependency>
            
            <dependency>
                <groupId>org.htmlparser</groupId>
                <artifactId>htmlparser</artifactId>
                <version>1.6</version>
                <exclusions>
                	<exclusion>
                		<groupId>com.sun</groupId>
                		<artifactId>tools</artifactId>
                	</exclusion>
                </exclusions>
            </dependency>

            <!-- Testing libraries (not scope=test because used by viewer/junit) -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.10</version>
            </dependency>

            <dependency>
                <groupId>org.jmock</groupId>
                <artifactId>jmock</artifactId>
                <version>2.5.1</version>
            </dependency>

            <dependency>
                <groupId>org.jmock</groupId>
                <artifactId>jmock-junit4</artifactId>
                <version>2.5.1</version>
                <exclusions>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit-dep</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- transitively includes cglib:cglib-nodep:2.1_3 and org.objenesis:objenesis:1.0 -->
            <dependency>
                <groupId>org.jmock</groupId>
                <artifactId>jmock-legacy</artifactId>
                <version>2.5.1</version>
            </dependency>

            <!-- Testing libraries (scope=test) -->
            <dependency>
                <groupId>org.easymock</groupId>
                <artifactId>easymock</artifactId>
                <version>2.5.2</version>
                <scope>test</scope>
            </dependency>

            <!-- JodaTime -->
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>1.6.2</version>
            </dependency>

            <!-- Specs -->
            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
                <version>1.1.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-servlet_2.5_spec</artifactId>
                <version>1.2</version>
            </dependency>
            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-annotation_1.0_spec</artifactId>
                <version>1.1.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-activation_1.1_spec</artifactId>
                <version>1.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-javamail_1.4_spec</artifactId>
                <version>1.7.1</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <dependencies>
        <!-- compile dependencies -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-library</artifactId>
        </dependency>

        <!-- test dependencies -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.jmock</groupId>
            <artifactId>jmock-junit4</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.jmock</groupId>
            <artifactId>jmock-legacy</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib-nodep</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.objenesis</groupId>
            <artifactId>objenesis</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <distributionManagement>
        <site>
            <id>isis-site</id>
            <name>Apache Isis Site</name>
            <url>${distMgmtSiteUrl}</url>
        </site>
    </distributionManagement>

    <profiles>
        <profile>
            <id>site-full</id>
            <activation>
                <property>
                    <name>site</name>
                    <value>full</value>
                </property>
            </activation>
            <reporting>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-project-info-reports-plugin</artifactId>
                        <version>${maven-project-info-reports-plugin}</version>
                    </plugin>
                </plugins>
            </reporting>
        </profile>

        <profile>
            <id>patch-leaf</id>
            <activation>
                <property>
                    <name>patch</name>
                    <value>leaf</value>
                </property>
            </activation>
            <reporting>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-report-plugin</artifactId>
                        <version>2.5</version>
                    </plugin>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>2.8</version>
                        <configuration>
                            <debug>true</debug>
                            <minmemory>128m</minmemory>      
                            <maxmemory>1024m</maxmemory>
                            <quiet>true</quiet>
                            <doctitle>${project.name} ${project.version}</doctitle>
                            <windowtitle>${project.name} ${project.version}</windowtitle>
                            <testDoctitle>${project.name} ${project.version}
                                (TEST API)</testDoctitle>
                            <testWindowtitle>${project.name} ${project.version}
                                (TEST API)</testWindowtitle>
                            <splitindex>true</splitindex>
                            <encoding>${project.build.sourceEncoding}</encoding>
                            <links>
                                <link>http://java.sun.com/j2se/1.6.0/docs/api</link>
                                <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
                                <link>http://java.sun.com/j2se/1.4.2/docs/api</link>
                                <link>http://java.sun.com/j2ee/1.4/docs/api</link>
                            </links>
                            <linksource>true</linksource>
                            <!-- http://jira.codehaus.org/browse/MJAVADOC-268 
                                and http://jira.codehaus.org/browse/MJAVADOC-284 -->
                            <detectOfflineLinks>false</detectOfflineLinks>
                            <!-- default value is as given; referenced by 
                                other plugins so specified explicitly -->
                            <outputDirectory>${project.build.directory}/apidocs</outputDirectory>
                        </configuration>
                        <reportSets>
                            <reportSet>
                                <reports>
                                    <report>javadoc</report>
                                    <report>test-javadoc</report>
                                    <!--
                                    removed because hitting bug 
                                    (http://jira.codehaus.org/browse/MJAVADOC-298) 
                                    -->
                                </reports>
                            </reportSet>
                        </reportSets>
                    </plugin>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>cobertura-maven-plugin</artifactId>
                        <version>2.4</version>
                    </plugin>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-checkstyle-plugin</artifactId>
                        <version>2.6</version>
                        <configuration>
                            <configLocation>${checkstyle.configLocation}</configLocation>
                        </configuration>
                    </plugin>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-pmd-plugin</artifactId>
                        <version>2.5</version>
                        <configuration>
                            <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
                            <minimumTokens>100</minimumTokens>
                            <linkXref>true</linkXref>
                            <targetJdk>${compileTarget}</targetJdk>
                            <rulesets>
                                <ruleset>${pmd.ruleset}</ruleset>
                            </rulesets>
                            <excludeRoots>
                                <excludeRoot>
                                    ${project.build.directory}/generated-sources/modello
                                </excludeRoot>
                                <excludeRoot>
                                    ${project.build.directory}/generated-sources/plugin
                                </excludeRoot>
                            </excludeRoots>
                        </configuration>
                    </plugin>


                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>javancss-maven-plugin</artifactId>
                        <version>2.0</version>
                    </plugin>

                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>jdepend-maven-plugin</artifactId>
                        <version>2.0-beta-2</version>
                    </plugin>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jxr-plugin</artifactId>
                        <version>2.2</version>
                        <configuration>
                            <inputEncoding>${project.build.sourceEncoding}</inputEncoding>
                            <linkJavadoc>true</linkJavadoc>
                            <javadocDir>${project.build.directory}/apidocs</javadocDir>
                        </configuration>
                    </plugin>

                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>taglist-maven-plugin</artifactId>
                        <version>2.4</version>
                        <configuration>
                            <!-- causes out of memory <aggregate>true</aggregate> -->
                            <tagListOptions>
                                <tagClasses>
                                    <tagClass>
                                        <displayName>Todo Work</displayName>
                                        <tags>
                                            <tag>
                                                <matchString>todo</matchString>
                                                <matchType>ignoreCase</matchType>
                                            </tag>
                                            <tag>
                                                <matchString>FIXME</matchString>
                                                <matchType>exact</matchType>
                                            </tag>
                                            <tag>
                                                <matchString>REVIEW</matchString>
                                                <matchType>exact</matchType>
                                            </tag>
                                            <tag>
                                                <matchString>hack</matchString>
                                                <matchType>ignoreCase</matchType>
                                            </tag>
                                        </tags>
                                    </tagClass>
                                </tagClasses>
                            </tagListOptions>
                        </configuration>
                    </plugin>

                    <!-- TO LOOK INTO <plugin> <groupId>org.codehaus.sonar</groupId> 
                        <artifactId>sonar-maven-plugin</artifactId> <version>1.10.1</version> </plugin> -->

                </plugins>
            </reporting>
        </profile>

        <profile>
            <id>deploy-local</id>
            <activation>
                <property>
                    <name>deploy</name>
                    <value>local</value>
                </property>
            </activation>
            <!-- to deploy locally -->
            <properties>
                <distMgmtSiteUrl>file:///tmp/m2-sites/isis</distMgmtSiteUrl>
            </properties>
        </profile>


        <profile>
            <id>modules-all</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>site-skin</module>
                <module>applib</module>
                <module>core</module>
                <module>runtimes</module>
                <module>tck</module>
                <module>progmodels</module>
                <module>security</module>
                <module>viewer</module>
                <module>quickstart-archetype</module>
            </modules>
        </profile>

        <profile>
            <id>modules-site</id>
            <!-- modules that make up the site -->
            <activation>
                <property>
                    <name>modules</name>
                    <value>site</value>
                </property>
            </activation>
            <modules>
                <module>applib</module>
                <module>core</module>
                <module>runtimes</module>
                <module>progmodels</module>
                <module>security</module>
                <module>viewer</module>
            </modules>
        </profile>

        <profile>
            <id>modules-skin</id>
            <!-- prereq for running site-deploy -->
            <activation>
                <property>
                    <name>modules</name>
                    <value>skin</value>
                </property>
            </activation>
            <modules>
                <module>site-skin</module>
            </modules>
        </profile>

        <profile>
            <id>modules-applib</id>
            <!-- To quickly build -->
            <activation>
                <property>
                    <name>modules</name>
                    <value>applib</value>
                </property>
            </activation>
            <modules>
                <module>applib</module>
            </modules>
        </profile>
        <profile>
            <id>modules-core</id>
            <activation>
                <property>
                    <name>modules</name>
                    <value>core</value>
                </property>
            </activation>
            <modules>
                <module>core</module>
            </modules>
        </profile>
        <profile>
            <id>modules-runtimes</id>
            <activation>
                <property>
                    <name>modules</name>
                    <value>runtimes</value>
                </property>
            </activation>
            <modules>
                <module>runtimes</module>
            </modules>
        </profile>
        <profile>
            <id>modules-progmodels</id>
            <activation>
                <property>
                    <name>modules</name>
                    <value>progmodels</value>
                </property>
            </activation>
            <modules>
                <module>progmodels</module>
            </modules>
        </profile>
        <profile>
            <id>modules-security</id>
            <activation>
                <property>
                    <name>modules</name>
                    <value>security</value>
                </property>
            </activation>
            <modules>
                <module>security</module>
            </modules>
        </profile>
        <profile>
            <id>modules-viewers</id>
            <activation>
                <property>
                    <name>modules</name>
                    <value>viewers</value>
                </property>
            </activation>
            <modules>
                <module>viewer</module>
            </modules>
        </profile>
        <profile>
            <id>modules-quickstart-archetype</id>
            <activation>
                <property>
                    <name>modules</name>
                    <value>quickstart-archetype</value>
                </property>
            </activation>
            <modules>
                <module>quickstart-archetype</module>
            </modules>
        </profile>

        <!-- overrides inherited configuration to allow regular deploy plugin 
            to work to snapshot repo. Use: -D deploy=snapshot -D modules=standard -D 
            distMgmtSnapshotsUrl=... where the last property is the repo URL to deploy 
            to -->
        <profile>
            <id>deploy-snapshot</id>
            <activation>
                <property>
                    <name>deploy</name>
                    <value>snapshot</value>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-deploy-plugin</artifactId>
                        <inherited>true</inherited>
                        <configuration>
                            <skip>false</skip>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
