<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>

  <parent>
      <groupId>org.sonatype.oss</groupId>
      <artifactId>oss-parent</artifactId>
      <version>5</version>
  </parent>

  <groupId>com.legsem.legstar</groupId>
  <artifactId>legstar.avro</artifactId>
  <version>0.4.2</version>
  <packaging>pom</packaging>

  <name>legstar.avro</name>
  <description>Translates COBOL structures to Avro schemas. Converts Mainframe data to Avro records.</description>
  <url>https://github.com/legsem/legstar.avro</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <legstar.core2.version>2.0.4</legstar.core2.version>
    <avro.version>1.7.7</avro.version>
    <hadoop.version>2.4.1</hadoop.version>
    <jaxb.version>2.2.2</jaxb.version>
    <jackson.version>1.9.13</jackson.version>
    <compiler.version>1.6</compiler.version>
    <timestamp>${maven.build.timestamp}</timestamp>
    <maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
  </properties>

  <issueManagement>
      <system>Github Issue Tracking</system>
      <url>https://github.com/legsem/legstar.avro/issues</url>
  </issueManagement>

  <!-- Source control GIT on github -->
  <scm>
      <connection>scm:git:https://legsem@github.com/legsem/legstar.avro.git</connection>
      <developerConnection>scm:git:https://legsem@github.com/legsem/legstar.avro.git</developerConnection>
      <url>https://github.com/legsem/legstar.avro.git</url>
      <tag>legstar.avro-0.4.2</tag>
  </scm> 

  <distributionManagement>
      <site>
          <id>legstar.avro.website</id>
          <url>file:///${user.home}/${project.artifactId}/site</url>
      </site>
  </distributionManagement>

  <mailingLists>
      <mailingList>
          <name>LegStar users mailing list</name>
          <subscribe>http://groups.google.com/group/legstar-user/subscribe</subscribe>
          <unsubscribe>http://groups.google.com/group/legstar-user/subscribe</unsubscribe>
          <post>legstar-user@googlegroups.com</post>
          <archive>http://groups.google.com/group/legstar-user/topics</archive>
      </mailingList>
      <mailingList>
          <name>LegStar dev mailing list</name>
          <subscribe>http://groups.google.com/group/legstar-dev/subscribe</subscribe>
          <unsubscribe>http://groups.google.com/group/legstar-dev/subscribe</unsubscribe>
          <post>legstar-dev@googlegroups.com</post>
          <archive>http://groups.google.com/group/legstar-dev/topics</archive>
      </mailingList>
  </mailingLists>

  <developers>
      <developer>
          <id>fady</id>
          <name>Fady Moussallam</name>
          <email>fady@NOSPAMlegsem.com</email>
          <organization>Legsem.com</organization>
          <roles>
              <role>Project Manager</role>
              <role>Architect</role>
          </roles>
          <timezone>+1</timezone>
      </developer>
  </developers>

  <licenses>
      <license>
          <name>GNU AFFERO GENERAL PUBLIC LICENSE</name>
          <url>http://www.gnu.org/licenses/agpl.txt</url>
          <distribution>repo</distribution>
      </license>
  </licenses>

  <organization>
      <name>LegSem</name>
      <url>http://www.legsem.com/</url>
  </organization>

  <modules>
      <module>legstar.avro.translator</module>
      <module>legstar.avro.generator</module>
      <module>legstar.avro.cob2avro</module>
      <module>legstar.avro.cob2avro.hadoop</module>
      <module>legstar.avro.distrib</module>
      <module>legstar-avro-maven-plugin</module>
  </modules>

  <dependencyManagement>

    <dependencies>

      <!-- LegStar V2 -->
      <dependency>
          <groupId>com.legsem.legstar</groupId>
          <artifactId>legstar-base</artifactId>
          <version>${legstar.core2.version}</version>
      </dependency>
      <dependency>
          <groupId>com.legsem.legstar</groupId>
          <artifactId>legstar-cob2xsd</artifactId>
          <version>${legstar.core2.version}</version>
      </dependency>
      <dependency>
          <groupId>com.legsem.legstar</groupId>
          <artifactId>legstar-base-generator</artifactId>
          <version>${legstar.core2.version}</version>
      </dependency>
      <dependency>
          <groupId>com.legsem.legstar</groupId>
          <artifactId>legstar-maven-plugin</artifactId>
          <version>${legstar.core2.version}</version>
      </dependency>

      <!-- Apache avro -->
      <dependency>
        <groupId>org.apache.avro</groupId>
        <artifactId>avro</artifactId>
        <version>${avro.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.avro</groupId>
        <artifactId>avro-compiler</artifactId>
        <version>${avro.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.avro</groupId>
        <artifactId>avro-mapred</artifactId>
        <version>${avro.version}</version>
      </dependency>

      <!-- Avro LegStar Translator -->
      <dependency>
        <groupId>com.legsem.legstar</groupId>
        <artifactId>legstar.avro.translator</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- Avro LegStar Generator -->
      <dependency>
        <groupId>com.legsem.legstar</groupId>
        <artifactId>legstar.avro.generator</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- Avro LegStar Transformer -->
      <dependency>
        <groupId>com.legsem.legstar</groupId>
        <artifactId>legstar.avro.cob2avro</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- Avro LegStar Transformer for Hadoop -->
      <dependency>
        <groupId>com.legsem.legstar</groupId>
        <artifactId>legstar.avro.cob2avro.hadoop</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- Hadoop -->
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-common</artifactId>
        <version>${hadoop.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-mapreduce-client-core</artifactId>
        <version>${hadoop.version}</version>
      </dependency>

      <!-- Hadoop has hard dependency on JDK -->
      <dependency>
        <groupId>jdk.tools</groupId>
        <artifactId>jdk.tools</artifactId>
        <version>${compiler.version}</version>
        <scope>system</scope>
        <systemPath>${java.home}/../lib/tools.jar</systemPath>
      </dependency>

      <!-- Override these because hadoop uses jaxb-api  -->
      <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-xjc</artifactId>
        <version>${jaxb.version}</version>
      </dependency>
      <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>${jaxb.version}</version>
      </dependency>

      <!-- JSON -->
      <dependency>
          <groupId>org.codehaus.jackson</groupId>
          <artifactId>jackson-core-asl</artifactId>
          <version>${jackson.version}</version>
      </dependency>
      <dependency>
          <groupId>org.codehaus.jackson</groupId>
          <artifactId>jackson-mapper-asl</artifactId>
          <version>${jackson.version}</version>
      </dependency>

       <!-- XML schema -->
      <dependency>
          <groupId>org.apache.ws.xmlschema</groupId>
          <artifactId>xmlschema-core</artifactId>
          <version>2.2.0</version>
      </dependency>

      <!-- Apache utilities -->
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.4</version>
      </dependency>
      <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>1.2</version>
      </dependency>
      <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.6</version>
      </dependency>

      <!-- Logging -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.2</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.2</version>
      </dependency>

      <!-- Tests -->
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
      </dependency>

      <!-- Hadoop Tests -->
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-hdfs</artifactId>
        <version>${hadoop.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-mapreduce-client-common</artifactId>
        <version>${hadoop.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-common</artifactId>
        <version>${hadoop.version}</version>
        <scope>test</scope>
        <type>test-jar</type>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-hdfs</artifactId>
        <version>${hadoop.version}</version>
        <scope>test</scope>
        <type>test-jar</type>
      </dependency>

    </dependencies>

  </dependencyManagement>

  <build>

    <pluginManagement>

      <plugins>

        <!-- JDK -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.2</version>
            <configuration>
                <source>${compiler.version}</source>
                <target>${compiler.version}</target>
            </configuration>
        </plugin>

        <!-- Resource filtering -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.6</version>
        </plugin>

        <!-- Dependencies -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.8</version>
        </plugin>

        <!-- Execute Java -->
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.3.2</version>
        </plugin>

          <!-- Add source folders (for generated code) -->
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <version>1.9</version>
        </plugin>

        <!-- Assembly -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.5</version>
        </plugin>

         <!-- Make jars -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.5</version>
            <configuration>
              <excludes>
                <exclude>**/test/**/*</exclude>
              </excludes>
            </configuration>
        </plugin>

        <!-- Test framework -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.16</version>
        </plugin>

       <!-- Release -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.4.2</version>
            <configuration>
                <autoVersionSubmodules>true</autoVersionSubmodules>
            </configuration>
        </plugin>

        <!-- Site reporting -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-site-plugin</artifactId>
            <version>3.4</version>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>2.7</version>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.10.1</version>
            <configuration>
              <links>
                <link>http://www.legsem.com/legstar/legstar-core/legstar-coxbgen/apidocs/</link>
                <link>http://www.legsem.com/legstar/legstar-core/legstar-coxbrt/apidocs/</link>
                <link>http://www.legsem.com/legstar/legstar-core/legstar-coxbapi/apidocs/</link>
              </links>
            </configuration>
        </plugin>

        <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>
                      build-helper-maven-plugin
                    </artifactId>
                    <versionRange>[1.9,)</versionRange>
                    <goals>
                      <goal>add-source</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>
                      org.apache.maven.plugins
                    </groupId>
                    <artifactId>
                      maven-antrun-plugin
                    </artifactId>
                    <versionRange>[1.7,)</versionRange>
                    <goals>
                      <goal>run</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>
                      org.apache.maven.plugins
                    </groupId>
                    <artifactId>
                      maven-dependency-plugin
                    </artifactId>
                    <versionRange>[2.8,)</versionRange>
                    <goals>
                      <goal>build-classpath</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>
                      exec-maven-plugin
                    </artifactId>
                    <versionRange>
                      [1.3.2,)
                    </versionRange>
                    <goals>
                      <goal>java</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <versionRange>[1.0.0,)</versionRange>
                    <goals>
                      <goal>enforce</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
        
      </plugins>

    </pluginManagement>

  </build>


</project>
