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

<!--
  ~ Copyright 2009-2010 WorldWide Conferencing, LLC
  ~
  ~ Licensed 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>

  <!--
  Shared project model for Lift Framework. Define the settings common to all projects
  in Lift Framework.

  Dependencies and plugins are also pre-configured with standard settings,
  these may be overridden by individual projects as well.
  -->

  <!--
    ~ The Basics
  -->
  <parent>
    <groupId>net.liftweb</groupId>
    <artifactId>lift-parent</artifactId>
    <version>2.0-M3</version>
    <relativePath>../resources/lift-parent/pom.xml</relativePath>
  </parent>
  <artifactId>framework</artifactId>
  <packaging>pom</packaging>

  <!--
    ~ More Project Information
  -->
  <name>Lift Web Framework</name>
  <description>
    Lift is an expressive and elegant framework for writing web applications.
    Lift stresses the importance of security, maintainability, scalability
    and performance while allowing for high levels of developer productivity.
    Lift is a Scala web framework.
  </description>

  <!--
    ~ Module Settings
  -->
  <modules>
    <module>lift-base</module>
    <module>lift-persistence</module>
    <module>lift-modules</module>

    <!-- the 'meta' module -->
    <module>lift-core</module>
  </modules>

  <!--
    ~ Environment Settings
  -->
  <ciManagement>
    <system>hudson</system>
    <url>http://hudson.scala-tools.org/job/lift-framework/</url>
    <!-- <notifiers/> -->
  </ciManagement>
  <distributionManagement>
    <site>
      <id>scala-tools.dist.site</id>
      <!-- dav protocol isn't optimized for site-deploy (very long for api) -->
      <!--url>dav:http://dav.scala-tools.org/mvnsites/liftweb</url-->
      <url>file://${user.home}/.m2/mvnsites/liftweb/framework</url>
    </site>
  </distributionManagement>
  <properties>
    <!-- vscaladoc settings -->
    <maven.scaladoc.vscaladocVersion>1.2-SNAPSHOT</maven.scaladoc.vscaladocVersion>
    <vscaladoc.links.liftweb.baseurl>${project.basedir}/../..</vscaladoc.links.liftweb.baseurl>
    <vscaladoc.links.liftweb.pathsufix>target/site/scaladocs/</vscaladoc.links.liftweb.pathsufix>

    <!-- TODO: for lift_build_date.
         http://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Available_Variables -->
    <!--<maven.build.timestamp.format/>-->
  </properties>

  <!--
    ~ Dependency Settings
  -->
  <!--<dependencyManagement />-->
  <!-- Dependencies omitted, each project must provide their own -->
  <!--<dependencies />-->

  <!--
    ~ Build Settings
  -->
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-changes-plugin</artifactId>
          <executions>
            <execution>
              <id>default-changes-validate</id>
              <phase>verify</phase>
              <goals>
                <goal>changes-validate</goal>
              </goals>
              <configuration>
                <failOnError>true</failOnError>
              </configuration>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <configuration>
            <archive>
              <manifestEntries>
                <!-- TODO: Deprecate and use Default Implementation Entries (Implementation-Version) -->
                <lift_version>${pom.version}</lift_version>
                <lift_build_date>${maven.build.timestamp}</lift_build_date>
              </manifestEntries>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <executions>
            <execution>
              <id>default-copy-resources</id>
              <phase>process-resources</phase>
              <goals>
                <goal>copy-resources</goal>
              </goals>
              <configuration>
                <overwrite>true</overwrite>
                <outputDirectory>${project.build.directory}</outputDirectory>
                <resources>
                  <resource>
                    <directory>${project.basedir}/src</directory>
                    <includes>
                      <include>packageLinkDefs.properties</include>
                    </includes>
                    <filtering>true</filtering>
                  </resource>
                </resources>
              </configuration>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <configuration>
            <systemPropertyVariables>
              <!-- See: http://db.apache.org/derby/docs/10.2/tuning/rtunproper18151.html -->
              <derby.stream.error.file>${project.build.directory}/derby.log</derby.stream.error.file>
            </systemPropertyVariables>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <executions>
            <execution>
              <goals>
                <goal>bundle</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <configuration>
            <excludes>
              <exclude>*.log</exclude>
              <exclude>**/packageLinkDefs.properties</exclude>
            </excludes>
          </configuration>
          <executions>
            <execution>
              <goals>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.scala-tools</groupId>
          <artifactId>maven-scala-plugin</artifactId>
          <configuration>
            <jvmArgs>
              <jvmArg>-Xmx1024m</jvmArg>
              <jvmArg>-DpackageLinkDefs=file://${project.build.directory}/packageLinkDefs.properties</jvmArg>
            </jvmArgs>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-changes-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.scala-tools</groupId>
        <artifactId>maven-scala-plugin</artifactId>
      </plugin>
    </plugins>
  </build>

  <!--
    ~ Reporting Settings
  -->
  <reporting>
    <excludeDefaults>true</excludeDefaults>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-changes-plugin</artifactId>
        <version>2.3</version>
        <inherited>false</inherited>
        <configuration>
          <filteringChanges>true</filteringChanges>
          <issueLinkTemplatePerSystem>
            <assembla>%URL%/%ISSUE%</assembla>
          </issueLinkTemplatePerSystem>
        </configuration>
        <reportSets>
          <reportSet>
            <reports>
              <report>changes-report</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.6.1</version>
        <configuration>
          <detectLinks>true</detectLinks>
          <linksource>true</linksource>
        </configuration>
        <reportSets>
          <reportSet>
            <reports>
              <report>javadoc</report>
              <!--<report>aggregate</report>-->
              <report>test-javadoc</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>2.1</version>
        <configuration>
          <inputEncoding>${project.build.sourceEncoding}</inputEncoding>
          <outputEncoding>${project.build.sourceEncoding}</outputEncoding>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>2.1.2</version>
        <inherited>false</inherited>
        <reportSets>
          <reportSet>
            <reports>
              <report>cim</report>
              <report>dependencies</report>
              <report>dependency-convergence</report>
              <!--<report>dependency-management</report>-->
              <report>index</report>
              <report>issue-tracking</report>
              <report>license</report>
              <report>mailing-list</report>
              <!--<report>plugin-management</report>-->
              <report>plugins</report>
              <report>project-team</report>
              <report>scm</report>
              <report>summary</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>2.5</version>
        <reportSets>
          <reportSet>
            <reports>
              <report>report-only</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.scala-tools</groupId>
        <artifactId>maven-scala-plugin</artifactId>
        <version>2.13.1</version>
        <configuration>
          <charset>${project.build.sourceEncoding}</charset>
          <!--<bottom>Copyright &#169; {inceptionYear}-{currentYear} {organizationName}. All Rights Reserved.</bottom>-->
          <jvmArgs>
            <jvmArg>-Xmx1024m</jvmArg>
            <jvmArg>-DpackageLinkDefs=file://${project.build.directory}/packageLinkDefs.properties</jvmArg>
          </jvmArgs>
          <args>
            <arg>-Xno-varargs-conversion</arg>
          </args>
        </configuration>
      </plugin>
    </plugins>
  </reporting>

  <!--
    ~ Profile Settings
  -->
  <profiles>
    <profile>
      <id>lift-debug</id>
      <build>
        <!--
        <plugins>
          <plugin>
            <groupId>org.apache.rat</groupId>
            <artifactId>apache-rat-plugin</artifactId>
          </plugin>
        </plugins>
        -->
      </build>
    </profile>
    <profile>
      <id>lift-hudson</id>
      <properties>
        <vscaladoc.links.liftweb.baseurl>http://scala-tools.org/mvnsites-snapshots/liftweb</vscaladoc.links.liftweb.baseurl>
        <vscaladoc.links.liftweb.pathsufix>scaladocs/</vscaladoc.links.liftweb.pathsufix>
      </properties>
      <distributionManagement>
        <site>
          <id>nexus.scala-tools.org</id>
          <url>file:///home/scala-tools.org/www/mvnsites-snapshots/liftweb</url>
        </site>
      </distributionManagement>
    </profile>
    <profile>
      <id>lift-release</id>
      <properties>
        <vscaladoc.links.liftweb.baseurl>http://scala-tools.org/mvnsites/liftweb</vscaladoc.links.liftweb.baseurl>
        <vscaladoc.links.liftweb.pathsufix>scaladocs/</vscaladoc.links.liftweb.pathsufix>
      </properties>
      <!--
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
              <descriptorRefs>
                <descriptorRef>project</descriptorRef>
              </descriptorRefs>
              <tarLongFileMode>gnu</tarLongFileMode>
            </configuration>
            <executions>
              <execution>
                <id>make-assembly</id>
                <phase>package</phase>
                <goals>
                  <goal>attached</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      -->
    </profile>
  </profiles>

</project>
