<?xml version="1.0" encoding="UTF-8"?>
<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>

  <groupId>io.vertx</groupId>
  <artifactId>lang-rhino</artifactId>
  <packaging>jar</packaging>
  <version>2.1.1</version>
  <name>Project - lang-rhino</name>
  <url>http://maven.apache.org</url>
  <parent>
    <groupId>org.sonatype.oss</groupId>
    <artifactId>oss-parent</artifactId>
    <version>7</version>
  </parent>

  <scm>
    <connection>scm:git:git@github.com:vert-x/mod-lang-rhino.git</connection>
    <developerConnection>scm:git:git@github.com:vert-x/mod-lang-rhino.git</developerConnection>
    <url>git@github.com:vert-x/mod-lang-rhino.git</url>
  </scm>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <vertx.pullindeps>false</vertx.pullindeps>
    <module.name>${project.groupId}~${project.artifactId}~${project.version}</module.name>

    <!--Dependency versions-->
    <vertx.version>2.1RC3</vertx.version>
    <vertx.testtools.version>2.0.3-final</vertx.testtools.version>
    <vertx.lang-js.version>1.1.0</vertx.lang-js.version>
    <rhino.version>1.7R4</rhino.version>
    <junit.version>4.11</junit.version>

    <!--Plugin versions-->
    <maven.compiler.plugin.version>3.0</maven.compiler.plugin.version>
    <maven.resources.plugin.version>2.6</maven.resources.plugin.version>
    <maven.clean.plugin.version>2.5</maven.clean.plugin.version>
    <maven.surefire.plugin.version>2.14</maven.surefire.plugin.version>
    <maven.failsafe.plugin.version>2.14</maven.failsafe.plugin.version>
    <maven.surefire.report.plugin.version>2.14</maven.surefire.report.plugin.version>
    <maven.javadoc.plugin.version>2.9</maven.javadoc.plugin.version>
    <maven.dependency.plugin.version>2.7</maven.dependency.plugin.version>
    <version.apacheds.dns>1.5.7</version.apacheds.dns>
  </properties>

  <dependencies>
    <!--Vertx provided dependencies-->
    <dependency>
      <groupId>io.vertx</groupId>
      <artifactId>vertx-core</artifactId>
      <version>${vertx.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>io.vertx</groupId>
      <artifactId>vertx-platform</artifactId>
      <version>${vertx.version}</version>
      <scope>provided</scope>
    </dependency>
    <!--Test dependencies-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>io.vertx</groupId>
      <artifactId>testtools</artifactId>
      <version>${vertx.testtools.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency> 
      <groupId>io.vertx</groupId> 
      <artifactId>lang-js</artifactId> 
      <type>test-jar</type> 
      <version>${vertx.lang-js.version}</version> 
      <scope>test</scope> 
    </dependency> 
    <dependency>
      <groupId>org.apache.directory.server</groupId>
      <artifactId>apacheds-protocol-dns</artifactId>
      <version>${version.apacheds.dns}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.mozilla</groupId>
      <artifactId>rhino</artifactId>
      <version>${rhino.version}</version>
      <scope>compile</scope>
    </dependency>

  </dependencies>

  <build>
    <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>
      </plugin>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>${maven.resources.plugin.version}</version>
        <executions>
          <execution>
            <id>copy-mod-to-target</id>
            <phase>process-classes</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <overwrite>true</overwrite>
              <outputDirectory>target/mods/${module.name}</outputDirectory>
              <resources>
                <resource>
                  <directory>target/classes</directory>
                </resource>
              </resources>
            </configuration>
          </execution>
          <execution>
            <id>site-css</id>
            <phase>test</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>target/site</outputDirectory>
              <overwrite>false</overwrite>
              <resources>
                <resource>
                  <directory>${basedir}/src/site</directory>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>${maven.dependency.plugin.version}</version>
        <executions>
          <execution>
            <id>copy-mod-dependencies-to-target</id>
            <phase>process-classes</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>target/mods/${module.name}/lib</outputDirectory>
              <includeScope>runtime</includeScope>
            </configuration>
          </execution>
          <execution>
          <id>copy</id>
            <phase>compile</phase>
            <goals>
              <goal>unpack</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>io.vertx</groupId>
                  <artifactId>lang-js</artifactId>
                  <version>${vertx.lang-js.version}</version>
                  <type>zip</type>
                  <classifier>tests</classifier>
                  <overWrite>true</overWrite>
                  <outputDirectory>target</outputDirectory>
                </artifactItem>
                  <artifactItem>
                  <groupId>io.vertx</groupId>
                  <artifactId>lang-js</artifactId>
                  <version>${vertx.lang-js.version}</version>
                  <type>jar</type>
                  <classifier>tests</classifier>
                  <overWrite>true</overWrite>
                  <outputDirectory>target/test-classes</outputDirectory>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${maven.surefire.plugin.version}</version>
        <configuration>
          <includes>
            <include>**/unit/*Test*.java</include>
          </includes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>${maven.failsafe.plugin.version}</version>
        <configuration>
          <systemPropertyVariables>
            <vertx.mods>target/mods</vertx.mods>
            <vertx.test.resources>target/lang-js-${vertx.lang-js.version}/resources</vertx.test.resources>
            <vertx.test.timeout>15</vertx.test.timeout>
          </systemPropertyVariables>
          <environmentVariables>
            <cheese>Gouda</cheese>
          </environmentVariables>
          <includes>
            <include>**/integration/**</include>
          </includes>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/mod.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>assemble</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>${maven.surefire.report.plugin.version}</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>${maven.javadoc.plugin.version}</version>
        <configuration>
          <disableXmlReport>true</disableXmlReport>
          <aggregate>true</aggregate>
        </configuration>
      </plugin>
    </plugins>
  </reporting>

</project>
