<?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>9</version>
    </parent>

    <groupId>org.apache.isis</groupId>
    <artifactId>isis</artifactId>
    <version>0.1.2-incubating</version>

    <packaging>pom</packaging>

    <name>Apache Isis</name>
    <description>
        Root POM for core framework, the viewers,
        the default implementations and alternatives 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.1.2-incubating</connection>
        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/isis/tags/isis-0.1.2-incubating</developerConnection>
        <url>http://svn.apache.org/repos/asf/incubator/isis/tags/isis-0.1.2-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>
    </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>
        </pluginRepository>
    </pluginRepositories>

    <repositories>
        <repository>
            <id>Maven Central Repository (UK Mirror)</id>
            <url>http://uk.maven.org/maven2</url>
        </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</version>
                    <configuration>
                        <rules>
                            <requireMavenVersion>
                                <version>[2.2.1,3.0.0)</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.7</version>
                    <!-- <executions> <execution> <phase>verify</phase> <goals> 
                        <goal>check</goal> </goals> </execution> </executions> -->
                </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.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>2.2</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>
                    </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>
                <version>1.2</version>
                <!-- 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>

            <plugin>
                <groupId>org.apache.rat</groupId>
                <artifactId>apache-rat-plugin</artifactId>
                <!-- <executions> <execution> <phase>verify</phase> <goals> 
                    <goal>check</goal> </goals> </execution> </executions> -->
                <configuration>
                    <excludeSubProjects>false</excludeSubProjects>
                    <numUnapprovedLicenses>0</numUnapprovedLicenses>
                    <!-- these don't seem to work, unfortunately -->
                    <excludes>
                        <exclude>*.hsp</exclude>
                        <exclude>.project</exclude>
                        <exclude>*.svg</exclude>
                        <exclude>*.classpath</exclude>
                        <exclude>*.project</exclude>
                        <exclude>*.ucd</exclude>
                    </excludes>
                </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.1.2-incubating</version>
            </dependency>
            <dependency>
                <groupId>org.apache.isis</groupId>
                <artifactId>applib</artifactId>
                <version>0.1.2-incubating</version>
                <type>test-jar</type>
            </dependency>

            <!-- isis: core -->
            <dependency>
                <groupId>org.apache.isis</groupId>
                <artifactId>core</artifactId>
                <version>0.1.2-incubating</version>
            </dependency>

            <!-- isis: progmodels -->
            <dependency>
                <groupId>org.apache.isis</groupId>
                <artifactId>progmodels</artifactId>
                <version>0.1.2-incubating</version>
            </dependency>

            <!-- isis: security -->
            <dependency>
                <groupId>org.apache.isis</groupId>
                <artifactId>security</artifactId>
                <version>0.1.2-incubating</version>
            </dependency>

            <!-- isis: runtime -->
            <dependency>
                <groupId>org.apache.isis</groupId>
                <artifactId>runtimes</artifactId>
                <version>0.1.2-incubating</version>
            </dependency>

            <!-- isis: viewer -->
            <dependency>
                <groupId>org.apache.isis</groupId>
                <artifactId>viewer</artifactId>
                <version>0.1.2-incubating</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.5</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.4</version>
            </dependency>

            <!-- Google Guava (collections and commons) -->
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>r08</version>
            </dependency>

            <!-- Google Guice (dependency injection) -->
            <dependency>
                <groupId>com.google.inject</groupId>
                <artifactId>guice</artifactId>
                <version>2.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>


            <!-- 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.8.2</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>1.8.2</version>
            </dependency>


            <!-- RestEasy -->
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jaxrs</artifactId>
                <version>2.2.0.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.24</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.8.2</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>
                                    <!--
                                    removed because hitting bug 
                                    (http://jira.codehaus.org/browse/MJAVADOC-298) 
                                    <report>test-javadoc</report>
                                    -->
                                </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>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>
