<?xml version="1.0" encoding="UTF-8"?>
<!-- =======================================================================
		Parent Maven Configuration File for UCAR NetCDF library
	======================================================================= -->
<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>

  <!-- prerequisites> <maven>2.0.9</maven> </prerequisites -->

  <!-- ====================================================
       Project description (including license)
     ==================================================== -->
  <groupId>edu.ucar</groupId>
  <artifactId>thredds-parent</artifactId>
  <packaging>pom</packaging>
  <version>4.6.0</version>
  <name>Parent THREDDS and CDM modules</name>
  <description>
    The Unidata THREDDS project includes the netCDF-Java library (aka CDM) and
    the THREDDS Data Server (TDS).
  </description>
  <url>http://www.unidata.ucar.edu/software/netcdf-java/</url>

  <organization>
    <name>UCAR/Unidata</name>
    <url>http://www.unidata.ucar.edu/</url>
  </organization>
  <inceptionYear>1999</inceptionYear>

  <licenses>
    <license>
      <name>(MIT-style) netCDF C library license</name>
      <url>http://www.unidata.ucar.edu/software/netcdf/copyright.html</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <mailingLists>
    <mailingList>
      <name>netcdf-java</name>
      <subscribe>http://www.unidata.ucar.edu/support/mailinglist/mailing-list-form.html</subscribe>
      <post>netcdf-java@unidata.ucar.edu</post>
    </mailingList>
  </mailingLists>

  <scm>
    <url>https://github.com/Unidata/thredds/</url>
    <connection>scm:git:https://github.com/Unidata/thredds/</connection>
    <developerConnection>scm:git:git@github.com:Unidata/thredds.git</developerConnection>
    <tag>v4.6.0</tag>
  </scm>

  <!-- ===========================================================
       Developers and Contributors
     =========================================================== -->
  <developers>
    <developer>
      <id>caron</id>
      <name>John Caron</name>
      <email>caron@unidata.ucar.edu</email>
      <organization>UCAR/UNIDATA</organization>
      <organizationUrl>http://www.unidata.ucar.edu/</organizationUrl>
      <roles>
        <role>Java Developer</role>
      </roles>
    </developer>
    <developer>
      <id>chastang</id>
      <name>Julien Chastang</name>
      <email>chastang@unidata.ucar.edu</email>
      <organization>UCAR/UNIDATA</organization>
      <organizationUrl>http://www.unidata.ucar.edu/</organizationUrl>
      <roles>
        <role>Java Developer</role>
      </roles>
    </developer>
    <developer>
      <id>edavis</id>
      <name>Ethan Davis</name>
      <email>edavis@unidata.ucar.edu</email>
      <organization>UCAR/UNIDATA</organization>
      <organizationUrl>http://www.unidata.ucar.edu/</organizationUrl>
      <roles>
        <role>Java Developer</role>
      </roles>
    </developer>
    <developer>
      <id>dmh</id>
      <name>Dennis Heimbigner</name>
      <email>dmh@unidata.ucar.edu</email>
      <organization>UCAR/UNIDATA</organization>
      <organizationUrl>http://www.unidata.ucar.edu/</organizationUrl>
      <roles>
        <role>Java Developer</role>
      </roles>
    </developer>
    <developer>
      <id>emmerson</id>
      <name>Steve Emmerson</name>
      <email>steve@unidata.ucar.edu</email>
      <organization>UCAR/UNIDATA</organization>
      <organizationUrl>http://www.unidata.ucar.edu/</organizationUrl>
      <roles>
        <role>Java Developer</role>
      </roles>
    </developer>
    <developer>
      <id>oxelson</id>
      <name>Jennifer Ganter Oxelson</name>
      <email>oxelson@unidata.ucar.edu</email>
      <organization>UCAR/UNIDATA</organization>
      <organizationUrl>http://www.unidata.ucar.edu/</organizationUrl>
      <roles>
        <role>Java Developer</role>
      </roles>
    </developer>
    <developer>
      <id>mhermida</id>
      <name>Marcos Hermida</name>
      <email>mhermida@unidata.ucar.edu</email>
      <organization>UCAR/UNIDATA</organization>
      <organizationUrl>http://www.unidata.ucar.edu/</organizationUrl>
      <roles>
        <role>Java Developer</role>
      </roles>
    </developer>
    <developer>
      <id>russ</id>
      <name>Russel Rew</name>
      <email>russ@unidata.ucar.edu</email>
      <organization>UCAR/UNIDATA</organization>
      <organizationUrl>http://www.unidata.ucar.edu/</organizationUrl>
      <roles>
        <role>C Developer</role>
      </roles>
    </developer>
    <developer>
      <id>yuanho</id>
      <name>Ho Yuan</name>
      <email>yuanho@unidata.ucar.edu</email>
      <organization>UCAR/UNIDATA</organization>
      <organizationUrl>http://www.unidata.ucar.edu/</organizationUrl>
      <roles>
        <role>Java Developer</role>
      </roles>
    </developer>
  </developers>

  <!-- ===========================================================
       Profiles
     =========================================================== -->
  <profiles>
    <profile>
      <id>integration-test</id>
      <modules>
        <module>it</module>
      </modules>
    </profile>
  </profiles>

  <distributionManagement>
    <repository>
      <id>unidata-releases</id>
      <name>UNIDATA Releases</name>
      <url>https://artifacts.unidata.ucar.edu/content/repositories/unidata-releases/</url>
    </repository>
    <snapshotRepository>
      <id>unidata-snapshots</id>
      <name>UNIDATA Snapshots</name>
      <url>https://artifacts.unidata.ucar.edu/content/repositories/unidata-snapshots/</url>
    </snapshotRepository>
  </distributionManagement>

  <repositories>
    <repository>
      <id>unidata</id>
      <name>THREDDS</name>
      <url>https://artifacts.unidata.ucar.edu/content/repositories/unidata/</url>
    </repository>
    <repository>
      <id>unidata-3rdparty</id>
      <url>https://artifacts.unidata.ucar.edu/content/repositories/unidata-3rdparty/</url>
    </repository>
  </repositories>

  <!-- ===========================================================
       Dependency Management If a POM declares one of those dependencies, then it will use
       the version specified here. Otherwise, those dependencies are ignored. Reference:
       http://repo1.maven.org/maven2/
     =========================================================== -->
  <dependencyManagement>
    <dependencies>
      <!-- To make dependency usage of child modules in other child modules
           or projects using this POM as a BOM -->
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>bufr</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>cdm</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>clcommon</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>grib</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>netcdf4</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>httpservices</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>opendap</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>tdcommon</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>udunits</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>visadCdm</artifactId>
        <version>${project.version}</version>
        <scope>runtime</scope>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>waterml</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>d4core</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>d4shared</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>d4cdmshared</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>d4cdmclient</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>d4servletshared</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>d4ts</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- spring -->
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${org.springframework.version}</version>
        <exclusions>
          <!-- We're using "jcl-over-slf4j" to convert "commons-logging" calls to "slf4j". -->
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${org.springframework.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${org.springframework.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${org.springframework.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${org.springframework.version}</version>
      </dependency>

      <!-- Spring security. These are currently only used in wmotables. -->
      <dependency>
       <groupId>org.springframework.security</groupId>
       <artifactId>spring-security-config</artifactId>
       <version>${org.springframework.security.version}</version>
      </dependency>
      <dependency>
       <groupId>org.springframework.security</groupId>
       <artifactId>spring-security-taglibs</artifactId>
       <version>${org.springframework.security.version}</version>
      </dependency>

      <!-- see https://github.com/coverity/coverity-security-library -->
      <dependency>
          <groupId>com.coverity.security</groupId>
          <artifactId>coverity-escapers</artifactId>
          <version>${coverity-escapers.version}</version>
      </dependency>

      <!-- These 2 are only used in ui. -->
      <dependency>
        <groupId>org.bounce</groupId>
        <artifactId>bounce</artifactId>
        <version>${bounce.version}</version>
      </dependency>
      <dependency>
        <groupId>org.imgscalr</groupId>
        <artifactId>imgscalr-lib</artifactId>
        <version>${imgscalr-lib.version}</version>
      </dependency>

      <!-- Depedencies for WaterML -->
      <dependency>
        <groupId>org.apache.xmlbeans</groupId>
        <artifactId>xmlbeans</artifactId>
        <version>${xmlbeans.version}</version>
        <exclusions>
          <!--  STAX comes with Java 1.6+ -->
          <exclusion>
            <groupId>stax</groupId>
            <artifactId>stax-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.n52.sensorweb</groupId>
        <artifactId>52n-oxf-xmlbeans</artifactId>
        <version>${org.n52.xmlbeans.version}</version>
        <exclusions>
          <!-- Xerces comes with Java 1.6+ -->
          <!-- This SHOULD be okay, but see http://stackoverflow.com/questions/11677572 -->
          <exclusion>
            <groupId>xerces</groupId>
            <artifactId>xercesImpl</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.n52.sensorweb</groupId>
        <artifactId>52n-xml-waterML-v20</artifactId>
        <version>${org.n52.common.xml.version}</version>
      </dependency>

      <dependency>
        <groupId>org.n52.sensorweb</groupId>
        <artifactId>52n-xml-gml-v321</artifactId>
        <version>${org.n52.common.xml.version}</version>
      </dependency>

      <dependency>
        <groupId>org.n52.sensorweb</groupId>
        <artifactId>52n-xml-sweCommon-v20</artifactId>
        <version>${org.n52.common.xml.version}</version>
      </dependency>

      <dependency>
        <groupId>org.n52.sensorweb</groupId>
        <artifactId>52n-xml-om-v20</artifactId>
        <version>${org.n52.common.xml.version}</version>
      </dependency>

      <dependency>
        <groupId>org.n52.sensorweb</groupId>
        <artifactId>52n-xml-sampling-v20</artifactId>
        <version>${org.n52.common.xml.version}</version>
      </dependency>

      <!-- client -->
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>${httpclient.version}</version>
        <exclusions>
          <!-- We're using "jcl-over-slf4j" to convert "commons-logging" calls to "slf4j". -->
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
        <version>${httpcore.version}</version>
      </dependency>
      <!-- Only used in cdmvalidator. -->
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpmime</artifactId>
        <version>${httpmime.version}</version>
      </dependency>

      <dependency>
        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache-core</artifactId>
        <version>${net.sf.ehcache.version}</version>
      </dependency>
      <dependency>
        <groupId>net.jcip</groupId>
        <artifactId>jcip-annotations</artifactId>
        <version>${net.jcip.version}</version>
      </dependency>
      <dependency>
         <groupId>org.jdom</groupId>
         <artifactId>jdom2</artifactId>
         <version>${org.jdom2.version}</version> 
       </dependency>
      <dependency>
        <groupId>com.sleepycat</groupId>
        <artifactId>je</artifactId>
        <version>${com.sleepycat.version}</version>
      </dependency>
      <!-- Used only in netcdf4. -->
      <dependency>
      	<groupId>net.java.dev.jna</groupId>
      	<artifactId>jna</artifactId>
      	<version>${jna.version}</version>
      </dependency>
      <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>${joda-time.version}</version>
      </dependency>
      <!-- jsoup HTML parser library @ http://jsoup.org/ -->
      <!-- Used only in grib. -->
      <dependency>
        <groupId>org.jsoup</groupId>
        <artifactId>jsoup</artifactId>
        <version>${org.jsoup.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-java</artifactId>
        <version>${com.google.protobuf.version}</version>
      </dependency>
      <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>${org.quartz-scheduler.version}</version>
      </dependency>
      <dependency>
        <groupId>edu.wisc.ssec</groupId>
        <artifactId>visad</artifactId>
        <version>${visad.version}</version>
      </dependency>

      <dependency>
        <groupId>com.beust</groupId>
        <artifactId>jcommander</artifactId>
        <version>${jcommander.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>${org.apache.commons.commons-lang3}</version>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${com.google.guava.version}</version>
      </dependency>

      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>jj2000</artifactId>
        <version>${edu.ucar.jj2000.version}</version>
      </dependency>

      <dependency>
        <groupId>org.itadaki</groupId>
        <artifactId>bzip2</artifactId>
        <version>${org.itadaki.bzip2.version}</version>
      </dependency>

      <!-- Used only in cdm-test. -->
      <dependency>
        <groupId>org.tukaani</groupId>
        <artifactId>xz</artifactId>
        <version>${org.tukaani.xz.version}</version>
      </dependency>

      <!-- Used only in ui. -->
      <dependency>
        <groupId>org.jfree</groupId>
        <artifactId>jcommon</artifactId>
        <version>${org.jfree.jcommon.version}</version>
      </dependency>
      <!-- Used only in ui. -->
      <dependency>
        <groupId>org.jfree</groupId>
        <artifactId>jfreechart</artifactId>
        <version>${org.jfree.jfreechart.version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.lowagie</groupId>
            <artifactId>itext</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <!-- Used only in ui. -->
      <dependency>
        <groupId>com.jgoodies</groupId>
        <artifactId>jgoodies-forms</artifactId>
        <version>${com.jgoodies.version}</version>
      </dependency>

      <!-- THREDDS - START -->
      <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>${commons-fileupload.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons-io.version}</version>
      </dependency>
      <!-- Used only in cdm-test. -->
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>${commons-compress.version}</version>
      </dependency>
      <!-- Used only in tds. -->
      <dependency>
        <groupId>oro</groupId>
        <artifactId>oro</artifactId>
        <version>${oro.version}</version>
      </dependency>
      <!-- Used only in tds. -->
      <dependency>
        <groupId>uk.ac.rdg.resc</groupId>
        <artifactId>ncwms</artifactId>
        <version>${uk.ac.rdg.resc.ncwms.version}</version>
      </dependency>
      <!-- Used only in tds. -->
      <dependency>
        <groupId>org.opengis</groupId>
        <artifactId>geoapi-pending</artifactId>
        <version>${geoapi.version}</version>
      </dependency>

      <!-- server -->
      <dependency>
      	<groupId>javax.servlet</groupId>
      	<artifactId>javax.servlet-api</artifactId>
      	<version>${javax.servlet.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>${javax.servlet.jstl.version}</version>
        <scope>runtime</scope>
      </dependency>

      <!-- Validation. -->
      <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>${javax.validation.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>${org.hibernate.version}</version>
        <scope>runtime</scope>
      </dependency>

      <!-- Used only in "it" module. -->
      <dependency>
        <groupId>jaxen</groupId>
        <artifactId>jaxen</artifactId>
        <version>${jaxen.version}</version>
        <scope>runtime</scope>
      </dependency>

      <!-- Used only in tds. -->
      <dependency>
        <groupId>EDS</groupId>
        <artifactId>threddsIso</artifactId>
        <version>${eds.threddsIso.version}</version>
        <scope>runtime</scope>
      </dependency>

      <!-- Used only in cdmvalidator. -->
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>tds</artifactId>
        <version>${project.version}</version>
        <type>war</type>
      </dependency>

      <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Logging ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${org.slf4j.version}</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-jdk14</artifactId>
        <version>${org.slf4j.version}</version>
        <scope>runtime</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <version>${log4j.version}</version>
        <scope>runtime</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>${log4j.version}</version>
        <scope>runtime</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-web</artifactId>
        <version>${log4j.version}</version>
        <scope>runtime</scope>
      </dependency>

      <!-- "org.springframework:spring-core" and "org.apache.httpcomponents:httpclient" compile against -->
      <!-- "commons-logging:commons-logging", but we use slf4j. We've excluded those depedencies, but we still -->
      <!-- need to convert their jcl calls to slf4j. -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${org.slf4j.version}</version>
        <scope>runtime</scope>
      </dependency>

      <!-- This is only used in tdcommon. -->
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>${log4j.version}</version>
      </dependency>

      <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Testing ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${org.springframework.version}</version>
        <scope>test</scope>
      </dependency>

      <!-- Used only in tds. -->
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-core</artifactId>
        <version>${hamcrest.version}</version>
        <scope>test</scope>
      </dependency>

      <!-- Only used in "it" module. -->
      <dependency>
        <groupId>com.restfuse</groupId>
        <artifactId>com.eclipsesource.restfuse</artifactId>
        <version>${restfuse.version}</version>
        <scope>test</scope>
      </dependency>

      <!-- Only used in "tds" module. -->
      <dependency>
        <groupId>httpunit</groupId>
        <artifactId>httpunit</artifactId>
        <version>${httpunit.version}</version>
        <scope>test</scope>
        <exclusions>
          <!-- This is an old version of the API, v2. We're using v3. -->
          <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>jtidy</groupId>
            <artifactId>jtidy</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>cdm</artifactId>
        <version>${project.version}</version>
        <scope>test</scope>
        <type>test-jar</type>
      </dependency>
    </dependencies>
  </dependencyManagement>


  <dependencies>
    <!-- All modules use JUnit for their tests. -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
    </dependency>
  </dependencies>

  <!-- ===========================================================
       Build configuration
     =========================================================== -->
  <build>
    <!-- Temporary source directory for test sources -->
    <!-- testSourceDirectory>src/test_framework/java</testSourceDirectory -->

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${maven-compiler-plugin.version}</version>
          <configuration>
            <source>1.7</source>
            <target>1.7</target>
          </configuration>
          <!-- Tests compilation -->
          <executions>
            <execution>
              <id>default-testCompile</id>
              <phase>test-compile</phase>
              <goals>
                <goal>testCompile</goal>
              </goals>
            </execution>
          </executions>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>${maven-jar-plugin.version}</version>
          <configuration>
            <archive>
              <index>true</index>
              <!-- Archive will contain an INDEX.LIST file. -->
              <manifest>
                <addClasspath>true</addClasspath>
                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
              </manifest>
              <manifestEntries>
                <Built-On>${maven.build.timestamp}</Built-On>
              </manifestEntries>
            </archive>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>${maven-release-plugin.version}</version>
          <configuration>
            <tagNameFormat>v@{project.version}</tagNameFormat>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${maven-surefire-plugin.version}</version>
          <configuration>
            <skip>${skipTests}</skip>
            <argLine>-Dfile.encoding=UTF-8</argLine>
            <includes>
              <!--  These are the default includes.
              <include>**/Test*.java</include>
              <include>**/*Test.java</include>
              <include>**/*TestCase.java</include>
              -->
              <!-- This new pattern covers everything above, but also allows stuff like "EmptyIndexTest1" -->
              <include>**/*Test*.java</include>
            </includes>
            <excludes>
              <!-- By default, the pattern "**/*$*" is excluded, which disallows all inner classes.
                   We want to remove that exclusion. Unfortunately, there doesn't seem to be a simple way
                   to just turn it off. Instead we have to specify a *new* exclusion that overrides the
                   default. This rule disallows any tests found in a file called "Nothing", which we'll be
                   sure to never create in the first place. It's the closest thing to an "off" switch. -->
              <exclude>Nothing</exclude>
            </excludes>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>${maven-shade-plugin.version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>${maven-war-plugin.version}</version>
        </plugin>

        <!-- Only used in it. -->
        <plugin>
          <groupId>org.codehaus.cargo</groupId>
          <artifactId>cargo-maven2-plugin</artifactId>
          <version>${cargo-plugin.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <!-- Allows all modules to report their test results. -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>${maven-surefire-plugin.version}</version>
      </plugin>
    </plugins>
  </build>

  <!-- ====================================================
       Deployment to public servers
     ==================================================== -->
  <!--distributionManagement>
     <repository>
       <id>sonatype-nexus-staging</id>
       <name>Sonatype OSS Hosting, synced to Maven Central</name>
       <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
     </repository>
   </distributionManagement -->


  <!-- ===========================================================
       Modules for the build in approximate dependency order
     =========================================================== -->
  <modules>
    <module>udunits</module>
    <module>cdm</module>
    <module>bufr</module>
    <module>grib</module>
    <module>opendap</module>
    <module>opendap/dtswar</module>
    <module>visad</module>
    <module>ncIdv</module>
    <module>ui</module>
    <module>tdcommon</module>
    <module>tds</module>
    <module>tdm</module>
    <module>cdm-test</module>
    <module>it</module>
    <module>netcdf4</module>
    <module>clcommon</module>
    <module>httpservices</module>
    <module>waterml</module>
    <!-- module>wmotables</module -->
    <!-- module>cdmvalidator</module -->
    <module>dap4/d4core</module>
    <module>dap4/d4shared</module>
    <module>dap4/d4client</module>
    <module>dap4/d4cdmshared</module>
    <module>dap4/d4cdmclient</module>
    <module>dap4/d4servletshared</module>
    <module>dap4/d4ts</module>
    <module>dap4/d4tests</module>
    <module>dap4/d4tswar</module>
  </modules>

  <properties>
    <!-- default is to skip tests. use mvn test -DskipTests=false to override on command line -->
    <skipTests>true</skipTests>

    <!-- Source character encoding (different plug-ins use different sourceEncoding properties) -->
    <sourceEncoding>UTF-8</sourceEncoding>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <!-- Build timestamp -->
    <maven.build.timestamp.format>yyyyMMdd.HHmm</maven.build.timestamp.format>
    <build.timestamp>${maven.build.timestamp}</build.timestamp>

	<!-- Dependency versions -->
    <visad.version>2.0-20130124</visad.version>
    <uk.ac.rdg.resc.ncwms.version>1.2.tds.4.6.0</uk.ac.rdg.resc.ncwms.version>
    <geoapi.version>3.1-M04</geoapi.version>
    <eds.threddsIso.version>2.2.5</eds.threddsIso.version>
    <com.google.guava.version>18.0</com.google.guava.version>
    <com.google.protobuf.version>2.5.0</com.google.protobuf.version>
    <com.jgoodies.version>1.6.0</com.jgoodies.version>
    <com.sleepycat.version>4.0.92</com.sleepycat.version>
    <commons-fileupload.version>1.2.2</commons-fileupload.version>
    <org.apache.commons.commons-lang3>3.3.2</org.apache.commons.commons-lang3>
    <httpclient.version>4.2.6</httpclient.version>
    <httpcore.version>4.2.5</httpcore.version>
    <httpmime.version>4.2.6</httpmime.version>
    <commons-io.version>2.4</commons-io.version>
    <commons-compress.version>1.8.1</commons-compress.version>
    <javax.servlet.version>3.1.0</javax.servlet.version>
    <javax.servlet.jstl.version>1.2</javax.servlet.jstl.version>
    <jaxen.version>1.1.4</jaxen.version>
    <org.jfree.jcommon.version>1.0.23</org.jfree.jcommon.version>
    <org.jfree.jfreechart.version>1.0.19</org.jfree.jfreechart.version>
    <joda-time.version>2.2</joda-time.version>
    <junit.version>4.12</junit.version>
    <hamcrest.version>1.3</hamcrest.version>
    <restfuse.version>1.0.0</restfuse.version>
    <log4j.version>2.2</log4j.version>
    <net.jcip.version>1.0</net.jcip.version>
    <net.sf.ehcache.version>2.6.2</net.sf.ehcache.version>
    <javax.validation.version>1.0.0.GA</javax.validation.version>
    <org.hibernate.version>4.3.1.Final</org.hibernate.version>
    <org.jsoup.version>1.7.2</org.jsoup.version>
    <org.jdom2.version>2.0.4</org.jdom2.version>
    <org.quartz-scheduler.version>2.2.0</org.quartz-scheduler.version>
    <org.slf4j.version>1.7.7</org.slf4j.version>
    <org.springframework.version>3.2.12.RELEASE</org.springframework.version>
    <org.springframework.security.version>3.2.5.RELEASE</org.springframework.security.version>
    <coverity-escapers.version>1.1.1</coverity-escapers.version>
    <httpunit.version>1.7</httpunit.version>
    <bounce.version>0.14</bounce.version>
    <imgscalr-lib.version>4.2</imgscalr-lib.version>
    <xmlbeans.version>2.6.0</xmlbeans.version>
    <org.n52.xmlbeans.version>1.12</org.n52.xmlbeans.version>
    <org.n52.common.xml.version>1.1.5</org.n52.common.xml.version>
    <oro.version>2.0.8</oro.version>
    <jna.version>4.1.0</jna.version>
    <edu.ucar.jj2000.version>5.2</edu.ucar.jj2000.version>
    <org.itadaki.bzip2.version>0.9.1</org.itadaki.bzip2.version>
    <org.tukaani.xz.version>1.0</org.tukaani.xz.version>
    <jcommander.version>1.35</jcommander.version>

    <!-- Plugins versions -->
    <maven-compiler-plugin.version>3.1</maven-compiler-plugin.version>
    <maven-jar-plugin.version>2.4</maven-jar-plugin.version>
    <maven-release-plugin.version>2.4.1</maven-release-plugin.version>
    <maven-shade-plugin.version>2.1</maven-shade-plugin.version>
    <maven-surefire-plugin.version>2.18.1</maven-surefire-plugin.version>
    <maven-war-plugin.version>2.4</maven-war-plugin.version>
    <!-- http://stackoverflow.com/questions/11222982/tomcat-binary-distribution-zip-as-maven-artifact -->
    <cargo-plugin.version>1.4.5</cargo-plugin.version>

  </properties>

</project>
