<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
	 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <modelVersion>4.0.0</modelVersion>
  <groupId>org.hawk</groupId>
  <artifactId>org.hawk.parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>

  <properties>
    <tycho-version>1.0.0</tycho-version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
  </properties>

  <modules>
    <module>features/org.hawk.bpmn.feature</module>
    <module>features/org.hawk.core.feature</module>
    <module>features/org.hawk.emf.feature</module>
    <module>features/org.hawk.emfresource.feature</module>
    <module>features/org.hawk.epsilon.feature</module>
    <module>features/org.hawk.git.feature</module>
    <module>features/org.hawk.greycat.feature</module>
    <module>features/org.hawk.http.feature</module>
    <module>features/org.hawk.localfolder.feature</module>
    <module>features/org.hawk.modelio.exml.feature</module>
    <module>features/org.hawk.orientdb.feature</module>
    <module>features/org.hawk.osgiserver.feature</module>
    <module>features/org.hawk.service.api.dt.feature</module>
    <module>features/org.hawk.service.api.feature</module>
    <module>features/org.hawk.service.cli.feature</module>
    <module>features/org.hawk.service.clients.cli.feature</module>
    <module>features/org.hawk.service.emf.dt.feature</module>
    <!-- <module>features/org.hawk.service.emf.ifcexport.feature</module> -->
    <module>features/org.hawk.service.emf.feature</module>
    <module>features/org.hawk.service.remote.thrift.feature</module>
    <module>features/org.hawk.service.remote.thrift.timeaware.feature</module>
    <module>features/org.hawk.service.server.feature</module>
    <module>features/org.hawk.service.server.users.cli.feature</module>
    <module>features/org.hawk.service.servlet.feature</module>
    <module>features/org.hawk.svn.feature</module>
    <module>features/org.hawk.ui.feature</module>
    <module>features/org.hawk.timeaware.feature</module>
    <module>features/org.hawk.uml.feature</module>
    <module>features/org.hawk.workspace.feature</module>

    <module>plugins/org.hawk.bpmn</module>
    <module>plugins/org.hawk.core.dependencies</module>
    <module>plugins/org.hawk.core</module>
    <module>plugins/org.hawk.emf</module>
    <module>plugins/org.hawk.emfresource</module>
    <module>plugins/org.hawk.epsilon</module>
    <module>plugins/org.hawk.git</module>
    <module>plugins/org.hawk.graph.sampleListener</module>
    <module>plugins/org.hawk.graph.syncValidationListener</module>
    <module>plugins/org.hawk.graph</module>
    <module>plugins/org.hawk.greycat</module>
    <module>plugins/org.hawk.http</module>
    <module>plugins/org.hawk.localfolder</module>
    <module>plugins/org.hawk.manifest</module>
    <module>plugins/org.hawk.modelio.exml.ecoregen</module>
    <module>plugins/org.hawk.modelio.exml</module>
    <module>plugins/org.hawk.neo4j-v2</module>
    <module>plugins/org.hawk.neo4j-v2.dependencies</module>
    <module>plugins/org.hawk.orientdb</module>
    <module>plugins/org.hawk.osgiserver</module>
    <module>plugins/org.hawk.svn</module>
    <module>plugins/org.hawk.timeaware</module>
    <module>plugins/org.hawk.ui.emc.dt2</module>
    <module>plugins/org.hawk.ui.emfresource</module>
    <module>plugins/org.hawk.ui2</module>
    <module>plugins/org.hawk.uml</module>
    <module>plugins/org.hawk.workspace</module>

    <module>plugins-server/org.hawk.service.api.dt</module>
    <module>plugins-server/org.hawk.service.api</module>
    <module>plugins-server/org.hawk.service.artemis.server</module>
    <module>plugins-server/org.hawk.service.artemis</module>
    <module>plugins-server/org.hawk.service.clients.cli.application</module>
    <module>plugins-server/org.hawk.service.cli</module>
    <module>plugins-server/org.hawk.service.emf.dt</module>
    <!-- <module>plugins-server/org.hawk.service.emf.ifcexport</module> -->
    <module>plugins-server/org.hawk.service.emf</module>
    <module>plugins-server/org.hawk.service.remote.thrift</module>
    <module>plugins-server/org.hawk.service.remote.thrift.timeaware</module>
    <module>plugins-server/org.hawk.service.servlet</module>
    <module>plugins-server/org.hawk.service.server.application</module>
    <module>plugins-server/org.hawk.service.server.cli</module>
    <module>plugins-server/org.hawk.service.server.gzip</module>
    <module>plugins-server/org.hawk.service.server.logback</module>
    <module>plugins-server/org.hawk.service.server.users.cli</module>
    <module>plugins-server/org.hawk.service.server.users.servlet</module>

    <module>releng/org.hawk.targetplatform</module>
    <module>releng/org.hawk.updatesite</module>
    <module>releng/org.hawk.service.cli.product</module>
    <module>releng/org.hawk.service.server.product</module>
    <module>releng/org.hawk.service.server.productdefs</module>

    <module>tests/com.github.peterwippermann.junit4.parameterizedsuite_1.1.0</module>
    <module>tests/org.hawk.backend.tests</module>
    <module>tests/org.hawk.emf.tests</module>
    <module>tests/org.hawk.integration.tests</module>
    <module>tests/org.hawk.localfolder.tests</module>
    <module>tests/org.hawk.manifest.tests</module>
    <module>tests/org.hawk.modelio.exml.tests</module>
    <module>tests/org.hawk.service.emf.tests</module>
    <module>tests/org.hawk.service.servlet.tests</module>
    <module>tests/org.hawk.svn.tests</module>
    <module>tests/org.hawk.timeaware.tests</module>
    <module>tests/org.hawk.uml.tests</module>
    <module>tests/org.hawk.workspace.tests</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-maven-plugin</artifactId>
        <version>${tycho-version}</version>
        <extensions>true</extensions>
      </plugin>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-compiler-plugin</artifactId>
        <version>${tycho-version}</version>
	      <configuration>
	        <source>1.8</source>
	        <target>1.8</target>
	      </configuration>
      </plugin>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-packaging-plugin</artifactId>
        <version>${tycho-version}</version>
	      <configuration>
          <strictVersions>false</strictVersions>
	      </configuration>
      </plugin>
      <plugin>
	      <groupId>org.eclipse.tycho</groupId>
	      <artifactId>tycho-surefire-plugin</artifactId>
	      <version>${tycho-version}</version>
	      <configuration>
          <argLine>-Xmx2g -XX:MaxDirectMemorySize=2g -XX:+UseG1GC -XX:+UseStringDeduplication -Dstorage.diskCache.bufferSize=2000</argLine>
	      </configuration>
      </plugin>
      <plugin>
	      <groupId>org.eclipse.tycho</groupId>
	      <artifactId>target-platform-configuration</artifactId>
	      <version>${tycho-version}</version>
	      <configuration>
	        <target>
	          <artifact>
	            <groupId>org.hawk</groupId>
	            <artifactId>org.hawk.targetplatform</artifactId>
	            <version>1.2.0-SNAPSHOT</version>
	          </artifact>
	        </target>
          <environments>
            <environment>
              <os>win32</os>
              <ws>win32</ws>
              <arch>x86</arch>
            </environment>
            <environment>
              <os>linux</os>
              <ws>gtk</ws>
              <arch>x86_64</arch>
            </environment>
            <environment>
              <os>macosx</os>
              <ws>cocoa</ws>
              <arch>x86_64</arch>
            </environment>
          </environments>
          <dependency-resolution>
            <extraRequirements>
              <requirement>
                <type>eclipse-plugin</type>
                <id>ch.qos.logback.slf4j</id>
                <versionRange>0.0.0</versionRange>
              </requirement>
            </extraRequirements>
          </dependency-resolution>
	      </configuration>
      </plugin>
      <plugin>
	      <groupId>org.eclipse.tycho</groupId>
	      <artifactId>tycho-source-plugin</artifactId>
	      <version>${tycho-version}</version>
	      <executions>
	        <execution>
	          <id>attach-source</id>
	          <goals>
	            <goal>plugin-source</goal>
	          </goals>
	        </execution>
	      </executions>
      </plugin>
      <plugin>
	      <groupId>org.eclipse.tycho.extras</groupId>
	      <artifactId>tycho-source-feature-plugin</artifactId>
	      <version>${tycho-version}</version>
	      <executions>
          <execution>
            <id>source-feature</id>
            <phase>package</phase>
            <goals>
              <goal>source-feature</goal>
            </goals>
          </execution>
	      </executions>
      </plugin>
      <plugin>
	      <groupId>org.eclipse.tycho</groupId>
	      <artifactId>tycho-p2-plugin</artifactId>
	      <version>${tycho-version}</version>
	      <executions>
          <execution>
            <id>attach-p2-metadata</id>
            <phase>package</phase>
            <goals>
              <goal>p2-metadata</goal>
            </goals>
          </execution>
	      </executions>
      </plugin>
    </plugins>
  </build>
</project>
