<?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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.myfaces</groupId>
    <artifactId>myfaces</artifactId>
    <version>8</version>
  </parent>
  <groupId>org.apache.myfaces.tobago</groupId>
  <artifactId>tobago</artifactId>
  <packaging>pom</packaging>
  <name>Apache Tobago</name>
  <version>1.0.29</version>
  <description>The goal of Tobago is to provide the community with a well designed set of user interface components based on JSF and run on MyFaces.</description>
  <prerequisites>
    <maven>2.2.1</maven>
  </prerequisites>
  <url>http://myfaces.apache.org/tobago</url>
  <inceptionYear>2002</inceptionYear>
  <issueManagement>
    <system>jira</system>
    <url>http://issues.apache.org/jira/secure/BrowseProject.jspa?id=12310273</url>
  </issueManagement>
  <ciManagement>
    <system>continuum</system>
    <url>http://myfaces.zones.apache.org:8080/continuum</url>
    <notifiers>
      <notifier>
        <type>mail</type>
        <configuration>
          <address>commits@myfaces.apache.org</address>
        </configuration>
      </notifier>
    </notifiers>
  </ciManagement>
  <mailingLists>
    <mailingList>
      <name>Myfaces User List (use [Tobago] prefix)</name>
      <subscribe>users-subscribe@myfaces.apache.org</subscribe>
      <unsubscribe>users-unsubscribe@myfaces.apache.org</unsubscribe>
      <post>List for posting questions about how to use myfaces projects. Subscribe to this list before posting</post>
      <archive>http://mail-archives.apache.org/mod_mbox/myfaces-users</archive>
      <otherArchives>
        <otherArchive>http://www.mail-archive.com/users@myfaces.apache.org/</otherArchive>
        <otherArchive>http://www.nabble.com/MyFaces---Users-f181.html</otherArchive>
        <otherArchive>http://myfaces.markmail.org/search/?q=#query:list%3Aorg.apache.myfaces.users</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Myfaces Developer List (use [Tobago] prefix)</name>
      <subscribe>dev-subscribe@myfaces.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@myfaces.apache.org</unsubscribe>
      <post>List for posting patches and discussing internal code implementation issues. Subscribe to this list before posting</post>
      <archive>http://mail-archives.apache.org/mod_mbox/myfaces-dev</archive>
      <otherArchives>
        <otherArchive>http://www.mail-archive.com/dev@myfaces.apache.org/</otherArchive>
        <otherArchive>http://www.nabble.com/My-Faces---Dev-f182.html</otherArchive>
        <otherArchive>http://myfaces.markmail.org/search/?q=#query:list%3Aorg.apache.myfaces.dev</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Myfaces Commits List</name>
      <subscribe>commits-subscribe@myfaces.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@myfaces.apache.org</unsubscribe>
      <post>do not post</post>
      <archive>http://mail-archives.apache.org/mod_mbox/myfaces-commits</archive>
      <otherArchives>
        <otherArchive>http://myfaces.markmail.org/search/?q=#query:list%3Aorg.apache.myfaces.commits</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Myfaces Notifications List</name>
      <subscribe>notifications-subscribe@myfaces.apache.org</subscribe>
      <unsubscribe>notifications-unsubscribe@myfaces.apache.org</unsubscribe>
      <post>do not post</post>
      <archive>http://mail-archives.apache.org/mod_mbox/myfaces-notifications</archive>
      <otherArchives>
        <otherArchive>http://myfaces.markmail.org/search/?q=#query:list%3Aorg.apache.myfaces.notifications</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Myfaces Announcements List</name>
      <subscribe>announce-subscribe@myfaces.apache.org</subscribe>
      <unsubscribe>announce-unsubscribe@myfaces.apache.org</unsubscribe>
      <post>do not post</post>
      <archive>http://mail-archives.apache.org/mod_mbox/myfaces-announce</archive>
      <otherArchives>
        <otherArchive>http://myfaces.markmail.org/search/?q=#query:list%3Aorg.apache.myfaces.announce</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Myfaces Private (PMC) List</name>
      <subscribe>only for MyFaces PMC members</subscribe>
      <unsubscribe>private-unsubscribe@myfaces.apache.org</unsubscribe>
      <post>do not post unless you need to contact PMC on issues not meant for public</post>
    </mailingList>
  </mailingLists>

  <reporting>
    <excludeDefaults>true</excludeDefaults>
    <plugins>

      <!--<plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>simian-report-maven-plugin</artifactId>
        <version>1.0-SNAPSHOT</version>
        <configuration>
          <minimumThreshold>2</minimumThreshold>
        </configuration>
      </plugin>
      -->
      <!--plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <version>2.2</version>
      </plugin-->

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>taglist-maven-plugin</artifactId>
        <version>2.0</version>
        <configuration>
          <tags>
            <tag>TODO</tag>
            <tag>FIXME</tag>
            <tag>XXX</tag>
            <tag>@deprecated</tag>
          </tags>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>2.1</version>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <configuration>
          <configLocation>
            http://svn.apache.org/repos/asf/myfaces/maven/trunk/build-tools/src/main/resources/org/apache/myfaces/tobago/checkstyle.xml
          </configLocation>
          <headerLocation>
            http://svn.apache.org/repos/asf/myfaces/maven/trunk/build-tools/src/main/resources/org/apache/myfaces/tobago/checkstyle-header.txt
          </headerLocation>
          <xrefLocation>xref</xrefLocation>
          <excludes>**/package-info.java</excludes>
          <sourceEncoding>utf-8</sourceEncoding>
          <minimumTokens>100</minimumTokens>
          <targetJdk>1.5</targetJdk>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <!--aggregate>true</aggregate-->
          <linksource>true</linksource>
          <breakiterator>true</breakiterator>
          <quiet>true</quiet>
          <verbose>false</verbose>
          <source>1.5</source>
          <charset>UTF-8</charset>
          <links>
            <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
            <link>http://java.sun.com/j2ee/1.4/docs/api</link>
            <link>http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api</link>
            <link>http://jakarta.apache.org/commons/collections/api-${commons-collection.version}/</link>
            <link>http://jakarta.apache.org/commons/lang/api-${common-lang.version}/</link>
            <link>http://jakarta.apache.org/commons/fileupload/apidocs</link>
            <link>http://jakarta.apache.org/commons/digester/commons-digester-${commons-digester.version}/docs/api/
            </link>
            <link>http://jakarta.apache.org/commons/io/api-${common-io.version}/</link>
            <link>http://jakarta.apache.org/commons/logging/commons-logging-${commons-logging.version}/apidocs/</link>
            <link>http://www.junit.org/junit/javadoc/</link>
            <link>http://logging.apache.org/log4j/docs/api/</link>
          </links>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <configuration>
          <aggregate>true</aggregate>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
      </plugin>

      <!--plugin>
        <inherited>false</inherited>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-changes-plugin</artifactId>
        <version>2.0-beta-2</version>
        <reportSets>
          <reportSet>
            <configuration>
              <statusIds>Open,In Progress,Reopened</statusIds>
            </configuration>
            <reports>
              <report>jira-report</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin-->

      <plugin>
        <inherited>false</inherited>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>changelog-maven-plugin</artifactId>
        <version>2.0-beta-1</version>
        <configuration>
          <basedir>${basedir}</basedir>
        </configuration>
      </plugin>

      <!--
            <plugin>
              <inherited>false</inherited>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-doap-plugin</artifactId>
              <configuration>
                <category>web-framework</category>
                <language>Java</language>
                <shortdesc>Set of user interface components based on JSF.</shortdesc>
                <pmc>http://myfaces.apache.org</pmc>
              </configuration>
            </plugin>
      -->

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>clirr-maven-plugin</artifactId>
        <configuration>
          <minSeverity>info</minSeverity>
          <excludes>
            <exclude>org/apache/myfaces/tobago/example/**</exclude>
          </excludes>
        </configuration>
      </plugin>

      <!-- pmd has problems with annotations -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pmd-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <rulesets>
            <ruleset>/rulesets/basic.xml</ruleset>
            <ruleset>/rulesets/unusedcode.xml</ruleset>
            <ruleset>/rulesets/imports.xml</ruleset>
            <ruleset>/rulesets/design.xml</ruleset>
            <ruleset>/rulesets/optimizations.xml</ruleset>
            <ruleset>/rulesets/favorites.xml</ruleset>
            <ruleset>/rulesets/coupling.xml</ruleset>
            <ruleset>/rulesets/braces.xml</ruleset>
            <ruleset>/rulesets/clone.xml</ruleset>
            <ruleset>/rulesets/codesize.xml</ruleset>
            <ruleset>/rulesets/finalizers.xml</ruleset>
            <ruleset>/rulesets/junit.xml</ruleset>
            <ruleset>/rulesets/migrating_to_15.xml</ruleset>
            <ruleset>/rulesets/typeresolution.xml</ruleset>
            <ruleset>/rulesets/strings.xml</ruleset>
            <!--
                <ruleset>rulesets/controversial.xml</ruleset>
                <ruleset>rulesets/logging-java.xml</ruleset>
                <ruleset>rulesets/strictexception.xml</ruleset>
                <ruleset>rulesets/naming.xml</ruleset>
            -->
          </rulesets>
          <excludes>
            <exclude>**/package-info.java</exclude>
            <exclude>org/apache/myfaces/tobago/apt/annotation/*.java</exclude>
          </excludes>
          <encoding>UTF-8</encoding>
          <linkXref>true</linkXref>
          <targetJdk>1.5</targetJdk>
        </configuration>
      </plugin>

      <!-- TODO test dashboard plugin
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>dashboard-maven-plugin</artifactId>
        <version>1.0-SNAPSHOT</version>
      </plugin> -->

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <version>2.0.1</version>
        <configuration>
          <threshold>Low</threshold>
          <effort>Max</effort>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jdepend-maven-plugin</artifactId>
        <version>2.0-beta-2</version>
      </plugin>

      <!-- http://jira.codehaus.org/browse/MJNCSS-4
           JavaNCSS still has problems with annotations for local variables -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>javancss-maven-plugin</artifactId>
        <version>2.0</version>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>rat-maven-plugin</artifactId>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.0</version>
	      <reportSets>
	        <reportSet>
	          <reports>
              <report>analyze-report</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>

    </plugins>

  </reporting>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${common-io.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>${common-lang.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>1.7.0</version>
      </dependency>
      <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>${commons-collection.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>${commons-logging.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-digester</groupId>
        <artifactId>commons-digester</artifactId>
        <version>${commons-digester.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.2</version>
      </dependency>
      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.14</version>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.6</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.1.0</version>
        <exclusions>
          <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>jsp-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>taglibs</groupId>
        <artifactId>standard</artifactId>
        <version>1.1.2</version>
      </dependency>
      <dependency>
        <groupId>org.apache.myfaces.core</groupId>
        <artifactId>myfaces-api</artifactId>
        <version>${myfaces.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.myfaces.core</groupId>
        <artifactId>myfaces-impl</artifactId>
        <version>${myfaces.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>${sunjsf.version}</version>
        <exclusions>
          <exclusion>
            <groupId>javax.servlet.jsp.jstl</groupId>
            <artifactId>jstl</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>javax.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <version>${sunjsf.version}</version>
        <exclusions>
          <exclusion>
            <groupId>javax.servlet.jsp.jstl</groupId>
            <artifactId>jstl</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.0</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.4</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>portlet-api</groupId>
        <artifactId>portlet-api</artifactId>
        <version>1.0</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>net.sf.retrotranslator</groupId>
        <artifactId>retrotranslator-runtime</artifactId>
        <optional>true</optional>
        <scope>provided</scope>
        <version>1.2.1</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
    </dependency>

  </dependencies>

  <scm>

    <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/tobago/tags/tobago-1.0.29</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/tobago/tags/tobago-1.0.29</developerConnection>
    <url>http://svn.apache.org/viewvc/myfaces/tobago/tags/tobago-1.0.29</url>

  </scm>

  <organization>
    <name>Apache Software Foundation</name>
    <url>http://www.apache.org/</url>
  </organization>

  <build>
    <defaultGoal>install</defaultGoal>
    <plugins>
      <!--plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>1.0-beta-1</version>
        <executions>
          <execution>
            <id>enforce</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>2.0.6</version>
                </requireMavenVersion>
                <requirePluginVersions>
                  <message>Best Practice is to always define plugin versions!</message>
                  <banLatest>true</banLatest>
                  <banRelease>true</banRelease>
                  <unCheckedPlugins>
                    <unCheckedPlugin>org.apache.maven.plugins:maven-idea-plugin</unCheckedPlugin>
                  </unCheckedPlugins>
                </requirePluginVersions>
                <requireJavaVersion>
                  <message>Tobago must be compiled with Java 5 or higher</message>
                  <version>[1.5,)</version>
                </requireJavaVersion>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin-->
      <!--plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>clean</id>
            <goals>
              <goal>clean</goal>
            </goals>
          </execution>
        </executions>
      </plugin-->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.0-beta-9</version>
        <configuration>
          <tagBase>https://svn.apache.org/repos/asf/myfaces/tobago/tags</tagBase>
          <preparationGoals>clean install</preparationGoals>
          <remoteTagging>true</remoteTagging>
        </configuration>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>2.1</version>
          <configuration>
            <archive>
              <manifest>
                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
              </manifest>
              <manifestEntries>
                <Revision>${scm.revision}</Revision>
              </manifestEntries>
              <manifestSections>
                <manifestSection>
                  <name>${project.artifactId}</name>
                  <manifestEntries>
                    <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
                    <Implementation-Version>${project.version}</Implementation-Version>
                  </manifestEntries>
                </manifestSection>
              </manifestSections>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.cargo</groupId>
          <artifactId>cargo-maven2-plugin</artifactId>
          <version>0.3.1</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>retrotranslator-maven-plugin</artifactId>
          <version>1.0-alpha-2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <configuration>
            <configLocation>
              http://svn.apache.org/repos/asf/myfaces/maven/trunk/build-tools/src/main/resources/org/apache/myfaces/tobago/checkstyle.xml
            </configLocation>
            <headerLocation>
              http://svn.apache.org/repos/asf/myfaces/maven/trunk/build-tools/src/main/resources/org/apache/myfaces/tobago/checkstyle-header.txt
            </headerLocation>
            <xrefLocation>xref</xrefLocation>
            <excludes>**/package-info.java</excludes>
            <sourceEncoding>utf-8</sourceEncoding>
            <minimumTokens>100</minimumTokens>
            <targetJdk>1.5</targetJdk>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>2.0.2</version>
          <configuration>
            <source>1.5</source>
            <target>1.5</target>
            <encoding>UTF-8</encoding>
            <showWarnings>true</showWarnings>
            <!-- <compilerArgument>-Xlint:all,-serial,-fallthrough</compilerArgument>-->
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-idea-plugin</artifactId>
          <configuration>
            <jdkName>1.5</jdkName>
            <linkModules>true</linkModules>
            <downloadSources>true</downloadSources>
            <jdkLevel>5.0</jdkLevel>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>2.0</version>
        </plugin>
        <plugin>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>maven-jetty-plugin</artifactId>
          <version>${jetty.version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>tomcat-maven-plugin</artifactId>
          <version>1.0-alpha-1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.4.3</version>
          <configuration>
            <!--childDelegation>false</childDelegation>
            <forkMode>perTest</forkMode>
            <argLine>-Xdebug -Xnoagent -Djava.compiler=NONE
            -Xrunjdwp:transport=dt_socket,address=2111,server=y,suspend=y</argLine-->
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>clirr-maven-plugin</artifactId>
          <configuration>
            <failOnError>false</failOnError>
            <minSeverity>info</minSeverity>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>2.0.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>2.3</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-scm-plugin</artifactId>
          <version>1.2</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>rat-maven-plugin</artifactId>
          <version>1.0-alpha-3</version>
          <configuration>
            <excludes>
              <exclude>**/javax.faces.lifecycle.LifecycleFactory</exclude>
              <exclude>**/*.log</exclude>
              <exclude>**/*.txt</exclude>
              <exclude>**/target/**/*</exclude>
              <exclude>**/blank.html</exclude>
              <exclude>example/**/*</exclude>
              <exclude>src/site/resources/css/png-fix.htc</exclude>
              <exclude>src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/effects.js</exclude>
              <exclude>src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/slider.js</exclude>
              <exclude>src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/builder.js</exclude>
              <exclude>src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/scriptaculous.js</exclude>
              <exclude>src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/dragdrop.js</exclude>
              <exclude>src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/controls.js</exclude>
              <exclude>release.properties</exclude>
              <exclude>*.iml</exclude>
              <exclude>*.ipr</exclude>
              <exclude>*.iws</exclude>
            </excludes>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>2.2-beta-4</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <modules>
    <module>tobago-tool</module>
    <module>core</module>
    <module>theme</module>
  </modules>

  <distributionManagement>
    <repository>
      <id>apache.releases.https</id>
      <name>Apache Release Distribution Repository</name>
      <url>https://repository.apache.org/service/local/staging/deploy/maven2</url>
    </repository>
    <snapshotRepository>
      <uniqueVersion>false</uniqueVersion>
      <id>apache.snapshots.https</id>
      <name>${distMgmtSnapshotsName}</name>
      <url>${distMgmtSnapshotsUrl}</url>
    </snapshotRepository>
    <site>
      <id>apache-site</id>
      <url>scpexe://minotaur.apache.org/www/myfaces.apache.org/tobago/</url>
    </site>
  </distributionManagement>

  <profiles>
    <profile>
      <id>all-modules</id>
      <modules>
        <module>example</module>
        <module>extension</module>
        <module>tobago-assembly</module>
        <module>sandbox</module>
      </modules>
    </profile>
    <profile>
      <id>generate-assembly</id>
      <modules>
        <module>extension</module>
        <module>example</module>
        <module>tobago-assembly</module>
        <module>sandbox</module>
      </modules>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>buildnumber-maven-plugin</artifactId>
            <version>1.0-beta-4</version>
            <executions>
              <execution>
                <phase>validate</phase>
                <goals>
                  <goal>create</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <doCheck>false</doCheck>
              <doUpdate>false</doUpdate>
              <getRevisionOnlyOnce>true</getRevisionOnlyOnce>
              <buildNumberPropertyName>scm.revision</buildNumberPropertyName>
            </configuration>
          </plugin>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <dependencies>
              <dependency>
                <groupId>org.apache.apache.resources</groupId>
                <artifactId>apache-source-release-assembly-descriptor</artifactId>
                <version>1.0.2</version>
              </dependency>
            </dependencies>
            <executions>
              <execution>
                <id>source-release-assembly</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
                  <descriptorRefs>
                    <descriptorRef>${sourceReleaseAssemblyDescriptor}</descriptorRef>
                  </descriptorRefs>
                  <tarLongFileFormat>gnu</tarLongFileFormat>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>jdk14retro</id>
    </profile>
    <!-- START SNIPPET: release-profile -->
    <profile>
      <id>apache-release</id>
      <!--
      NOTE: To use you need to enable this profile and pass in the passphrase:
           mvn -Prelease -Dpassphrase=thephrase

           with the release plugin add following profile to your settings.xml
           <profile>
             <id>apache-release</id>
             <properties>
               <gpg.passphrase>thephrase</gpg.passphrase>
             </properties>
           </profile>
       -->
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>buildnumber-maven-plugin</artifactId>
            <version>1.0-beta-4</version>
            <executions>
              <execution>
                <phase>validate</phase>
                <goals>
                  <goal>create</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <doCheck>false</doCheck>
              <doUpdate>false</doUpdate>
              <getRevisionOnlyOnce>true</getRevisionOnlyOnce>
              <buildNumberPropertyName>scm.revision</buildNumberPropertyName>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <configuration>
              <passphrase>${gpg.passphrase}</passphrase>
            </configuration>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-enforcer-plugin</artifactId>
            <version>1.0-beta-1</version>
            <executions>
              <execution>
                <id>enforce-java</id>
                <phase>validate</phase>
                <goals>
                  <goal>enforce</goal>
                </goals>
                <configuration>
                  <rules>
                    <requireJavaVersion>
                      <message>A Tobago release must be compiled with Java 5</message>
                      <version>[1.5.0,1.5.0-21]</version>
                    </requireJavaVersion>
                  </rules>
                </configuration>
              </execution>
            </executions>
          </plugin>
          
          <plugin>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.0.2</version>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.2</version>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <modules>
        <module>extension</module>
        <module>example</module>
        <module>sandbox</module>
      </modules>
    </profile>
    <!-- END SNIPPET: release-profile -->
    <profile>
      <id>mojodocbook</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>make-directory</id>
                <phase>package</phase>
                <configuration>
                  <tasks>
                    <mkdir dir="${project.build.directory}/site/docbook" />
                  </tasks>
                </configuration>
                <goals>
                  <goal>run</goal>
                </goals>
              </execution>
              <execution>
                <id>move-images</id>
                <phase>install</phase>
                <configuration>
                  <tasks>
                    <mkdir dir="${project.build.directory}/site/docbook/resources" />
                    <copy verbose="true" todir="${project.build.directory}/site/docbook/resources">
                      <fileset dir="${project.build.directory}/site/docbook">
                        <include name="*.png" />
                      </fileset>
                    </copy>
                  </tasks>
                </configuration>
                <goals>
                  <goal>run</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>docbook-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>docbook-mojo</id>
                <phase>package</phase>
                <goals>
                  <goal>transform</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>jdocbook</id>
      <pluginRepositories>
        <pluginRepository>
          <id>jboss</id>
          <url>http://repository.jboss.com/maven2</url>
        </pluginRepository>
      </pluginRepositories>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <phase>process-resources</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <tasks>
                    <copy todir="${project.build.directory}/staging/images/resources">
                      <fileset dir="${basedir}/src/docbook/resources" />
                    </copy>
                  </tasks>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.jboss.maven.plugins</groupId>
            <artifactId>maven-jdocbook-plugin</artifactId>
            <extensions>true</extensions>
            <executions>
              <execution>
                <id>jdocbook:generate</id>
                <phase>compile</phase>
                <goals>
                  <goal>generate</goal>
                </goals>
              </execution>
            </executions>
            <dependencies>
              <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-docbook-xslt</artifactId>
                <version>0.1</version>
              </dependency>
            </dependencies>
            <configuration>
              <sourceDirectory>${basedir}/src/docbook</sourceDirectory>
              <imagesDirectory>${basedir}/src/docbook/resources</imagesDirectory>
              <sourceDocumentName>tobago-tutorial.xml</sourceDocumentName>
              <formats>
                <format>
                  <formatName>pdf</formatName>
                  <stylesheetResource>classpath:/standard/fopdf.xsl</stylesheetResource>
                </format>
                <format>
                  <formatName>html</formatName>
                  <stylesheetResource>classpath:/standard/html.xsl</stylesheetResource>
                </format>
              </formats>
              <options><!-- missing -> NPE -->
                <xincludeSupported>false</xincludeSupported>
              </options>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>docbook-profile</id>
      <build>
        <plugins>
          <plugin>
            <groupId>com.agilejava.docbkx</groupId>
            <artifactId>docbkx-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>build-pdf-doc</id>
                <phase>process-resources</phase>
                <goals>
                  <goal>generate-pdf</goal>
                </goals>
                <configuration>
                  <sourceDirectory>${docbook.source}</sourceDirectory>
                  <targetDirectory>${docbook.target}</targetDirectory>
                  <includes>tobago-tutorial.xml</includes>
                </configuration>
              </execution>
              <execution>
                <id>build-chunked-doc</id>
                <phase>process-resources</phase>
                <goals>
                  <goal>generate-html</goal>
                </goals>
                <configuration>
                  <sourceDirectory>${docbook.source}</sourceDirectory>
                  <targetDirectory>${docbook.target}</targetDirectory>
                  <includes>tobago-tutorial.xml</includes>
                  <chunkedOutput>true</chunkedOutput>
                  <chunkQuietly>false</chunkQuietly>
                  <postProcess>
                    <mkdir dir="${docbook.target}/resources" />
                    <copy todir="${docbook.target}/resources">
                      <fileset dir="${docbook.source}/resources">
                        <include name="*.png" />
                      </fileset>
                    </copy>
                  </postProcess>
                </configuration>
              </execution>
            </executions>
            <dependencies>
              <dependency>
                <groupId>org.docbook</groupId>
                <artifactId>docbook-xml</artifactId>
                <version>4.4</version>
                <scope>runtime</scope>
              </dependency>
            </dependencies>
          </plugin>
        </plugins>
      </build>
      <pluginRepositories>
        <pluginRepository>
          <id>agilejava</id>
          <name>Agilejava repository (Docbook plugin)</name>
          <url>http://agilejava.com/maven</url>
        </pluginRepository>
      </pluginRepositories>
      <properties>
        <docbook.source>${project.basedir}/src/docbook</docbook.source>
        <docbook.target>${project.basedir}/target/docbook2</docbook.target>
        <docbook.version>1.67.2</docbook.version>
      </properties>
    </profile>

    <!--name of the runtime classes file-->
    <profile>
      <id>rt.jar</id>
      <activation>
        <os>
          <family>!mac</family>
        </os>
      </activation>
      <properties>
        <java.classes.jar>lib/rt.jar</java.classes.jar>
      </properties>
    </profile>
    <profile>
      <id>classes.jar</id>
      <activation>
        <os>
          <family>mac</family>
        </os>
      </activation>
      <properties>
        <java.classes.jar>../Classes/classes.jar</java.classes.jar>
      </properties>
    </profile>
  </profiles>

  <repositories>
    <repository>
      <!-- apache snapshot repository should be disabled -->
      <id>apache.snapshots</id>
      <name>Apache Snapshot Repository</name>
      <url>http://people.apache.org/repo/m2-snapshot-repository</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
        <updatePolicy>never</updatePolicy>
      </snapshots>
    </repository>
  </repositories>

  <contributors>
    <contributor>
      <name>Helmut Swaczinna</name>
      <email>swaczinna@wlp-systems.de</email>
      <organization>WLP Systems GmbH</organization>
      <organizationUrl>www.wlp-systems.de</organizationUrl>
      <timezone>+1</timezone>
    </contributor>
  </contributors>

  <properties>
    <myfaces.version>1.1.8</myfaces.version>
    <myfaces12.version>1.2.9</myfaces12.version>
    <sunjsf.version>1.1_02</sunjsf.version>
    <sunjsf12.version>1.2_14</sunjsf12.version>
    <facelets.version>1.1.14</facelets.version>
    <jetty.version>6.1.22</jetty.version>
    <common-io.version>1.1</common-io.version>
    <common-lang.version>2.1</common-lang.version>
    <commons-logging.version>1.1.1</commons-logging.version>
    <commons-digester.version>1.8</commons-digester.version>
    <commons-collection.version>3.1</commons-collection.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
</project>
