<?xml version="1.0" encoding="UTF-8"?>
<!--
        Copyright (C) 2016, Red Hat, Inc

   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 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.eclipse.ecf</groupId>
  <artifactId>ecf-parent</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>Eclipse Communication Framework</name>
  <url>https://www.eclipse.org/ecf/</url>

  <prerequisites>
    <maven>3.1.1</maven>
  </prerequisites>

  <licenses>
    <license>
      <name>Eclipse Public License v1.0</name>
      <url>http://www.eclipse.org/legal/epl-v10.html</url>
      <distribution>repo</distribution>
      <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>

  <issueManagement>
    <url>https://bugs.eclipse.org/bugs/buglist.cgi?product=ECF</url>
    <system>Bugzilla</system>
  </issueManagement>

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

  <properties>
    <tycho-version>0.26.0</tycho-version>
    <cbi-version>1.1.3</cbi-version>
    <target-platform>neon</target-platform>
    <project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
    <project.resources.sourceEncoding>ISO-8859-1</project.resources.sourceEncoding>
    <tycho.scmUrl>scm:git:https://git.eclipse.org/r/ecf/org.eclipse.ecf</tycho.scmUrl>
    <!-- Skip tests by default because they take a long time -->
    <skipTests>true</skipTests>
  </properties>

  <pluginRepositories>
    <pluginRepository>
      <id>repo.eclipse.org</id>
      <url>https://repo.eclipse.org/content/groups/releases/</url>
    </pluginRepository>
  </pluginRepositories>

  <modules>
    <module>doc/bundles/org.eclipse.ecf.doc</module>

    <module>examples/bundles/com.mycorp.examples.timeservice</module>
    <module>examples/bundles/com.mycorp.examples.timeservice.async</module>
    <module>examples/bundles/com.mycorp.examples.timeservice.consumer</module>
    <module>examples/bundles/com.mycorp.examples.timeservice.consumer.ds</module>
    <module>examples/bundles/com.mycorp.examples.timeservice.consumer.ds.async</module>
    <module>examples/bundles/com.mycorp.examples.timeservice.consumer.filediscovery</module>
    <module>examples/bundles/com.mycorp.examples.timeservice.consumer.filediscovery.rest</module>
    <module>examples/bundles/com.mycorp.examples.timeservice.host</module>
    <module>examples/bundles/com.mycorp.examples.timeservice.provider.rest.consumer</module>
    <module>examples/bundles/com.mycorp.examples.timeservice.provider.rest.host</module>
    <module>examples/bundles/org.eclipse.ecf.example.clients</module>
    <module>examples/bundles/org.eclipse.ecf.example.collab.editor</module>
    <module>examples/bundles/org.eclipse.ecf.example.collab</module>
    <module>examples/bundles/org.eclipse.ecf.examples.eventadmin.app</module>
    <module>examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer.edef</module>
    <module>examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer</module>
    <module>examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.ds.consumer</module>
    <module>examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.host</module>
    <module>examples/bundles/org.eclipse.ecf.examples.remoteservices.hello</module>
    <module>examples/bundles/org.eclipse.ecf.examples.remoteservices.rest.rss</module>

    <module>framework/bundles/org.eclipse.ecf.console</module>
    <module>framework/bundles/org.eclipse.ecf.datashare</module>
    <module>framework/bundles/org.eclipse.ecf.discovery</module>
    <module>framework/bundles/org.eclipse.ecf.discovery.ui.browser</module>
    <module>framework/bundles/org.eclipse.ecf.discovery.ui.edit</module>
    <module>framework/bundles/org.eclipse.ecf.discovery.ui.model</module>
    <module>framework/bundles/org.eclipse.ecf.discovery.ui</module>
    <module>framework/bundles/org.eclipse.ecf.discovery.ui.properties</module>
    <module>framework/bundles/org.eclipse.ecf.discovery.ui.properties.tabbed</module>
    <module>framework/bundles/org.eclipse.ecf.discovery.ui.userinput</module>
    <module>framework/bundles/org.eclipse.ecf.docshare</module>
    <module>framework/bundles/org.eclipse.ecf.filetransfer</module>
    <module>framework/bundles/org.eclipse.ecf.filetransfer.ui</module>
    <module>framework/bundles/org.eclipse.ecf.identity</module>
    <module>framework/bundles/org.eclipse.ecf</module>
    <module>framework/bundles/org.eclipse.ecf.presence.bot</module>
    <module>framework/bundles/org.eclipse.ecf.presence.collab.ui</module>
    <module>framework/bundles/org.eclipse.ecf.presence</module>
    <module>framework/bundles/org.eclipse.ecf.presence.ui</module>
    <module>framework/bundles/org.eclipse.ecf.provider</module>
    <module>framework/bundles/org.eclipse.ecf.remoteservice.asyncproxy</module>
    <module>framework/bundles/org.eclipse.ecf.remoteservice.asyncproxy.j8</module>
    <module>framework/bundles/org.eclipse.ecf.remoteservice</module>
    <module>framework/bundles/org.eclipse.ecf.remoteservice.rest</module>
    <module>framework/bundles/org.eclipse.ecf.remoteservice.rest.synd</module>
    <module>framework/bundles/org.eclipse.ecf.remoteservice.servlet</module>
    <module>framework/bundles/org.eclipse.ecf.remoteservice.soap</module>
    <module>framework/bundles/org.eclipse.ecf.remoteservice.ui</module>
    <module>framework/bundles/org.eclipse.ecf.sharedobject</module>
    <module>framework/bundles/org.eclipse.ecf.ssl</module>
    <module>framework/bundles/org.eclipse.ecf.storage</module>
    <module>framework/bundles/org.eclipse.ecf.sync</module>
    <module>framework/bundles/org.eclipse.ecf.telephony.call</module>
    <module>framework/bundles/org.eclipse.ecf.telephony.call.ui</module>
    <module>framework/bundles/org.eclipse.ecf.ui.capabilities</module>
    <module>framework/bundles/org.eclipse.ecf.ui</module>
    <module>framework/bundles/org.eclipse.team.ecf.core</module>
    <module>framework/bundles/org.eclipse.team.ecf.ui</module>

    <module>osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin</module>
    <module>osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin.proxy</module>
    <module>osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin</module>
    <module>compendium/bundles/org.eclipse.ecf.osgi.services.distribution</module>

    <module>protocols/bundles/ch.ethz.iks.r_osgi.remote</module>
    <module>protocols/bundles/ch.ethz.iks.slp</module>
    <module>protocols/bundles/org.eclipse.ecf.protocol.bittorrent</module>
    <module>protocols/bundles/org.eclipse.ecf.protocol.msn</module>
    <module>protocols/bundles/org.jivesoftware.smack</module>

    <module>providers/bundles/org.eclipse.ecf.provider.bittorrent</module>
    <module>providers/bundles/org.eclipse.ecf.provider.bittorrent.ui</module>
    <module>providers/bundles/org.eclipse.ecf.provider.datashare</module>
    <module>providers/bundles/org.eclipse.ecf.provider.datashare.nio</module>
    <module>providers/bundles/org.eclipse.ecf.provider.discovery</module>
    <module>providers/bundles/org.eclipse.ecf.provider.dnssd</module>
    <module>providers/bundles/org.eclipse.ecf.provider.filetransfer.efs</module>
    <module>providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4</module>
    <module>providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl</module>
    <module>providers/bundles/org.eclipse.ecf.provider.filetransfer</module>
    <module>providers/bundles/org.eclipse.ecf.provider.filetransfer.scp</module>
    <module>providers/bundles/org.eclipse.ecf.provider.filetransfer.ssl</module>
    <module>providers/bundles/org.eclipse.ecf.provider.irc</module>
    <module>providers/bundles/org.eclipse.ecf.provider.irc.ui</module>
    <module>providers/bundles/org.eclipse.ecf.provider.jmdns</module>
    <module>providers/bundles/org.eclipse.ecf.provider.jslp</module>
    <module>providers/bundles/org.eclipse.ecf.provider.msn</module>
    <module>providers/bundles/org.eclipse.ecf.provider.msn.ui</module>
    <module>providers/bundles/org.eclipse.ecf.provider.remoteservice</module>
    <module>providers/bundles/org.eclipse.ecf.provider.r_osgi</module>
    <module>providers/bundles/org.eclipse.ecf.provider.ui</module>
    <module>providers/bundles/org.eclipse.ecf.provider.xmpp.datashare</module>
    <module>providers/bundles/org.eclipse.ecf.provider.xmpp</module>
    <module>providers/bundles/org.eclipse.ecf.provider.xmpp.remoteservice</module>
    <module>providers/bundles/org.eclipse.ecf.provider.xmpp.ui</module>
    <module>providers/bundles/org.eclipse.ecf.provider.zookeeper</module>

    <module>server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin</module>
    <module>server-side/bundles/org.eclipse.ecf.server.generic</module>
    <module>server-side/bundles/org.eclipse.ecf.server</module>
    <module>server-side/features/org.eclipse.ecf.server.generic.feature</module>

    <module>tests/bundles/org.eclipse.ecf.tests</module>
    <module>tests/bundles/org.eclipse.ecf.tests.datashare</module>
    <module>tests/bundles/org.eclipse.ecf.tests.presence</module>
    <module>tests/bundles/org.eclipse.ecf.tests.protocol.msn</module>
    <module>tests/bundles/org.eclipse.ecf.tests.provider.datashare.nio</module>
    <module>tests/bundles/org.eclipse.ecf.tests.provider.xmpp</module>
    <module>tests/bundles/org.eclipse.ecf.tests.remoteservice</module>
    <module>tests/bundles/org.eclipse.ecf.tests.sharedobject</module>
    <module>tests/bundles/org.eclipse.ecf.tests.storage</module>
    <module>tests/bundles/org.eclipse.ecf.tests.sync</module>
    <module>tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution</module>
    <module>tests/bundles/org.eclipse.ecf.tests.discovery</module>
    <module>tests/bundles/org.eclipse.ecf.tests.remoteservice.generic</module>
    <module>tests/bundles/org.eclipse.ecf.tests.remoteservice.r-osgi</module>
    <module>tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.generic</module>
    <module>tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.r-osgi</module>

    <module>tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde</module>

    <module>releng/features/org.eclipse.ecf.console.feature</module>
    <module>releng/features/org.eclipse.ecf.core</module>
    <module>releng/features/org.eclipse.ecf.core.feature</module>
    <module>releng/features/org.eclipse.ecf.core.ssl.feature</module>
    <module>releng/features/org.eclipse.ecf.datashare.feature</module>
    <module>releng/features/org.eclipse.ecf.discovery.dnssd.feature</module>
    <module>releng/features/org.eclipse.ecf.discovery.feature</module>
    <module>releng/features/org.eclipse.ecf.discovery.jmdns.feature</module>
    <module>releng/features/org.eclipse.ecf.discovery.slp.feature</module>
    <module>releng/features/org.eclipse.ecf.discovery.zookeeper.feature</module>
    <module>releng/features/org.eclipse.ecf.docshare.feature</module>
    <module>releng/features/org.eclipse.ecf.eventadmin.examples.feature</module>
    <module>releng/features/org.eclipse.ecf.eventadmin.feature</module>
    <module>releng/features/org.eclipse.ecf.filetransfer.feature</module>
    <module>releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature</module>
    <module>releng/features/org.eclipse.ecf.filetransfer.httpclient4.ssl.feature</module>
    <module>releng/features/org.eclipse.ecf.filetransfer.ssl.feature</module>
    <module>releng/features/org.eclipse.ecf.osgi.services.feature</module>
    <module>releng/features/org.eclipse.ecf.presence.feature</module>
    <module>releng/features/org.eclipse.ecf.provider.generic.datashare.feature</module>
    <module>releng/features/org.eclipse.ecf.provider.generic.feature</module>
    <module>releng/features/org.eclipse.ecf.provider.generic.remoteservice.feature</module>
    <module>releng/features/org.eclipse.ecf.remoteservice.examples.feature</module>
    <module>releng/features/org.eclipse.ecf.remoteservice.feature</module>
    <module>releng/features/org.eclipse.ecf.remoteservice.rest.feature</module>
    <module>releng/features/org.eclipse.ecf.remoteservice.rest.synd.feature</module>
    <module>releng/features/org.eclipse.ecf.remoteservice.rosgi.feature</module>
    <module>releng/features/org.eclipse.ecf.remoteservice.sdk.examples.feature</module>
    <module>releng/features/org.eclipse.ecf.remoteservice.sdk.feature</module>
    <module>releng/features/org.eclipse.ecf.remoteservice.servlet.feature</module>
    <module>releng/features/org.eclipse.ecf.remoteservice.soap.feature</module>
    <module>releng/features/org.eclipse.ecf.sharedobject.feature</module>
    <module>releng/features/org.eclipse.ecf.tests.feature</module>
    <module>releng/features/org.eclipse.ecf.xmpp.feature</module>

    <module>releng/org.eclipse.ecf.releng.target</module>
    <module>releng/org.eclipse.ecf.releng.repository</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>target-platform-configuration</artifactId>
        <version>${tycho-version}</version>
        <configuration>
          <target>
            <artifact>
              <groupId>org.eclipse.ecf</groupId>
              <artifactId>org.eclipse.ecf.releng.target</artifactId>
              <classifier>ecf-${target-platform}</classifier>
              <version>1.0.0-SNAPSHOT</version>
            </artifact>
          </target>
          <environments>
            <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</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-source-plugin</artifactId>
        <version>${tycho-version}</version>
        <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-version}</version>
        <configuration>
          <includeBinaryFeature>false</includeBinaryFeature>
        </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-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>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-compiler-plugin</artifactId>
          <version>${tycho-version}</version>
          <configuration>
            <compilerArguments>
              <properties>${project.basedir}/.settings/org.eclipse.jdt.core.prefs</properties>
            </compilerArguments>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-packaging-plugin</artifactId>
          <version>${tycho-version}</version>
          <dependencies>
            <dependency>
              <groupId>org.eclipse.tycho.extras</groupId>
              <artifactId>tycho-buildtimestamp-jgit</artifactId>
              <version>${tycho-version}</version>
            </dependency>
            <dependency>
              <groupId>org.eclipse.tycho.extras</groupId>
              <artifactId>tycho-sourceref-jgit</artifactId>
              <version>${tycho-version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <format>'v'yyyyMMdd-HHmm</format>
            <archive>
              <addMavenDescriptor>true</addMavenDescriptor>
            </archive>
            <sourceReferences>
              <generate>true</generate>
            </sourceReferences>
            <timestampProvider>jgit</timestampProvider>
            <jgit.dirtyWorkingTree>warning</jgit.dirtyWorkingTree>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-surefire-plugin</artifactId>
          <version>${tycho-version}</version>
          <configuration>
            <skipTests>${skipTests}</skipTests>
            <failIfNoTests>false</failIfNoTests>
          </configuration>
        </plugin>
	<plugin>
	  <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-clean-plugin</artifactId>
	  <version>3.0.0</version>
        </plugin>
	<plugin>
	  <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
	  <version>2.10.4</version>
          <configuration>
            <additionalDependencies>
              <additionalDependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.annotation</artifactId>
                <version>6.0.0</version>
              </additionalDependency>
            </additionalDependencies>
            <additionalparam>-Xdoclint:none</additionalparam>
            <author>false</author>
            <doctitle>${project.name} 3.13.3 API</doctitle>
            <excludePackageNames>*.ui*:*.smack.*:*.incubation.*:*.internal.*:ch.*:*.jmdns.*:*.tests.*:*.sdo.*:*.twitter.*:*.jivesoftware.*:*.collab.*:*.osgi.services.discovery.*:com.mycorp.*:org.eclipse.ecf.core.start:org.eclipse.ecf.core.user:org.eclipse.ecf.docshare.*:org.eclipse.ecf.datashare.*:org.eclipse.ecf.example.*:org.eclipse.ecf.presence.*:org.eclipse.ecf.protocol.bittorrent:org.eclipse.ecf.protocol.msn:org.eclipse.ecf.provider.irc:org.eclipse.ecf.provider.datashare.*:org.eclipse.ecf.provider.discovery.*:org.eclipse.ecf.provider.xmpp:org.eclipse.ecf.remoteservice.rpc:org.eclipse.ecf.remoteservice.soap:org.eclipse.ecf.server:org.eclipse.ecf.storage:org.eclipse.ecf.sync:org.eclipse.ecf.telephony:org.eclipse.ecf.remoteservice.asyncproxy.j8:org.eclipse.ecf.remoteservices.tooling.pde:org.eclipse.ecf.tests.*:org.eclipse.ecf.remoteservices.rest.rss:org.eclipse.ecf.examples.*</excludePackageNames>
            <!--  <excludePackageNames>org.jivesoftware.*,ch.ethz.*,javax.*,com.mycorp.*,*.ui,*.internal,*.impl,*.example,*.examples,*.tests</excludePackageNames> -->
            <links>
              <link>https://osgi.org/javadoc/r6/core/</link>
            </links>
            <splitindex>true</splitindex>
            <tags>
              <tag>
                <name>noimplement</name><placement>a</placement><head>Restriction:</head>
              </tag>
              <tag>
                <name>noextend</name><placement>a</placement><head>Restriction:</head>
              </tag>
              <tag>
                <name>noreference</name><placement>a</placement><head>Restriction:</head>
              </tag>
              <tag>
                <name>noinstantiate</name><placement>a</placement><head>Restriction:</head>
              </tag>
              <tag>
                <name>nooverride</name><placement>a</placement><head>Restriction:</head>
              </tag>
            </tags>
            <windowtitle>${project.name} 3.13.3 API</windowtitle>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <profiles>
    <profile>
      <!-- Enable this profile to pack200 and sign p2 repository contents -->
      <id>pack-and-sign</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <version>${tycho-version}</version>
            <configuration>
              <includePackedArtifacts>true</includePackedArtifacts>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200a-plugin</artifactId>
            <version>${tycho-version}</version>
            <executions>
              <execution>
                <id>pack200-normalize</id>
                <goals>
                  <goal>normalize</goal>
                </goals>
                <phase>verify</phase>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-jarsigner-plugin</artifactId>
            <version>${cbi-version}</version>
            <executions>
              <execution>
                <id>sign</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200b-plugin</artifactId>
            <version>${tycho-version}</version>
            <executions>
              <execution>
                <id>pack200-pack</id>
                <goals>
                  <goal>pack</goal>
                </goals>
                <phase>verify</phase>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-p2-plugin</artifactId>
            <version>${tycho-version}</version>
            <executions>
              <execution>
                <id>p2-metadata</id>
                <goals>
                  <goal>p2-metadata</goal>
                </goals>
                <phase>verify</phase>
              </execution>
            </executions>
            <configuration>
              <defaultP2Metadata>false</defaultP2Metadata>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
