<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (C) 2011, 2012 Obeo

   All rights reserved. This program and the accompanying materials
   are made available under the terms of the Eclipse Public License v1.0
   which accompanies this distribution, and is available at
   http://www.eclipse.org/legal/epl-v10.html
-->

<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>3.0</maven>
  </prerequisites>

  <groupId>org.eclipse.acceleo</groupId>
  <artifactId>org.eclipse.acceleo-parent</artifactId>
  <version>3.6.4-SNAPSHOT</version>
  <packaging>pom</packaging>
  <name>Acceleo Parent</name>

  <licenses>
    <license>
      <name>Eclipse Public License v1.0</name>
      <comments>
       All rights reserved.

       This program and the accompanying materials are made
       available under the terms of the Eclipse Public License v1.0
       which accompanies this distribution, and is available at
       http://www.eclipse.org/legal/epl-v10.htm
      </comments>
    </license>
  </licenses>

  <properties>
    <tycho-version>0.21.0</tycho-version>
    <tycho-extras-version>0.21.0</tycho-extras-version>
    <acceleo-version>3.6.0-SNAPSHOT</acceleo-version>

    <resource-encoding>UTF-8</resource-encoding>
    <maven-resources-version>2.6</maven-resources-version>
    <tycho.scmUrl>scm:git:http://git.eclipse.org/gitroot/acceleo/org.eclipse.acceleo.git</tycho.scmUrl>
  </properties>

  <scm>
    <developerConnection>scm:git:http://git.eclipse.org/gitroot/acceleo/org.eclipse.acceleo.git</developerConnection>
  </scm>

  <modules>
    <module>releng/org.eclipse.acceleo.targetplatforms/neon</module>
    <module>releng/org.eclipse.acceleo.targetplatforms/mars</module>
    <module>releng/org.eclipse.acceleo.targetplatforms/luna</module>
    <module>releng/org.eclipse.acceleo.targetplatforms/kepler</module>
    <module>releng/org.eclipse.acceleo.targetplatforms/juno</module>
    <module>releng/org.eclipse.acceleo.targetplatforms/indigo</module>
    <module>releng/org.eclipse.acceleo.targetplatforms/helios</module>

    <module>plugins/org.eclipse.acceleo.common</module>
    <module>plugins/org.eclipse.acceleo.common.ide</module>
    <module>plugins/org.eclipse.acceleo.common.ui</module>
    <module>plugins/org.eclipse.acceleo.model</module>
    <module>plugins/org.eclipse.acceleo.model.edit</module>
    <module>plugins/org.eclipse.acceleo.profiler</module>
    <module>plugins/org.eclipse.acceleo.profiler.edit</module>
    <module>plugins/org.eclipse.acceleo.profiler.editor</module>
    <module>plugins/org.eclipse.acceleo.parser</module>
    <module>plugins/org.eclipse.acceleo.engine</module>
    <module>plugins/org.eclipse.acceleo.traceability.model</module>
    <module>plugins/org.eclipse.acceleo.traceability</module>
    <module>plugins/org.eclipse.acceleo.ui.interpreter</module>
    <module>plugins/org.eclipse.acceleo.compatibility</module>
    <module>plugins/org.eclipse.acceleo.compatibility.ui</module>
    <module>plugins/org.eclipse.acceleo.ide.ui</module>
    <module>plugins/org.eclipse.acceleo.ui.capabilities</module>

    <module>examples/org.eclipse.acceleo.examples</module>

    <module>doc/org.eclipse.acceleo.doc</module>

    <module>tests/org.eclipse.acceleo.common.tests</module>
    <module>tests/org.eclipse.acceleo.dynamic.tests</module>
    <module>tests/org.eclipse.acceleo.compatibility.tests</module>
    <module>tests/org.eclipse.acceleo.engine.tests</module>
    <module>tests/org.eclipse.acceleo.model.tests</module>
    <module>tests/org.eclipse.acceleo.parser.tests</module>
    <module>tests/org.eclipse.acceleo.traceability.tests</module>
    <module>tests/org.eclipse.acceleo.tests</module>

    <module>features/org.eclipse.acceleo.doc-feature</module>
    <module>features/org.eclipse.acceleo.examples-feature</module>
    <module>features/org.eclipse.acceleo.runtime-feature</module>
    <module>features/org.eclipse.acceleo.ui.capabilities-feature</module>
    <module>features/org.eclipse.acceleo-feature</module>
    <module>features/org.eclipse.acceleo.sdk-feature</module>
  </modules>

  <distributionManagement>
    <repository>
      <id>repo.eclipse.org</id>
      <name>Acceleo Repository - Releases</name>
      <url>https://repo.eclipse.org/content/repositories/acceleo-releases/</url>
    </repository>
    <snapshotRepository>
      <id>repo.eclipse.org</id>
      <name>Acceleo Repository - Snapshots</name>
      <url>https://repo.eclipse.org/content/repositories/acceleo-snapshots/</url>
      <uniqueVersion>true</uniqueVersion>
    </snapshotRepository>
  </distributionManagement>

  <build>
    <sourceDirectory>src</sourceDirectory>
    <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>target-platform-configuration</artifactId>
        <version>${tycho-version}</version>
        <configuration>
          <includePackedArtifacts>true</includePackedArtifacts>
          <resolver>p2</resolver>
        </configuration>
      </plugin>
      <!-- enable source bundle generation -->
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-source-plugin</artifactId>
        <version>${tycho-version}</version>
	<configuration>
	  <archive>
	    <addMavenDescriptor>false</addMavenDescriptor>
	  </archive>
	</configuration>
        <executions>
          <execution>
            <id>plugin-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-extras-version}</version>
	<configuration>
	  <archive>
	    <addMavenDescriptor>false</addMavenDescriptor>
	  </archive>
        </configuration>
        <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-packaging-plugin</artifactId>
        <version>${tycho-version}</version>
        <configuration>
          <archive>
            <addMavenDescriptor>false</addMavenDescriptor>
          </archive>
          <sourceReferences>
            <generate>true</generate>
          </sourceReferences>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-sourceref-jgit</artifactId>
            <version>${tycho-extras-version}</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>target-platform-configuration</artifactId>
          <version>${tycho-version}</version>
          <configuration>
            <resolver>p2</resolver>
            <environments>
              <environment>
                <os>linux</os>
                <ws>gtk</ws>
                <arch>x86</arch>
              </environment>
              <environment>
                <os>win32</os>
                <ws>win32</ws>
                <arch>x86</arch>
              </environment>
              <environment>
                <os>win32</os>
                <ws>win32</ws>
                <arch>x86_64</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>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-compiler-plugin</artifactId>
          <version>${tycho-version}</version>
          <configuration>
            <encoding>UTF-8</encoding>
            <source>1.6</source>
            <target>1.6</target>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>${maven-resources-version}</version>
          <configuration>
            <encoding>${resource-encoding}</encoding>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>1.3</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>findbugs-maven-plugin</artifactId>
          <version>2.3.2</version>
          <configuration>
            <findbugsXmlOutput>true</findbugsXmlOutput>
            <failOnError>false</failOnError>
          </configuration>
          <executions>
            <execution>
              <goals>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pmd-plugin</artifactId>
          <version>2.5</version>
          <configuration>
            <sourceEncoding>utf-8</sourceEncoding>
            <minimumTokens>100</minimumTokens>
            <targetJdk>1.5</targetJdk>
            <format>xml</format>
            <failOnViolation>false</failOnViolation>
          </configuration>
          <executions>
            <execution>
              <goals>
                <goal>cpd-check</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
        <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-plugin</artifactId>
          <version>${tycho-extras-version}</version>
          <executions>
            <execution>
              <id>p2-metadata</id>
              <goals>
                <goal>p2-metadata</goal>
              </goals>
              <phase>package</phase>
            </execution>
          </executions>
          <configuration>
            <defaultP2Metadata>false</defaultP2Metadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <profiles>
    <profile>
      <id>platform-neon</id>
      <activation>
        <activeByDefault>true</activeByDefault>
        <property>
          <name>platform-version-name</name>
          <value>neon</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.acceleo</groupId>
                  <artifactId>acceleo-mars</artifactId>
                  <version>1.0.0-SNAPSHOT</version>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <modules>
        <module>query/plugins/org.eclipse.acceleo.annotations</module>
        <module>query/plugins/org.eclipse.acceleo.query</module>
        <module>query/plugins/org.eclipse.acceleo.query.ide.ui</module>

        <module>query/plugins/org.eclipse.acceleo.query.doc</module>

        <module>query/features/org.eclipse.acceleo.query-feature</module>

        <module>query/tests/org.eclipse.acceleo.query.tests.nestedpackages</module>
        <module>query/tests/org.eclipse.acceleo.query.tests.qmodel</module>
        <module>query/tests/org.eclipse.acceleo.query.tests.anydsl</module>
        <module>query/tests/org.eclipse.acceleo.query.tests.anydsl.edit</module>
        <module>query/tests/org.eclipse.acceleo.query.tests.anydsl.editor</module>
        <module>query/tests/org.eclipse.acceleo.query.tests</module>
        <module>query/tests/org.eclipse.acceleo.query.ide.ui.tests</module>

        <module>plugins/org.eclipse.acceleo.ui.interpreter.ocl</module>
        <module>plugins/org.eclipse.acceleo.ui.interpreter.completeocl.edit</module>
        <module>plugins/org.eclipse.acceleo.ui.interpreter.completeocl</module>

        <module>features/org.eclipse.acceleo.ui.interpreter.ocl-feature</module>
        <module>features/org.eclipse.acceleo.ui.interpreter.completeocl-feature</module>

        <module>releng/org.eclipse.acceleo-updatesite</module>
      </modules>
    </profile>
    <profile>
      <id>platform-mars</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        <property>
          <name>platform-version-name</name>
          <value>mars</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.acceleo</groupId>
                  <artifactId>acceleo-mars</artifactId>
                  <version>1.0.0-SNAPSHOT</version>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <modules>
        <module>query/plugins/org.eclipse.acceleo.annotations</module>
        <module>query/plugins/org.eclipse.acceleo.query</module>
        <module>query/plugins/org.eclipse.acceleo.query.ide.ui</module>

        <module>query/plugins/org.eclipse.acceleo.query.doc</module>

        <module>query/features/org.eclipse.acceleo.query-feature</module>

        <module>query/tests/org.eclipse.acceleo.query.tests.nestedpackages</module>
        <module>query/tests/org.eclipse.acceleo.query.tests.qmodel</module>
        <module>query/tests/org.eclipse.acceleo.query.tests.anydsl</module>
        <module>query/tests/org.eclipse.acceleo.query.tests.anydsl.edit</module>
        <module>query/tests/org.eclipse.acceleo.query.tests.anydsl.editor</module>
        <module>query/tests/org.eclipse.acceleo.query.tests</module>
        <module>query/tests/org.eclipse.acceleo.query.ide.ui.tests</module>

        <module>plugins/org.eclipse.acceleo.ui.interpreter.ocl</module>
        <module>plugins/org.eclipse.acceleo.ui.interpreter.completeocl.edit</module>
        <module>plugins/org.eclipse.acceleo.ui.interpreter.completeocl</module>

        <module>features/org.eclipse.acceleo.ui.interpreter.ocl-feature</module>
        <module>features/org.eclipse.acceleo.ui.interpreter.completeocl-feature</module>

        <module>releng/org.eclipse.acceleo-updatesite</module>
      </modules>
    </profile>
    <profile>
      <id>platform-luna</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        <property>
          <name>platform-version-name</name>
          <value>luna</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.acceleo</groupId>
                  <artifactId>acceleo-luna</artifactId>
                  <version>1.0.0-SNAPSHOT</version>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <modules>
        <module>query/plugins/org.eclipse.acceleo.annotations</module>
        <module>query/plugins/org.eclipse.acceleo.query</module>
        <module>query/plugins/org.eclipse.acceleo.query.ide.ui</module>

        <module>query/plugins/org.eclipse.acceleo.query.doc</module>

        <module>query/features/org.eclipse.acceleo.query-feature</module>

        <module>query/tests/org.eclipse.acceleo.query.tests.nestedpackages</module>
        <module>query/tests/org.eclipse.acceleo.query.tests.qmodel</module>
        <module>query/tests/org.eclipse.acceleo.query.tests.anydsl</module>
        <module>query/tests/org.eclipse.acceleo.query.tests.anydsl.edit</module>
        <module>query/tests/org.eclipse.acceleo.query.tests.anydsl.editor</module>
        <module>query/tests/org.eclipse.acceleo.query.tests</module>
        <module>query/tests/org.eclipse.acceleo.query.ide.ui.tests</module>
      </modules>
    </profile>
    <profile>
      <id>platform-kepler</id>
      <activation>
         <activeByDefault>false</activeByDefault>
        <property>
          <name>platform-version-name</name>
          <value>kepler</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.acceleo</groupId>
                  <artifactId>acceleo-kepler</artifactId>
                  <version>1.0.0-SNAPSHOT</version>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>platform-juno</id>
      <activation>
         <activeByDefault>false</activeByDefault>
        <property>
          <name>platform-version-name</name>
          <value>juno</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.acceleo</groupId>
                  <artifactId>acceleo-juno</artifactId>
                  <version>1.0.0-SNAPSHOT</version>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>platform-indigo</id>
      <activation>
         <activeByDefault>false</activeByDefault>
        <property>
          <name>platform-version-name</name>
          <value>indigo</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.acceleo</groupId>
                  <artifactId>acceleo-indigo</artifactId>
                  <version>1.0.0-SNAPSHOT</version>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
	<profile>
      <id>platform-helios</id>
      <activation>
         <activeByDefault>false</activeByDefault>
        <property>
          <name>platform-version-name</name>
          <value>helios</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.acceleo</groupId>
                  <artifactId>acceleo-helios</artifactId>
                  <version>1.0.0-SNAPSHOT</version>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
	<profile>
      <id>platform-galileo</id>
      <activation>
         <activeByDefault>false</activeByDefault>
        <property>
          <name>platform-version-name</name>
          <value>galileo</value>
        </property>
      </activation>
      <properties>
        <eclipse-site>http://download.eclipse.org/releases/galileo</eclipse-site>
        <platform-version>[3.5,3.6)</platform-version>
        <swtbot-site>http://download.eclipse.org/technology/swtbot/galileo/dev-build/update-site</swtbot-site>
      </properties>
    </profile>
	<profile>
      <id>platform-ganymede</id>
      <activation>
         <activeByDefault>false</activeByDefault>
        <property>
          <name>platform-version-name</name>
          <value>ganymede</value>
        </property>
      </activation>
      <properties>
        <eclipse-site>http://download.eclipse.org/releases/ganymede</eclipse-site>
        <platform-version>[3.4,3.5)</platform-version>
        <swtbot-site>http://download.eclipse.org/technology/swtbot/ganymede/dev-build/update-site</swtbot-site>
      </properties>
    </profile>
    <profile>
      <id>sign</id>
      <activation>
        <property>
          <name>BUILD_SIGN</name>
          <value>true</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200a-plugin</artifactId>
            <version>${tycho-extras-version}</version>
            <executions>
              <execution>
                <id>pack200-normalize</id>
                <goals>
                  <goal>normalize</goal>
                </goals>
                <phase>package</phase>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-jarsigner-plugin</artifactId>
            <version>1.0.4</version>
            <executions>
              <execution>
                <id>sign</id>
                <phase>package</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200b-plugin</artifactId>
            <version>${tycho-extras-version}</version>
            <executions>
              <execution>
                <id>pack200-pack</id>
                <goals>
                  <goal>pack</goal>
                </goals>
                <phase>package</phase>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <pluginRepositories>
        <pluginRepository>
          <id>cbi</id>
          <url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
    <profile>
	    <id>quality</id>
	    <activation>
		    <activeByDefault>false</activeByDefault>
	    </activation>
	    <properties>
		    <!-- Sonar properties -->
		    <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
		    <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
		    <!-- Points to the target folder of the global parent project -->
		    <sonar.jacoco.reportPath>${project.basedir}/target/jacoco.exec</sonar.jacoco.reportPath>
	    </properties>
	    <build>
		    <plugins>
			    <plugin>
				    <groupId>org.jacoco</groupId>
				    <artifactId>jacoco-maven-plugin</artifactId>
				    <version>0.6.4.201312101107</version>
				    <executions>
					    <execution>
						    <goals>
							    <goal>prepare-agent</goal>
						    </goals>
						    <configuration>
							    <append>true</append>
							    <destFile>${sonar.jacoco.reportPath}</destFile>
						    </configuration>
					    </execution>
				    </executions>
			    </plugin>
		    </plugins>
	    </build>
    </profile>
    <profile>
      <id>checkstyle</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>2.11</version>
            <executions>
              <execution>
                <id>check my sources</id>
                <goals>
                  <goal>checkstyle</goal>
                </goals>
                <phase>verify</phase>
                <configuration>
                  <configLocation>${project.parent.relativePath}/features/org.eclipse.acceleo-feature/codestyle/AcceleoCheckstyleConfiguration5.xml</configLocation>
                  <failOnErrors>false</failOnErrors>
                  <consoleOutput>true</consoleOutput>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
	</profile>
    <profile>
      <id>static-checks</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>2.5.3</version>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
            <version>3.0.1</version>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>macosx-jvm-flags</id>
      <activation>
        <os>
          <family>mac</family>
        </os>
      </activation>
      <properties>
        <os-jvm-flags>-XstartOnFirstThread</os-jvm-flags>
      </properties>
    </profile>
  </profiles>

</project>
