<?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>

  <name>Lofar OTB :: jOTDB3</name>
  <description>Object Tree Browser Client/Server - jOTDB3</description>

  <parent>
    <groupId>nl.astron.lofar.sas.otb</groupId>
    <artifactId>otb-parent</artifactId>
    <version>2.16.2</version>
  </parent>

  <artifactId>jOTDB3</artifactId>

  <!-- Specification for the SCM used by the project, such as CVS, Subversion, etc. -->
  <scm>
    <connection>scm:svn:https://svn.astron.nl/LOFAR/tags/Maven-Release-nl.astron.lofar.sas.otb.otb-parent-2.16.2/jOTDB3</connection>
    <developerConnection>scm:svn:https://svn.astron.nl/LOFAR/tags/Maven-Release-nl.astron.lofar.sas.otb.otb-parent-2.16.2/jOTDB3</developerConnection>
  </scm>


  <!-- Information required to build a project. -->
  <build>

    <sourceDirectory>src</sourceDirectory>
    <testSourceDirectory>test</testSourceDirectory>

    <resources>
      <resource>
        <directory>${basedir}</directory>
        <includes>
          <include>*.log_prop</include>
        </includes>
      </resource>

      <resource>
        <directory>src</directory>
        <excludes>
          <exclude>**/*.java</exclude>
          <exclude>**/*.cc</exclude>
        </excludes>
      </resource>
    </resources>

    <plugins>

      <!-- Generate HEADER files from JNI Java classes -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>native-maven-plugin</artifactId>

        <configuration>
          <javahClassNames>
            <javahClassName>nl.astron.lofar.sas.otb.jotdb3.jCampaign</javahClassName>
            <javahClassName>nl.astron.lofar.sas.otb.jotdb3.jClassifConv</javahClassName>
            <javahClassName>nl.astron.lofar.sas.otb.jotdb3.jInitCPPLogger</javahClassName>
            <javahClassName>nl.astron.lofar.sas.otb.jotdb3.jOTDBconnection</javahClassName>
            <javahClassName>nl.astron.lofar.sas.otb.jotdb3.jParamTypeConv</javahClassName>
            <javahClassName>nl.astron.lofar.sas.otb.jotdb3.jTreeMaintenance</javahClassName>
            <javahClassName>nl.astron.lofar.sas.otb.jotdb3.jTreeStateConv</javahClassName>
            <javahClassName>nl.astron.lofar.sas.otb.jotdb3.jTreeTypeConv</javahClassName>
            <javahClassName>nl.astron.lofar.sas.otb.jotdb3.jUnitConv</javahClassName>
            <javahClassName>nl.astron.lofar.sas.otb.jotdb3.jTreeValue</javahClassName>
          </javahClassNames>
        </configuration>

        <executions>
          <execution>
            <phase>process-classes</phase>
            <goals>
              <goal>javah</goal>
            </goals>
          </execution>
        </executions>
      </plugin>


      <!-- Set the main class in the manifest file -->
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>

        <configuration>
          <archive>
            <manifest>
              <mainClass>nl.astron.lofar.sas.otb.jotdb3.jOTDBserver</mainClass>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
            </manifest>
          </archive>
        </configuration>
      </plugin>


      <!-- Create a /target/lib directory with ALL dependencies -->
      <plugin>
        <artifactId>maven-dependency-plugin</artifactId>

        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/lib</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <!-- Create an TAR.GZ file -->
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptor>assembly.xml</descriptor>
          <appendAssemblyId>false</appendAssemblyId>
        </configuration>

        <executions>
          <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>

  </build>

  <dependencies>

    <!-- Local dependencies -->
    <dependency>
      <groupId>nl.astron.lofar.lib</groupId>
      <artifactId>lofarutils</artifactId>
    </dependency>

    <!-- External dependencies -->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
    </dependency>

  </dependencies>


</project>