<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (c) 2011, 2020 Red Hat, Inc. and others

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

   SPDX-License-Identifier: EPL-2.0
-->

<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>${required-maven-version}</maven>
  </prerequisites>

  <groupId>org.eclipse.tracecompass</groupId>
  <artifactId>org.eclipse.tracecompass</artifactId>
  <version>9.1.0-SNAPSHOT</version>
  <packaging>pom</packaging>
  <name>Trace Compass Parent</name>

  <licenses>
    <license>
      <name>Eclipse Public License 2.0</name>
      <comments>
        All rights reserved. This program and the accompanying materials are
        made available under the terms of the Eclipse Public License 2.0 which
        accompanies this distribution, and is available at
        https://www.eclipse.org/legal/epl-2.0/

        SPDX-License-Identifier: EPL-2.0
      </comments>
    </license>
  </licenses>

  <properties>
    <required-maven-version>3.9</required-maven-version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <testArgLine></testArgLine>

    <jdk.version>17</jdk.version>
    <jdk.release>17</jdk.release>

    <skip-tc-core-tests>false</skip-tc-core-tests>
    <skip-short-tc-ui-tests>false</skip-short-tc-ui-tests>
    <skip-long-tc-ui-tests>false</skip-long-tc-ui-tests>

    <tycho-version>4.0.3</tycho-version>
    <tycho-extras-version>4.0.3</tycho-extras-version>
    <tycho-use-project-settings>true</tycho-use-project-settings>
    <tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/tracecompass/org.eclipse.tracecompass.git</tycho.scmUrl>
    <cbi-plugins.version>1.4.2</cbi-plugins.version>
    <target-platform>tracecompass-e4.29</target-platform>
    <help-docs-eclipserun-repo>http://download.eclipse.org/eclipse/updates/4.20</help-docs-eclipserun-repo>

    <rcptt-version>2.5.4</rcptt-version>
    <!-- Disable GTK3 because it's not quite usable yet and it can make the tests hang (bug in IcedTea http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1736) -->
    <SWT_GTK3>0</SWT_GTK3>

    <slf4j-bundle>org.slf4j.binding.simple</slf4j-bundle>
    <slf4j-version>1.7.30</slf4j-version>

    <!-- Sonar rule configuration -->
    <sonar-version>3.9.1.2184</sonar-version>
    <jacoco-version>0.8.10</jacoco-version>
    <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
    <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
    <sonar.java.source>${jdk.version}</sonar.java.source>
    <sonar.exclusions>**/tests/**,**/test/**,**/stubs/**,**/Messages*,**/alltests/**,**/ITmfEventField.java</sonar.exclusions>
    <sonar.skippedModules>org.eclipse.tracecompass.ctf.parser,org.eclipse.tracecompass.examples</sonar.skippedModules>
    <jacoco.destFile>${project.basedir}/../../target/jacoco.exec</jacoco.destFile>
    <sonar.jacoco.reportPath>${jacoco.destFile}</sonar.jacoco.reportPath>
    <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
    <sonar.issue.ignore.multicriteria>e1,e2,e3,e4,e5,e6,e7,e8</sonar.issue.ignore.multicriteria>
    <sonar.issue.ignore.multicriteria.e1.ruleKey>findbugs:NP_STORE_INTO_NONNULL_FIELD</sonar.issue.ignore.multicriteria.e1.ruleKey>
    <sonar.issue.ignore.multicriteria.e1.resourceKey>**/*.java</sonar.issue.ignore.multicriteria.e1.resourceKey>
    <sonar.issue.ignore.multicriteria.e2.ruleKey>findbugs:RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE</sonar.issue.ignore.multicriteria.e2.ruleKey>
    <sonar.issue.ignore.multicriteria.e2.resourceKey>**/*.java</sonar.issue.ignore.multicriteria.e2.resourceKey>
    <sonar.issue.ignore.multicriteria.e3.ruleKey>findbugs:NP_NONNULL_PARAM_VIOLATION</sonar.issue.ignore.multicriteria.e3.ruleKey>
    <sonar.issue.ignore.multicriteria.e3.resourceKey>**/*.java</sonar.issue.ignore.multicriteria.e3.resourceKey>
    <sonar.issue.ignore.multicriteria.e4.ruleKey>findbugs:NP_NULL_PARAM_DEREF_NONVIRTUAL</sonar.issue.ignore.multicriteria.e4.ruleKey>
    <sonar.issue.ignore.multicriteria.e4.resourceKey>**/*.java</sonar.issue.ignore.multicriteria.e4.resourceKey>
    <sonar.issue.ignore.multicriteria.e5.ruleKey>findbugs:NP_NONNULL_RETURN_VIOLATION</sonar.issue.ignore.multicriteria.e5.ruleKey>
    <sonar.issue.ignore.multicriteria.e5.resourceKey>**/*.java</sonar.issue.ignore.multicriteria.e5.resourceKey>
    <sonar.issue.ignore.multicriteria.e6.ruleKey>findbugs:NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR</sonar.issue.ignore.multicriteria.e6.ruleKey>
    <sonar.issue.ignore.multicriteria.e6.resourceKey>**/*.java</sonar.issue.ignore.multicriteria.e6.resourceKey>
    <sonar.issue.ignore.multicriteria.e7.ruleKey>findbugs:NP_NULL_PARAM_DEREF</sonar.issue.ignore.multicriteria.e7.ruleKey>
    <sonar.issue.ignore.multicriteria.e7.resourceKey>**/*.java</sonar.issue.ignore.multicriteria.e7.resourceKey>
    <sonar.issue.ignore.multicriteria.e8.ruleKey>findbugs:RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE</sonar.issue.ignore.multicriteria.e8.ruleKey>
    <sonar.issue.ignore.multicriteria.e8.resourceKey>**/*.java</sonar.issue.ignore.multicriteria.e8.resourceKey>
  </properties>

  <pluginRepositories>
    <pluginRepository>
      <id>repo.eclipse.org</id>
      <url>https://repo.eclipse.org/content/groups/releases/</url>
    </pluginRepository>
    <pluginRepository>
      <id>tycho-snapshots</id>
      <url>https://repo.eclipse.org/content/repositories/tycho-snapshots/</url>
    </pluginRepository>
    <pluginRepository>
      <id>jboss-public-repository-group</id>
      <name>JBoss Public Repository Group</name>
      <url>https://repository.jboss.org/nexus/content/groups/public/</url>
    </pluginRepository>
    <pluginRepository>
      <id>rcptt-snapshots</id>
      <name>RCPTT Maven Snapshots repository</name>
      <url>https://repo.eclipse.org/content/repositories/rcptt-snapshots/</url>
    </pluginRepository>
    <pluginRepository>
      <id>rcptt-releases</id>
      <name>RCPTT Maven repository</name>
      <url>https://repo.eclipse.org/content/repositories/rcptt-releases/</url>
    </pluginRepository>
  </pluginRepositories>

  <profiles>
    <!-- Manually-set profile to sign the generated update sites -->
    <profile>
      <id>sign-update-site</id>
      <build>
        <plugins>

          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-jarsigner-plugin</artifactId>
            <version>${cbi-plugins.version}</version>
            <executions>
              <execution>
                <id>sign</id>
                <phase>package</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>

        </plugins>
      </build>
    </profile>

    <profile>
      <id>use-jacoco</id>
      <activation>
        <property>
          <name>!skip-jacoco</name>
        </property>
      </activation>
      <properties>
        <testArgLine>${tycho.testArgLine}</testArgLine>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>${jacoco-version}</version>
            <executions>
              <execution>
                <id>pre-test</id>
                <goals>
                  <goal>prepare-agent</goal>
                </goals>
                <configuration>
                  <!-- Where to put jacoco coverage report -->
                  <destFile>${jacoco.destFile}</destFile>
                  <includes>
                    <include>org.eclipse.tracecompass.*</include>
                  </includes>
                  <append>true</append>
                </configuration>
              </execution>
              <execution>
                <id>jacoco-report</id>
                <phase>verify</phase>
                <goals>
                  <goal>report</goal>
                  <goal>report-aggregate</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!-- Automatic profile for Mac-specific settings -->
    <profile>
      <id>macosx</id>
      <activation>
        <os>
          <family>mac</family>
        </os>
      </activation>
      <properties>
        <base.ui.test.vmargs>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts -Djava.awt.headless=false</base.ui.test.vmargs>
      </properties>
    </profile>

    <!-- Automatic profile for non-Mac platforms settings -->
    <profile>
      <id>not-macosx</id>
      <activation>
        <os>
          <family>!mac</family>
        </os>
      </activation>
      <properties>
        <!-- Disable webkit integration, especially unstable on Linux -->
        <base.ui.test.vmargs>-Dorg.eclipse.swt.browser.DefaultType=mozilla</base.ui.test.vmargs>
      </properties>
    </profile>

    <!-- Automatic profile to define the settings for UI test plugins -->
    <profile>
      <id>ui-test-plugin</id>
      <activation>
        <file>
          <exists>ui-test-plugin.properties</exists>
        </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-surefire-plugin</artifactId>
            <configuration>
              <useUIHarness>true</useUIHarness>
              <useUIThread>true</useUIThread>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!-- Automatic profile to define the settings for SWTBot test plugins -->
    <profile>
      <id>swtbot-test-plugin</id>
      <activation>
        <file>
          <exists>swtbot-test-plugin.properties</exists>
        </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-surefire-plugin</artifactId>
            <configuration>
              <bundleStartLevel>
                <bundle>
                  <id>org.apache.aries.spifly.dynamic.bundle</id>
                  <level>2</level>
                  <autoStart>true</autoStart>
                </bundle>
                <bundle>
                  <id>${slf4j-bundle}</id>
                  <level>2</level>
                  <autoStart>true</autoStart>
                </bundle>
              </bundleStartLevel>
              <useUIHarness>true</useUIHarness>
              <useUIThread>false</useUIThread>
              <environmentVariables>
                <SWT_GTK3>${SWT_GTK3}</SWT_GTK3>
                <LIBOVERLAY_SCROLLBAR>0</LIBOVERLAY_SCROLLBAR>
              </environmentVariables>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <dependency-resolution>
                <extraRequirements>
                  <requirement>
                    <type>eclipse-plugin</type>
                    <id>${slf4j-bundle}</id>
                    <versionRange>${slf4j-version}</versionRange>
                  </requirement>
                  <requirement>
                    <type>eclipse-plugin</type>
                    <id>org.eclipse.tracecompass.slf4j.binding.simple.properties</id>
                    <versionRange>1.0.0</versionRange>
                  </requirement>
                </extraRequirements>
              </dependency-resolution>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!-- Automatic profile to skip sonar -->
    <profile>
      <id>skip-sonar</id>
      <activation>
        <file>
          <exists>sonar.skip.properties</exists>
        </file>
      </activation>
      <properties>
        <sonar.skip>true</sonar.skip>
      </properties>
    </profile>

    <profile>
        <id>build-api-docs</id>
        <build>
            <plugins>
               <plugin>
                   <groupId>org.apache.maven.plugins</groupId>
                   <artifactId>maven-javadoc-plugin</artifactId>
                   <version>3.5.0</version>
                   <configuration>
                      <excludePackageNames>org.eclipse.tracecompass.internal.*:*.test*:*.test:*.example:*.alltests:*.alltests.*:*.stubs</excludePackageNames>
                      <overview>overview.html</overview>
                      <noindex>true</noindex>
                      <nodeprecated>false</nodeprecated>
                      <nodeprecatedlist>false</nodeprecatedlist>
                      <nohelp>true</nohelp>
                      <notree>true</notree>
                      <doctitle>Trace Compass API</doctitle>
                      <show>public</show>
                      <verbose>true</verbose>
                   </configuration>
                </plugin>
            </plugins>
        </build>
     </profile>
  </profiles>

  <modules>
    <module>analysis</module>
    <module>btf</module>
    <module>common</module>
    <module>ctf</module>
    <module>doc</module>
    <module>gdbtrace</module>
    <module>lttng</module>
    <module>pcap</module>
    <module>rcp</module>
    <module>releng</module>
    <module>statesystem</module>
    <module>tmf</module>
    <module>jsontrace</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <inherited>true</inherited>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>3.3.0</version>
        <executions>
          <execution>
            <id>enforce-maven-version</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>${required-maven-version}</version>
                </requireMavenVersion>
                <requireJavaVersion>
                  <version>${jdk.version}</version>
                </requireJavaVersion>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>target-platform-configuration</artifactId>
        <configuration>
          <executionEnvironment>JavaSE-${jdk.version}</executionEnvironment>
          <environments>
            <environment>
                <os>win32</os>
                <ws>win32</ws>
                <arch>x86_64</arch>
            </environment>
            <environment>
                <os>macosx</os>
                <ws>cocoa</ws>
                <arch>x86_64</arch>
            </environment>
            <environment>
                <os>macosx</os>
                <ws>cocoa</ws>
                <arch>aarch64</arch>
            </environment>
            <environment>
                <os>linux</os>
                <ws>gtk</ws>
                <arch>x86_64</arch>
            </environment>
          </environments>
          <target>
            <artifact>
              <groupId>org.eclipse.tracecompass</groupId>
              <artifactId>org.eclipse.tracecompass.target</artifactId>
              <classifier>${target-platform}</classifier>
              <version>9.1.0-SNAPSHOT</version>
            </artifact>
          </target>
        </configuration>
      </plugin>

      <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-source-plugin</artifactId>
        <version>${tycho-version}</version>
        <configuration>
          <includeBinaryFeature>false</includeBinaryFeature>
        </configuration>
        <executions>
          <execution>
            <id>plugin-source</id>
            <goals>
              <goal>plugin-source</goal>
            </goals>
          </execution>
          <execution>
            <id>feature-source</id>
            <phase>package</phase>
            <goals>
              <goal>feature-source</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-p2-plugin</artifactId>
        <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>
      <plugins>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-compiler-plugin</artifactId>
          <version>${tycho-version}</version>
          <configuration>
            <source>${jdk.version}</source>
            <target>${jdk.version}</target>
            <release>${jdk.release}</release>
            <useProjectSettings>${tycho-use-project-settings}</useProjectSettings>
            <encoding>UTF-8</encoding>
            <compilerArguments>
              <annotationpath>common/org.eclipse.tracecompass.common.core/annotations</annotationpath>
            </compilerArguments>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>target-platform-configuration</artifactId>
          <version>${tycho-version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-plugin</artifactId>
          <version>${tycho-version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-publisher-plugin</artifactId>
          <version>${tycho-version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-repository-plugin</artifactId>
          <version>${tycho-version}</version>
          <configuration>
            <skipArchive>true</skipArchive>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-surefire-plugin</artifactId>
          <version>${tycho-version}</version>
          <configuration>
            <!-- Default configuration, UI tests may have to override these -->
            <excludes>**/*Tests.java,**/*$*</excludes>
            <useUIHarness>false</useUIHarness>
            <useUIThread>false</useUIThread>
            <dependencies>
               <dependency>
                 <type>p2-installable-unit</type>
                 <artifactId>org.eclipse.platform.feature.group</artifactId>
                 <version>${sdk-version}</version>
               </dependency>
            </dependencies>
            <product>org.eclipse.platform.ide</product>
            <argLine>${testArgLine} ${base.ui.test.vmargs} -Xms512m -Xmx1024m</argLine>
            <appArgLine>-consoleLog</appArgLine>
            <trimStackTrace>false</trimStackTrace>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-versions-plugin</artifactId>
          <version>${tycho-version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-packaging-plugin</artifactId>
          <version>${tycho-version}</version>
          <configuration>
            <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>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-toolchains-plugin</artifactId>
          <version>3.1.0</version>
          <executions>
            <execution>
              <goals>
                <goal>toolchain</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <toolchains>
              <jdk>
                <version>${jdk.version}</version>
              </jdk>
            </toolchains>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.3.1</version>
          <configuration>
            <encoding>UTF-8</encoding>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>3.6.0</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.rcptt</groupId>
          <artifactId>rcptt-maven-plugin</artifactId>
          <version>${rcptt-version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>4.0.0-M9</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.3.1</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>3.1.1</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>3.4.5</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>3.5.0</version>
          <configuration>
            <groups>
              <group>
                <title>Backend</title>
                <packages>org.eclipse.tracecompass.statesystem.*:org.eclipse.tracecompass.segmentstore.*:org.eclipse.tracecompass.datastore.*</packages>
               </group>
            </groups>
            <excludePackageNames>org.eclipse.tracecompass.internal.*:*.test*:*.alltests*:*.examples*:*.btf.*:*.lttng2.*:*.remote.*:*.rcp.*</excludePackageNames>
            <doclint>none</doclint>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.sonarsource.scanner.maven</groupId>
          <artifactId>sonar-maven-plugin</artifactId>
          <version>${sonar-version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho.extras</groupId>
          <artifactId>tycho-eclipserun-plugin</artifactId>
          <version>${tycho-extras-version}</version>
          <configuration>
            <dependencies>
              <dependency>
                <artifactId>org.apache.ant</artifactId>
                <type>eclipse-plugin</type>
              </dependency>
              <dependency>
                <artifactId>org.eclipse.help.base</artifactId>
                <type>eclipse-plugin</type>
              </dependency>
              <dependency>
                <artifactId>org.eclipse.ant.core</artifactId>
                <type>eclipse-plugin</type>
              </dependency>
            </dependencies>
            <!-- This needs to be explicitly set now, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=395281 -->
            <repositories>
              <repository>
                <id>platform</id>
                <layout>p2</layout>
                <url>${help-docs-eclipserun-repo}</url>
              </repository>
            </repositories>
            <executionEnvironment>JavaSE-${jdk.version}</executionEnvironment>
          </configuration>
          <executions>
            <execution>
              <goals>
                <goal>eclipse-run</goal>
              </goals>
              <phase>compile</phase>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

</project>
