<?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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <!--
 for more information, see the documentation of this POM: http://maven.apache.org/pom/asf/ 
-->
  <groupId>com.mapr</groupId>
  <artifactId>mapr-root</artifactId>
  <version>1.0</version>
  <packaging>pom</packaging>
  <name>MapR Technologies, Inc.</name>
  <description> MapR Technologies, Inc.  </description>
  <url>http://www.mapr.com/</url>
  <organization>
    <name>Mapr Technologies, Inc.</name>
    <url>http://www.mapr.com/</url>
  </organization>
  <distributionManagement>
    <repository>
      <id>mapr-releases</id>
      <name>MapR Releases</name>
      <url>${env.MAPR_RELEASES_REPO}</url>
    </repository>
    <snapshotRepository>
      <id>mapr-snapshots</id>
      <name>MapR Snapshots</name>
      <url>${env.MAPR_SNAPSHOTS_REPO}</url>
    </snapshotRepository>
  </distributionManagement>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>1.6</version>
          <executions>
            <execution>
              <id>generate-mapr-patches</id>
              <phase>initialize</phase>
              <configuration>
                <target if="generate.mapr.patches">
                  <exec executable="git" dir="${basedir}" failonerror="true">
                    <arg value="format-patch" />
                    <arg value="-o" />
                    <arg value="${project.build.directory}/mapr-patches" />
                    <arg value="${apache.git.tag}" />
                  </exec>
                </target>
              </configuration>
              <goals>
                <goal>run</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <profiles>
    <profile>
      <id>mapr-add-manifest</id>
      <activation>
        <os>
          <family>unix</family>
        </os>
        <property>
          <name>mapr.add.manifest</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>properties-maven-plugin</artifactId>
            <version>1.0-alpha-2</version>
            <executions>
              <execution>
                <id>read-mapr-version-properties</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>read-project-properties</goal>
                </goals>
                <configuration>
                  <files>
                    <file>${project.build.directory}/mapr-build.properties</file>
                  </files>
                </configuration>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.6</version>
            <executions>
              <execution>
                <id>generate-mapr-version-properties</id>
                <phase>generate-sources</phase>
                <configuration>
                  <target>
                    <echo file="${project.build.directory}/mapr-version.sh">
#!/bin/bash
build_user=`whoami`
build_date=`date`
build_cwd=`pwd`
build_hostname=`hostname`

if git status &gt; /dev/null 2&gt;&amp;1 ; then
  scm=git
  build_revision=`git log -1 --pretty=format:&quot;%H&quot;`
  build_url=`git config --get remote.origin.url`
elif hg st &gt; /dev/null 2&gt;&amp;1 ; then
  scm=hg
  build_revision=`hg ident -n | sed 's/[^0-9]//g'`
  build_url=`hg paths | grep 'default' | sed 's/.*default[^=]*=\s*//g'`
elif svn info &gt; /dev/null 2&gt;&amp;1 ; then
  scm=svn
  build_revision=`svn info | sed -n -e 's/Last Changed Rev: \(.*\)/\1/p'`
  build_url=`svn info | sed -n -e 's/URL: \(.*\)/\1/p'`
else
  scm=file
  build_revision=&quot;Unknown&quot;
fi

if [ &quot;${build_url}&quot; = &quot;&quot; ] ; then 
  build_url=&quot;${scm}://${build_hostname}${build_cwd}&quot;
fi

build_uname=`uname -a`
#MapR Version Info
cat &gt;./target/mapr-build.properties &lt;&lt;EOF
mapr.buildurl=$build_url
mapr.builddate=$build_date
mapr.builduser=$build_user
mapr.builduname=$build_uname
mapr.buildhost=$build_hostname
mapr.buildversion=$build_revision
EOF
                    </echo>
                    <exec executable="sh" failonerror="true">
                      <arg line="${project.build.directory}/mapr-version.sh"/>
                    </exec>

                  </target>
                </configuration>
                <goals>
                  <goal>run</goal>
                </goals>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.4</version>
            <configuration>
              <archive>
                <manifestEntries>
                  <MapR-BuildURL>${mapr.buildurl}</MapR-BuildURL>
                  <MapR-BuildDate>${mapr.builddate}</MapR-BuildDate>
                  <MapR-BuildHost>${mapr.buildhost}</MapR-BuildHost>
                  <MapR-BuildUser>${mapr.builduser}</MapR-BuildUser>
                  <MapR-BuildPlatform>${mapr.builduname}</MapR-BuildPlatform>
                  <MapR-BuildRevision>${mapr.buildversion}</MapR-BuildRevision>
                </manifestEntries>            
              </archive>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>
