<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<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">
  <parent>
    <groupId>org.apache.helix</groupId>
    <artifactId>helix</artifactId>
    <version>0.9.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>

  <artifactId>helix-core</artifactId>
  <packaging>bundle</packaging>

  <name>Apache Helix :: Core</name>

  <properties>
    <osgi.import>
      javax.management*,
      javax.xml.bind*,
      org.I0Itec.zkclient*,
      org.apache.commons.cli*;version="[1.2,2)",
      org.apache.commons.io*;version="[1.4,2)",
      org.apache.commons.math*;version="[2.1,3)",
      org.apache.jute*;resolution:=optional,
      org.apache.zookeeper.server.persistence*;resolution:=optional,
      org.apache.zookeeper.server.util*;resolution:=optional,
      org.apache.zookeeper.txn*;resolution:=optional,
      org.apache.zookeeper*;version="[3.4,4)",
      org.codehaus.jackson*;version="[1.8,2)",
      org.slf4j*;version="[1.6,2)",
      *
    </osgi.import>
    <osgi.ignore>
      org.apache.helix.tools*
    </osgi.ignore>
    <osgi.export>org.apache.helix*;version="${project.version};-noimport:=true</osgi.export>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.25</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.14</version>
      <exclusions>
        <exclusion>
          <groupId>javax.mail</groupId>
          <artifactId>mail</artifactId>
        </exclusion>
        <exclusion>
          <groupId>javax.jms</groupId>
          <artifactId>jms</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.sun.jdmk</groupId>
          <artifactId>jmxtools</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.sun.jmx</groupId>
          <artifactId>jmxri</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.zookeeper</groupId>
      <artifactId>zookeeper</artifactId>
      <version>3.4.13</version>
      <exclusions>
        <exclusion>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
     <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-core-asl</artifactId>
      <version>1.8.5</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-mapper-asl</artifactId>
      <version>1.8.5</version>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>1.4</version>
    </dependency>
    <dependency>
      <groupId>commons-cli</groupId>
      <artifactId>commons-cli</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>com.101tec</groupId>
      <artifactId>zkclient</artifactId>
      <version>0.5</version>
    </dependency>
    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-all</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-math</artifactId>
      <version>2.1</version>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.6</version>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>15.0</version>
    </dependency>
    <dependency>
      <groupId>org.yaml</groupId>
      <artifactId>snakeyaml</artifactId>
      <version>1.12</version>
    </dependency>
    <dependency>
      <groupId>io.dropwizard.metrics</groupId>
      <artifactId>metrics-core</artifactId>
      <version>3.2.3</version>
    </dependency>
  </dependencies>
  <build>
    <resources>
      <resource>
        <directory>${basedir}/src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
      <resource>
        <directory>${basedir}</directory>
        <includes>
          <include>DISCLAIMER</include>
        </includes>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>appassembler-maven-plugin</artifactId>
        <configuration>
          <extraJvmArguments>-Dlog4j.configuration=file://"$BASEDIR"/conf/log4j.properties</extraJvmArguments>
          <programs>
            <program>
              <mainClass>org.apache.helix.controller.HelixControllerMain</mainClass>
              <name>run-helix-controller</name>
            </program>
            <program>
              <mainClass>org.apache.helix.tools.ClusterSetup</mainClass>
              <name>helix-admin</name>
            </program>
            <program>
              <mainClass>org.apache.helix.tools.commandtools.ZKDumper</mainClass>
              <name>zk-dumper</name>
            </program>
            <program>
              <mainClass>org.apache.helix.tools.commandtools.ZkCopy</mainClass>
              <name>zkcopy</name>
            </program>
            <program>
              <mainClass>org.apache.helix.tools.commandtools.ZKLogFormatter</mainClass>
              <name>zk-log-parser</name>
            </program>
            <program>
              <mainClass>org.apache.helix.tools.commandtools.ZkLogCSVFormatter</mainClass>
              <name>zk-log-csv-formatter</name>
            </program>
            <program>
              <mainClass>org.apache.helix.examples.ExampleProcess</mainClass>
              <name>start-helix-participant</name>
            </program>
            <program>
              <mainClass>org.apache.helix.tools.commandtools.ExampleParticipant</mainClass>
              <name>start-participants</name>
            </program>
            <program>
              <mainClass>org.apache.helix.tools.commandtools.CurrentStateCleanUp</mainClass>
              <name>cleanup-currentstate</name>
            </program>
            <program>
              <mainClass>org.apache.helix.tools.commandtools.LocalZKServer</mainClass>
              <name>start-standalone-zookeeper</name>
            </program>
            <program>
              <mainClass>org.apache.helix.examples.Quickstart</mainClass>
              <name>quickstart</name>
            </program>
            <program>
              <mainClass>org.apache.helix.tools.commandtools.JmxDumper</mainClass>
              <name>JmxDumper</name>
            </program>
            <program>
              <mainClass>org.apache.helix.tools.commandtools.YAMLClusterSetup</mainClass>
              <name>yaml-cluster-setup</name>
            </program>
            <program>
              <mainClass>org.apache.helix.tools.commandtools.IntegrationTestUtil</mainClass>
              <name>test-util</name>
            </program>
            <program>
              <mainClass>org.apache.helix.tools.commandtools.ZkGrep</mainClass>
              <name>zkgrep</name>
            </program>
            <program>
              <mainClass>org.apache.helix.tools.commandtools.TaskAdmin</mainClass>
              <name>task-admin</name>
            </program>
          </programs>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptors>
            <descriptor>src/assemble/assembly.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
