<?xml version="1.0" encoding="UTF-8"?>
<!--

  Copyright 2004-2012 The Kuali Foundation

  Licensed under the Educational Community 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.opensource.org/licenses/ecl2.php

  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>

  <groupId>org.kuali.pom</groupId>
  <version>1.2.2</version>
  <artifactId>kuali-pom</artifactId>
  <packaging>pom</packaging>
  <name>Kuali Foundation</name>
  <description>
    Kuali is a growing community of universities, colleges, and commercial firms partnering 
    to build and sustain open-source software for higher education, by higher education.
  </description>
  <modules>
    <module>kuali-common</module>
  </modules>
  <licenses>
    <license>
      <name>Educational Community License, Version 2.0</name>
      <url>${kuali.ecl.license.url}</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <organization>
    <name>The Kuali Foundation</name>
    <url>http://www.kuali.org/</url>
  </organization>
  <inceptionYear>2004</inceptionYear>
  <ciManagement>
    <system>jenkins</system>
    <url>http://ci.fn.kuali.org</url>
  </ciManagement>
  <issueManagement>
    <system>JIRA</system>
    <url>http://jira.kuali.org</url>
  </issueManagement>
  <developers>
    <developer>
      <id>jcaddel</id>
      <name>Jeff Caddel</name>
      <email>jcaddel@kuali.org</email>
      <organization>rSmart</organization>
      <timezone>-7</timezone>
    </developer>
  </developers>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <!-- Declared as properties so they can be shared between the compiler and javadoc plugins -->
    <kuali.compile.source>1.6</kuali.compile.source>
    <kuali.compile.target>1.6</kuali.compile.target>

    <!-- Don't create -tests.jar for POM's and other modules that don't actually have test code -->
    <kuali.testjar.skipIfEmpty>true</kuali.testjar.skipIfEmpty>

    <!-- This profile provides quality control for official Kuali artifacts (GPG signature, attached sources, javadocs etc.) -->
    <kuali.release.profiles>kuali-release</kuali.release.profiles>
    <!-- This is "false" because their profile forks the maven process when attaching sources, we want "jar-no-fork" -->
    <kuali.release.use.maven.profile>false</kuali.release.use.maven.profile>
    <kuali.release.goals>deploy site-deploy</kuali.release.goals>
    <kuali.release.prepare.goals>clean verify</kuali.release.prepare.goals>

    <kuali.svn.prefix>svn</kuali.svn.prefix>
    <kuali.svn.depth>empty</kuali.svn.depth>
    <kuali.svn.verbose>false</kuali.svn.verbose>

    <!-- This is used in the licenses section as well as the jar/war plugins -->
    <kuali.ecl.license.url>http://maven.kuali.org/external/org/opensource/ecl/2.0/ecl-2.0.txt</kuali.ecl.license.url>

    <!-- These properties are used when generating/deploying the maven generated site -->
    <kuali.groupId>org.kuali</kuali.groupId>
    <kuali.pom.1>org.kuali.pom:kuali-pom</kuali.pom.1>
    <kuali.pom.2>org.kuali.pom:kuali-common</kuali.pom.2>
    <kuali.pom.3>org.kuali.pom:kuali-maven</kuali.pom.3>
    <kuali.site.bucket>site.origin.kuali.org</kuali.site.bucket>
    <kuali.site.hostname>site.kuali.org</kuali.site.hostname>
    <kuali.site.server.id>kuali.site</kuali.site.server.id>
    <kuali.site.descriptor.phase>package</kuali.site.descriptor.phase>

    <!--
      Setting this to true causes Maven to try and contact any url's listed for every dependency in the project(s).
      Typically, quite a few of these urls are out of date, which makes the request eventually time out. This causes basic
      report generation to take a very long time
    -->
    <dependency.locations.enabled>false</dependency.locations.enabled>
    <dependency.details.enabled>false</dependency.details.enabled>

    <!-- These are the Kuali repository settings for an official release -->
    <kuali.repo.release.id>kuali.release</kuali.repo.release.id>
    <kuali.repo.release.name>Kuali Release Repository</kuali.repo.release.name>
    <kuali.repo.release.url>s3://maven.kuali.org/release</kuali.repo.release.url>

    <!-- These are the Kuali repository settings for snapshot builds -->
    <kuali.repo.snapshot.id>kuali.snapshot</kuali.repo.snapshot.id>
    <kuali.repo.snapshot.name>Kuali Snapshot Repository</kuali.repo.snapshot.name>
    <kuali.repo.snapshot.url>s3://maven.kuali.org/snapshot</kuali.repo.snapshot.url>
    <kuali.cm.tools.version>1.1.6</kuali.cm.tools.version>

    <!-- Properties for controlling repo settings -->
    <kuali.releases>true</kuali.releases>
    <kuali.snapshots>true</kuali.snapshots>
    <kuali.repo>http://nexus.kuali.org/content/groups/public</kuali.repo>
    <kuali.repo.releases>${kuali.releases}</kuali.repo.releases>
    <kuali.repo.snapshots>${kuali.snapshots}</kuali.repo.snapshots>
    <kuali.plugin.releases>${kuali.releases}</kuali.plugin.releases>
    <kuali.plugin.snapshots>${kuali.snapshots}</kuali.plugin.snapshots>

    <kuali.testjar.phase>package</kuali.testjar.phase>
    <kuali.gpg.phase>install</kuali.gpg.phase>
    <kuali.cloudfront.phase>site-deploy</kuali.cloudfront.phase>

    <ksite.phase>pre-site</ksite.phase>
    <ksite.publishBase>s3://${kuali.site.bucket}</ksite.publishBase>
    <ksite.publicBase>http://${kuali.site.hostname}</ksite.publicBase>
    <ksite.downloadBase>http://shrub.appspot.com/maven.kuali.org</ksite.downloadBase>

    <!-- Wagon versions -->
    <wagon.s3.version>1.1.11</wagon.s3.version>

    <!-- Plugin versions (ordered alphabetically) -->
    <plugin.ant.version>1.0.5</plugin.ant.version>
    <plugin.antrun.version>1.7</plugin.antrun.version>
    <plugin.assembly.version>2.2.1</plugin.assembly.version>
    <plugin.build-helper.version>1.7</plugin.build-helper.version>
    <plugin.buildnumber.version>1.0</plugin.buildnumber.version>
    <plugin.clean.version>2.4.1</plugin.clean.version>
    <plugin.cloudfront.version>1.1.3</plugin.cloudfront.version>
    <plugin.compiler.version>2.3.2</plugin.compiler.version>
    <plugin.dependency.version>2.3</plugin.dependency.version>
    <plugin.deploy.version>2.7</plugin.deploy.version>
    <plugin.enforcer.version>1.0.1</plugin.enforcer.version>
    <plugin.gpg.version>1.4</plugin.gpg.version>
    <plugin.install.version>2.3.1</plugin.install.version>
    <plugin.jar.version>2.4</plugin.jar.version>
    <plugin.javadoc.version>2.8</plugin.javadoc.version>
    <plugin.jenkins.version>1.1.0</plugin.jenkins.version>
    <plugin.klicense.version>1.6.0</plugin.klicense.version>
    <plugin.ksite.version>1.1.1</plugin.ksite.version>
    <plugin.license.version>1.9.0</plugin.license.version>
    <plugin.nexus.version>1.9.2.3</plugin.nexus.version>
    <plugin.project-info-reports.version>2.4</plugin.project-info-reports.version>
    <plugin.properties.version>1.0.4</plugin.properties.version>
    <plugin.release.version>2.2.1</plugin.release.version>
    <plugin.resources.version>2.5</plugin.resources.version>
    <plugin.scm.version>1.6</plugin.scm.version>
    <!-- 3.0 fixes MSITE-532 but has MSITE-600. 3.1 should fix both -->
    <plugin.site.version>3.0-beta-3</plugin.site.version>
    <plugin.source.version>2.1.2</plugin.source.version>
    <plugin.bom.version>1.0.2</plugin.bom.version>
    <plugin.surefire.version>2.10</plugin.surefire.version>
    <plugin.svn-revision-number.version>1.7</plugin.svn-revision-number.version>
    <plugin.versions.version>1.3.1</plugin.versions.version>
    <plugin.war.version>2.2</plugin.war.version>
  </properties>
  <repositories>
    <repository>
      <id>kuali.nexus</id>
      <name>Nexus Repository Manager</name>
      <url>${kuali.repo}</url>
      <releases>
        <enabled>${kuali.repo.releases}</enabled>
      </releases>
      <snapshots>
        <enabled>${kuali.repo.snapshots}</enabled>
      </snapshots>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>kuali.nexus</id>
      <name>Nexus Repository Manager</name>
      <url>${kuali.repo}</url>
      <releases>
        <enabled>${kuali.plugin.releases}</enabled>
      </releases>
      <snapshots>
        <enabled>${kuali.plugin.snapshots}</enabled>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>
  <url>http://${kuali.site.hostname}/pom/${project.artifactId}/${project.version}</url>
  <distributionManagement>
    <downloadUrl>${kuali.site.download.url}</downloadUrl>
    <site>
      <id>${kuali.site.server.id}</id>
      <name>Kuali Maven Site</name>
      <url>${kuali.site.publish.url}</url>
    </site>
    <repository>
      <id>${kuali.repo.release.id}</id>
      <name>${kuali.repo.release.name}</name>
      <url>${kuali.repo.release.url}</url>
    </repository>
    <snapshotRepository>
      <id>${kuali.repo.snapshot.id}</id>
      <name>${kuali.repo.snapshot.name}</name>
      <url>${kuali.repo.snapshot.url}</url>
    </snapshotRepository>
  </distributionManagement>
  <scm>
    <connection>scm:svn:https://svn.kuali.org/repos/foundation/tags/kuali-pom-1.2.2</connection>
    <developerConnection>scm:svn:https://svn.kuali.org/repos/foundation/tags/kuali-pom-1.2.2</developerConnection>
    <url>https://svn.kuali.org/repos/foundation/tags/kuali-pom-1.2.2</url>
  </scm>
  <build>
    <extensions>
      <extension>
        <groupId>org.kuali.maven.wagons</groupId>
        <artifactId>maven-s3-wagon</artifactId>
        <version>${wagon.s3.version}</version>
      </extension>
    </extensions>
    <pluginManagement>
      <plugins>
        <!-- set versions of common plugins for reproducibility, ordered alphabetically -->
        <plugin>
          <groupId>org.kuali.maven.plugins</groupId>
          <artifactId>ant-maven-plugin</artifactId>
          <version>${plugin.ant.version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>${plugin.build-helper.version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>buildnumber-maven-plugin</artifactId>
          <version>${plugin.buildnumber.version}</version>
        </plugin>
        <plugin>
          <groupId>org.kuali.maven.plugins</groupId>
          <artifactId>jenkins-maven-plugin</artifactId>
          <version>${plugin.jenkins.version}</version>
        </plugin>
        <plugin>
          <groupId>org.kuali.maven.plugins</groupId>
          <artifactId>license-maven-plugin</artifactId>
          <version>${plugin.klicense.version}</version>
          <configuration>
            <artifactLicenseMapping>classpath:org/kuali/cm/license/THIRD-PARTY.properties</artifactLicenseMapping>
            <useMissingFile>true</useMissingFile>
            <groupByLicense>true</groupByLicense>
            <deployMissingFile>false</deployMissingFile>
            <licenseMerges>
              <licenseMerge>Apache Software License - Version 2.0|Apache License V2.0|Apache Public License 2.0|Apache License 2.0|ASF 2.0|Apache License Version 2.0|Apache 2|Apache 2.0|Apache License|Apache License Version 2.0|Apache License, Version 2.0|The Apache Software License, Version 2.0|provided without support or warranty</licenseMerge>
              <licenseMerge>BSD License|BSD|BSD style|BSD-style License|The BSD License</licenseMerge>
              <licenseMerge>Common Public License - Version 1.0|CPL|Common Public License Version 1.0</licenseMerge>
              <licenseMerge>Eclipse Public License - Version 1.0|Eclipse Public License - v 1.0|Eclipse Public License v1.0|Eclipse Public License, Version 1.0</licenseMerge>
              <licenseMerge>CDDL - Version 1.0|CDDL|CDDL 1.0|CDDL License</licenseMerge>
              <licenseMerge>CDDL - Version 1.1 / GNU General Public License - Version 2|CDDL v1.1 / GPL v2 dual license</licenseMerge>
              <licenseMerge>Educational Community License - Version 2.0|Educational Community License, Version 2.0</licenseMerge>
              <licenseMerge>GNU Lesser General Public License|GNU LESSER GENERAL PUBLIC LICENSE|lgpl|license.txt</licenseMerge>
              <licenseMerge>GNU Lesser General Public License - Version 2.1|GNU Lesser General Public License Version 2.1|LGPL 2.1|LGPL, version 2.1</licenseMerge>
              <licenseMerge>GNU Lesser General Public License - Version 3|GNU Lesser General Public License v3.0|GNU Lesser General Public License - Version 3.0</licenseMerge>
              <licenseMerge>GNU General Public License - Version 2|The GNU General Public License, Version 2</licenseMerge>
              <licenseMerge>Mozilla Public License - Version 1.1|Mozilla Public License version 1.1|MPL 1.1</licenseMerge>
              <licenseMerge>GNU General Public License - Version 2 / CPE|GPL2 w/ CPE|GPLv2+CE</licenseMerge>
            </licenseMerges>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>org.kuali.common.cm</groupId>
              <artifactId>cm-tools</artifactId>
              <version>${kuali.cm.tools.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>${plugin.antrun.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>${plugin.assembly.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>${plugin.clean.version}</version>
        </plugin>
        <plugin>
          <groupId>org.kuali.maven.plugins</groupId>
          <artifactId>maven-cloudfront-plugin</artifactId>
          <version>${plugin.cloudfront.version}</version>
          <configuration>
            <organizationGroupId>${kuali.groupId}</organizationGroupId>
            <forceMojoExecution>true</forceMojoExecution>
            <bucket>${kuali.site.bucket}</bucket>
            <serverId>${kuali.site.server.id}</serverId>
            <orgPomGavs>
              <param>${kuali.pom.1}</param>
              <param>${kuali.pom.2}</param>
              <param>${kuali.pom.3}</param>
            </orgPomGavs>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${plugin.compiler.version}</version>
          <configuration>
            <source>${kuali.compile.source}</source>
            <target>${kuali.compile.target}</target>
            <encoding>${project.build.sourceEncoding}</encoding>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>${plugin.dependency.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>${plugin.deploy.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>${plugin.enforcer.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-gpg-plugin</artifactId>
          <version>${plugin.gpg.version}</version>
          <configuration>
            <passphrase>${kuali.gpg.passphrase}</passphrase>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>${plugin.install.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>${plugin.jar.version}</version>
          <configuration>
            <archive>
              <manifestEntries>
                <Bundle-Version>${project.version}</Bundle-Version>
                <Bundle-Name>${project.name}</Bundle-Name>
                <Bundle-License>${kuali.ecl.license.url}</Bundle-License>
                <Bundle-Vendor>${project.organization.name}</Bundle-Vendor>
                <Bundle-DocURL>${project.organization.url}</Bundle-DocURL>
                <Bundle-Timestamp>${maven.build.timestamp}</Bundle-Timestamp>
                <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
                <Bundle-BuildNumber>${env.BUILD_NUMBER}</Bundle-BuildNumber>
                <SVN-Repository>${svn.repository}</SVN-Repository>
                <SVN-Path>${svn.path}</SVN-Path>
                <SVN-Revision>${svn.revision}</SVN-Revision>
                <SVN-URL>${svn.repository}/${svn.path}</SVN-URL>
                <Maven-Version>${maven.version}</Maven-Version>
              </manifestEntries>
              <manifest>
                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
              </manifest>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>${plugin.javadoc.version}</version>
          <configuration>
            <encoding>${project.build.sourceEncoding}</encoding>
            <source>${kuali.compile.source}</source>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.kuali.maven.plugins</groupId>
          <artifactId>maven-ksite-plugin</artifactId>
          <version>${plugin.ksite.version}</version>
          <configuration>
            <organizationGroupId>${kuali.groupId}</organizationGroupId>
            <downloadExternalPath>external</downloadExternalPath>
            <downloadReleasePath>release</downloadReleasePath>
            <downloadSnapshotPath>snapshot</downloadSnapshotPath>
            <downloadBase>${ksite.downloadBase}</downloadBase>
            <publishBase>${ksite.publishBase}</publishBase>
            <publicBase>${ksite.publicBase}</publicBase>
            <snapshotSnippet>SNAPSHOT</snapshotSnippet>
            <orgPomGavs>
              <param>${kuali.pom.1}</param>
              <param>${kuali.pom.2}</param>
              <param>${kuali.pom.3}</param>
            </orgPomGavs>
          </configuration>
        </plugin>
        <plugin>
          <groupId>com.mycila.maven-license-plugin</groupId>
          <artifactId>maven-license-plugin</artifactId>
          <version>${plugin.license.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>${plugin.project-info-reports.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-release-plugin</artifactId>
          <version>${plugin.release.version}</version>
          <configuration>
            <arguments>${kuali.release.arguments}</arguments>
            <releaseProfiles>${kuali.release.profiles}</releaseProfiles>
            <useReleaseProfile>${kuali.release.use.maven.profile}</useReleaseProfile>
            <developmentVersion>${kuali.release.dev.version}</developmentVersion>
            <releaseVersion>${kuali.release.version}</releaseVersion>
            <username>${kuali.release.username}</username>
            <password>${kuali.release.password}</password>
            <preparationGoals>${kuali.release.prepare.goals}</preparationGoals>
            <goals>${kuali.release.goals}</goals>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>${plugin.resources.version}</version>
          <configuration>
            <encoding>${project.build.sourceEncoding}</encoding>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-scm-plugin</artifactId>
          <version>${plugin.scm.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-site-plugin</artifactId>
          <version>${plugin.site.version}</version>
          <configuration>
            <reportPlugins>
              <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <configuration>
                  <dependencyDetailsEnabled>${dependency.details.enabled}</dependencyDetailsEnabled>
                  <dependencyLocationsEnabled>${dependency.locations.enabled}</dependencyLocationsEnabled>
                </configuration>
              </plugin>
            </reportPlugins>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-source-plugin</artifactId>
          <version>${plugin.source.version}</version>
        </plugin>
        <plugin>
          <groupId>org.kuali.maven.plugins</groupId>
          <artifactId>bom-maven-plugin</artifactId>
          <version>${plugin.bom.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${plugin.surefire.version}</version>
        </plugin>
        <plugin>
          <groupId>com.google.code.maven-svn-revision-number-plugin</groupId>
          <artifactId>maven-svn-revision-number-plugin</artifactId>
          <version>${plugin.svn-revision-number.version}</version>
          <configuration>
            <verbose>${kuali.svn.verbose}</verbose>
            <entries>
              <entry>
                <prefix>${kuali.svn.prefix}</prefix>
                <depth>${kuali.svn.depth}</depth>
              </entry>
            </entries>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>${plugin.war.version}</version>
          <configuration>
            <archive>
              <manifestEntries>
                <Bundle-Version>${project.version}</Bundle-Version>
                <Bundle-Name>${project.name}</Bundle-Name>
                <Bundle-License>${kuali.ecl.license.url}</Bundle-License>
                <Bundle-Vendor>${project.organization.name}</Bundle-Vendor>
                <Bundle-DocURL>${project.organization.url}</Bundle-DocURL>
                <Bundle-Timestamp>${maven.build.timestamp}</Bundle-Timestamp>
                <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
                <Bundle-BuildNumber>${env.BUILD_NUMBER}</Bundle-BuildNumber>
                <SVN-Revision>${svn.revision}</SVN-Revision>
                <SVN-Path>${svn.path}</SVN-Path>
                <SVN-Repository>${svn.repository}</SVN-Repository>
                <SVN-URL>${svn.repository}/${svn.path}</SVN-URL>
                <Maven-Version>${maven.version}</Maven-Version>
              </manifestEntries>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.sonatype.plugins</groupId>
          <artifactId>nexus-maven-plugin</artifactId>
          <version>${plugin.nexus.version}</version>
        </plugin>
        <plugin>
          <groupId>org.kuali.maven.plugins</groupId>
          <artifactId>properties-maven-plugin</artifactId>
          <version>${plugin.properties.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.kuali.maven.plugins</groupId>
        <artifactId>maven-ksite-plugin</artifactId>
        <executions>
          <execution>
            <id>ksite-set</id>
            <phase>${ksite.phase}</phase>
            <goals>
              <goal>set</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.kuali.maven.plugins</groupId>
        <artifactId>maven-cloudfront-plugin</artifactId>
        <executions>
          <execution>
            <id>update-s3-bucket-indexes</id>
            <phase>${kuali.cloudfront.phase}</phase>
            <goals>
              <goal>updateoriginbucket</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>license</id>
      <properties>
        <license.timestamp.phase>initialize</license.timestamp.phase>
        <license.bom.phase>initialize</license.bom.phase>
        <license.timestamp.format>yyyy</license.timestamp.format>
        <license.format.phase>process-sources</license.format.phase>
        <license.check.phase>verify</license.check.phase>
        <license.status.phase>verify</license.status.phase>
        <license.commit.phase>install</license.commit.phase>
        <license.header>org/kuali/cm/license/ecl-2.0-header.txt</license.header>
        <license.strictCheck>true</license.strictCheck>
      </properties>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>com.mycila.maven-license-plugin</groupId>
              <artifactId>maven-license-plugin</artifactId>
              <configuration>
                <encoding>${project.build.sourceEncoding}</encoding>
                <strictCheck>${license.strictCheck}</strictCheck>
                <header>${license.header}</header>
                <properties>
                  <license.copyrightStartYear>${project.inceptionYear}</license.copyrightStartYear>
                  <license.copyrightCurrentYear>${license.current.year}</license.copyrightCurrentYear>
                </properties>
              </configuration>
              <dependencies>
                <dependency>
                  <groupId>org.kuali.common.cm</groupId>
                  <artifactId>cm-tools</artifactId>
                  <version>${kuali.cm.tools.version}</version>
                </dependency>
              </dependencies>
            </plugin>
            <plugin>
              <artifactId>maven-scm-plugin</artifactId>
              <configuration>
                <basedir>${project.basedir}</basedir>
                <message>Automated license header update</message>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
        <plugins>
          <plugin>
            <groupId>org.kuali.maven.plugins</groupId>
            <artifactId>bom-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>detect-boms</id>
                <phase>${license.bom.phase}</phase>
                <goals>
                  <goal>strip</goal>
                </goals>
                <configuration>
                  <strip>false</strip>
                  <failBuild>true</failBuild>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>buildnumber-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>generate-current-year</id>
                <phase>${license.timestamp.phase}</phase>
                <goals>
                  <goal>create-timestamp</goal>
                </goals>
                <configuration>
                  <timestampFormat>${license.timestamp.format}</timestampFormat>
                  <timestampPropertyName>license.current.year</timestampPropertyName>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>com.mycila.maven-license-plugin</groupId>
            <artifactId>maven-license-plugin</artifactId>
            <executions>
              <execution>
                <id>update-license-header</id>
                <phase>${license.format.phase}</phase>
                <goals>
                  <goal>format</goal>
                </goals>
              </execution>
              <execution>
                <id>update-pom-headers</id>
                <phase>${license.format.phase}</phase>
                <goals>
                  <goal>format</goal>
                </goals>
                <configuration>
                  <includes>
                    <include>**/pom.xml</include>
                  </includes>
                  <useDefaultExcludes>false</useDefaultExcludes>
                  <excludes>
                    <exclude>**/target/**</exclude>
                  </excludes>
                </configuration>
              </execution>
              <execution>
                <id>verify-license-header</id>
                <phase>${license.check.phase}</phase>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-scm-plugin</artifactId>
            <executions>
              <execution>
                <id>license-header-status</id>
                <phase>${license.status.phase}</phase>
                <goals>
                  <goal>status</goal>
                </goals>
              </execution>
              <execution>
                <id>commit-license-header</id>
                <phase>${license.commit.phase}</phase>
                <goals>
                  <goal>checkin</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>sonatype-oss-release</id>
      <properties>
        <kuali.nexus.sonatype.url>https://oss.sonatype.org</kuali.nexus.sonatype.url>
        <kuali.nexus.sonatype.description>Releasing ${project.artifactId} version ${project.version}</kuali.nexus.sonatype.description>
        <kuali.nexus.sonatype.phase>deploy</kuali.nexus.sonatype.phase>
        <kuali.nexus.sonatype.automatic>true</kuali.nexus.sonatype.automatic>
        <kuali.nexus.sonatype.promote.auto.select.override>true</kuali.nexus.sonatype.promote.auto.select.override>
        <kuali.nexus.sonatype.release.repository.id>releases</kuali.nexus.sonatype.release.repository.id>

        <kuali.repo.release.id>sonatype-nexus-staging</kuali.repo.release.id>
        <kuali.repo.release.name>Sonatype Nexus Release Repository</kuali.repo.release.name>
        <kuali.repo.release.url>${kuali.nexus.sonatype.url}/service/local/staging/deploy/maven2</kuali.repo.release.url>

        <!-- These are for reference only. Not currently publishing snapshots to Sonatype's Nexus instance
          <kuali.repo.snapshot.id>sonatype-nexus-snapshots</kuali.repo.snapshot.id>
          <kuali.repo.snapshot.name>Sonatype Nexus Snapshots</kuali.repo.snapshot.name>
          <kuali.repo.snapshot.url>https://oss.sonatype.org/content/repositories/snapshots/</kuali.repo.snapshot.url>
        -->
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.sonatype.plugins</groupId>
            <artifactId>nexus-maven-plugin</artifactId>
            <configuration>
              <nexusUrl>${kuali.nexus.sonatype.url}</nexusUrl>
              <serverAuthId>${kuali.repo.release.id}</serverAuthId>
              <automatic>${kuali.nexus.sonatype.automatic}</automatic>
              <promoteAutoSelectOverride>${kuali.nexus.sonatype.promote.auto.select.override}</promoteAutoSelectOverride>
              <description>${kuali.nexus.sonatype.description}</description>
              <targetRepositoryId>${kuali.nexus.sonatype.release.repository.id}</targetRepositoryId>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>kuali-release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>get-maven-metadata</id>
                <goals>
                  <goal>maven-version</goal>
                  <goal>parse-version</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.kuali.maven.plugins</groupId>
            <artifactId>license-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>add-third-party-licenses</id>
                <goals>
                  <goal>add-third-party</goal>
                </goals>
                <configuration>
                  <thirdPartyFilename>META-INF/THIRD-PARTY.txt</thirdPartyFilename>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-deploy-plugin</artifactId>
            <configuration>
              <updateReleaseInfo>true</updateReleaseInfo>
            </configuration>
          </plugin>
          <plugin>
            <artifactId>maven-gpg-plugin</artifactId>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>${kuali.gpg.phase}</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-site-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-descriptor</id>
                <phase>${kuali.site.descriptor.phase}</phase>
                <goals>
                  <goal>attach-descriptor</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-jar-plugin</artifactId>
            <executions>
              <execution>
                <id>test-jar</id>
                <phase>${kuali.testjar.phase}</phase>
                <goals>
                  <goal>test-jar</goal>
                </goals>
                <configuration>
                  <skipIfEmpty>${kuali.testjar.skipIfEmpty}</skipIfEmpty>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar-no-fork</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>com.google.code.maven-svn-revision-number-plugin</groupId>
            <artifactId>maven-svn-revision-number-plugin</artifactId>
            <executions>
              <execution>
                <id>generate-svn-info</id>
                <goals>
                  <goal>revision</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <!-- Version the POM's based on ${project.version} + the Jenkins build number -->
      <id>buildnumber</id>
      <properties>
        <kuali.build.version>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}-${kuali.build.day}-build-${env.BUILD_NUMBER}</kuali.build.version>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>get-maven-metadata</id>
                <phase>initialize</phase>
                <goals>
                  <goal>parse-version</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>buildnumber-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>generate-current-day</id>
                <phase>initialize</phase>
                <goals>
                  <goal>create-timestamp</goal>
                </goals>
                <configuration>
                  <timestampFormat>yyyyMMdd</timestampFormat>
                  <timestampPropertyName>kuali.build.day</timestampPropertyName>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>versions-maven-plugin</artifactId>
            <version>${plugin.versions.version}</version>
            <executions>
              <execution>
                <id>update-version</id>
                <phase>initialize</phase>
                <goals>
                  <goal>set</goal>
                </goals>
                <configuration>
                  <generateBackupPoms>false</generateBackupPoms>
                  <newVersion>${kuali.build.version}</newVersion>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <!-- Version the POM's based on ${project.version} + the SVN revision number -->
      <id>revision</id>
      <properties>
        <kuali.build.version>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}-r${svn.revision}</kuali.build.version>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>com.google.code.maven-svn-revision-number-plugin</groupId>
            <artifactId>maven-svn-revision-number-plugin</artifactId>
            <executions>
              <execution>
                <id>generate-svn-info</id>
                <phase>initialize</phase>
                <goals>
                  <goal>revision</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>get-maven-metadata</id>
                <phase>initialize</phase>
                <goals>
                  <goal>parse-version</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>versions-maven-plugin</artifactId>
            <version>${plugin.versions.version}</version>
            <executions>
              <execution>
                <id>update-version</id>
                <phase>initialize</phase>
                <goals>
                  <goal>set</goal>
                </goals>
                <configuration>
                  <generateBackupPoms>false</generateBackupPoms>
                  <newVersion>${kuali.build.version}</newVersion>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <!-- Create a build for internal use at Kuali -->
      <id>builds</id>
      <properties>
        <kuali.repo.release.url>s3://maven.kuali.org/builds</kuali.repo.release.url>
        <kuali.gpg.phase>none</kuali.gpg.phase>
        <kuali.site.descriptor.phase>none</kuali.site.descriptor.phase>
        <maven.javadoc.skip>true</maven.javadoc.skip>
      </properties>
    </profile>
    <profile>
      <!-- Tag today's source tree -->
      <id>nightlytag</id>
      <properties>
        <!--
          This doesn't work at the moment because the maven-scm-plugin for Subversion doesn't add "-parents" to the command
          http://jira.codehaus.org/browse/SCM-487
        -->
        <kuali.nightly.tag>builds/${project.artifactId}/${parsedVersion.majorVersion}.${parsedVersion.minorVersion}/${project.artifactId}-${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-${kuali.build.day}-build-${env.BUILD_NUMBER}</kuali.nightly.tag>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>get-maven-metadata</id>
                <phase>initialize</phase>
                <goals>
                  <goal>parse-version</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>buildnumber-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>generate-current-day</id>
                <phase>initialize</phase>
                <goals>
                  <goal>create-timestamp</goal>
                </goals>
                <configuration>
                  <timestampFormat>yyyyMMdd</timestampFormat>
                  <timestampPropertyName>kuali.build.day</timestampPropertyName>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-scm-plugin</artifactId>
            <executions>
              <execution>
                <id>nightly-tag</id>
                <phase>install</phase>
                <goals>
                  <goal>tag</goal>
                </goals>
                <configuration>
                  <tag>${kuali.nightly.tag}</tag>
                  <message>Automated nightly build tag</message>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
