<?xml version="1.0" ?>

<!--
   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.
-->

<ivy-module version="1.0">
  <info organisation="org.apache.pig" module="${ant.project.name}" revision="${version}">
    <license name="Apache 2.0"/>
    <ivyauthor name="Apache Hadoop Team" url="http://hadoop.apache.org/pig"/>
    <description>Pig</description>
  </info>
  <configurations defaultconfmapping="default">
    <!--these match the Maven configurations-->
    <conf name="master" description="contains the artifact but no dependencies"/>
    <conf name="default" extends="master,runtime"/>
    <conf name="runtime" extends="compile,test" description="runtime but not the artifact" />
    <!--Private configurations. -->
    <conf name="compile" visibility="private" description="compile artifacts"/>
    <conf name="test" extends="compile" visibility="private"/>
    <conf name="javadoc" visibility="private" extends="compile,test"/>
    <conf name="releaseaudit" visibility="private"/>
    <conf name="jdiff" visibility="private"/>
    <conf name="checkstyle" visibility="private"/>
    <conf name="buildJar" extends="compile,test" visibility="private"/>
  </configurations>
  <publications>
    <!--get the artifact from our module name-->
    <artifact conf="master"/>
  </publications>
  <dependencies>
    <dependency org="checkstyle" name="checkstyle" rev="${checkstyle.version}"
      conf="checkstyle->master"/>
    <dependency org="antlr" name="antlr" rev="${antlr.version}"
      conf="checkstyle->master"/>
    <dependency org="commons-beanutils" name="commons-beanutils-core" rev="${commons-beanutils.version}"
      conf="checkstyle->master"/>
    <dependency org="commons-logging" name="commons-logging" rev="${commons-logging.version}"
      conf="checkstyle->master"/>
    <dependency org="commons-cli" name="commons-cli" rev="${commons-cli.version}"
      conf="checkstyle->master"/>
    
    <dependency org="jdiff" name="jdiff" rev="${jdiff.version}"
      conf="jdiff->default"/>
    <dependency org="xerces" name="xerces" rev="${xerces.version}"
      conf="jdiff->default"/>
    <dependency org="com.jcraft" name="jsch" rev="${jsch.version}"
      conf="compile->master"/>
    <dependency org="jline" name="jline" rev="${jline.version}"
      conf="compile->master"/>
    <dependency org="net.java.dev.javacc" name="javacc" rev="${javacc.version}"
      conf="compile->master"/>
    <dependency org="junit" name="junit" rev="${junit.version}"
      conf="test->default"/>
    <dependency org="com.google.code.p.arat" name="rat-lib" rev="${rats-lib.version}"
      conf="releaseaudit->default"/>
    <dependency org="org.codehaus.jackson" name="jackson-mapper-asl" rev="${jackson.version}"
      conf="compile->master"/>
    <dependency org="org.codehaus.jackson" name="jackson-core-asl" rev="${jackson.version}"
      conf="compile->master"/>
    <dependency org="joda-time" name="joda-time" rev="${joda-time.version}" conf="compile->master"/>
    <!--ATM hbase, hbase-test.jar, hadoop.jar are resolved from the lib dir--> 	
    </dependencies>
</ivy-module>
