Author: gkesavan Date: Mon May 4 11:47:16 2009 New Revision: 771273 URL: http://svn.apache.org/viewvc?rev=771273&view=rev Log: Implement IVY for resolving pig dependencies
Added: hadoop/pig/trunk/ivy/ hadoop/pig/trunk/ivy.xml hadoop/pig/trunk/ivy/ivysettings.xml hadoop/pig/trunk/ivy/libraries.properties hadoop/pig/trunk/ivy/pig.pom Removed: hadoop/pig/trunk/lib/javacc-LICENSE.txt hadoop/pig/trunk/lib/javacc.jar hadoop/pig/trunk/lib/jline-0.9.94.jar hadoop/pig/trunk/lib/jline-LICENSE.txt hadoop/pig/trunk/lib/jsch-0.1.33.jar hadoop/pig/trunk/lib/jsch-LICENSE.txt hadoop/pig/trunk/lib/junit-4.1.jar hadoop/pig/trunk/lib/junit-LICENSE.txt Modified: hadoop/pig/trunk/CHANGES.txt hadoop/pig/trunk/build.xml Modified: hadoop/pig/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/CHANGES.txt?rev=771273&r1=771272&r2=771273&view=diff ============================================================================== --- hadoop/pig/trunk/CHANGES.txt (original) +++ hadoop/pig/trunk/CHANGES.txt Mon May 4 11:47:16 2009 @@ -36,6 +36,8 @@ PIG-743: To implement clover (gkesavan) +PIG-701: Implement IVY for resolving pig dependencies (gkesavan) + BUG FIXES PIG-733: Order by sampling dumps entire sample to hdfs which causes dfs Modified: hadoop/pig/trunk/build.xml URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/build.xml?rev=771273&r1=771272&r2=771273&view=diff ============================================================================== --- hadoop/pig/trunk/build.xml (original) +++ hadoop/pig/trunk/build.xml Mon May 4 11:47:16 2009 @@ -15,8 +15,7 @@ limitations under the License. --> -<project name="Pig" default="jar"> - +<project name="Pig" default="jar" xmlns:ivy="antlib:org.apache.ivy.ant"> <!-- Load all the default properties, and any the user wants --> <!-- to contribute (without having to type -D or edit this file --> <property file="${user.home}/build.properties" /> @@ -91,10 +90,8 @@ <property name="src.gen.param.parser.dir" value="${src.gen.dir}/org/apache/pig/tools/parameters" /> <property name="src.gen.dot.parser.dir" value="${test.src.dir}/org/apache/pig/test/utils/dotGraph/parser" /> <property name="src.gen.textdata.parser.dir" value="${src.gen.dir}/org/apache/pig/data/parser" /> - <property name="javacc.home" value="${basedir}/lib" /> <!-- rats properties --> - <property name="rats_url" value="http://arat.googlecode.com/files/rat-lib-all-0.5.1.jar" /> <property name="rat.reporting.classname" value="rat.Report"/> <!-- javadoc properties --> @@ -120,39 +117,60 @@ </and> </condition> + <!-- IVY properteis set here --> + <property name="ivy.dir" location="ivy" /> + <loadproperties srcfile="${ivy.dir}/libraries.properties"/> + <property name="ivy.jar" location="${ivy.dir}/ivy-${ivy.version}.jar"/> + <property name="ivy_repo_url" value="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${ivy.version}/ivy-${ivy.version}.jar"/> + <property name="ivysettings.xml" location="${ivy.dir}/ivysettings.xml" /> + <property name="ivy.org" value="org.apache.pig"/> + <property name="build.dir" location="build" /> + <property name="dist.dir" value="${build.dir}/${final.name}"/> + <property name="build.ivy.dir" location="${build.dir}/ivy" /> + <property name="build.ivy.lib.dir" location="${build.ivy.dir}/lib" /> + <property name="ivy.lib.dir" location="${build.ivy.lib.dir}/${ant.project.name}"/> + <property name="build.ivy.report.dir" location="${build.ivy.dir}/report" /> + <property name="build.ivy.maven.dir" location="${build.ivy.dir}/maven" /> + <property name="build.ivy.maven.pom" location="${build.ivy.maven.dir}/pig-${version}.pom" /> + <property name="build.ivy.maven.jar" location="${build.ivy.maven.dir}/pig-${version}.jar" /> + <property name="javacc.home" location="${ivy.lib.dir}" /> + + <!--this is the naming policy for artifacts we want pulled down--> + <property name="ivy.artifact.retrieve.pattern" value="${ant.project.name}/[artifact]-[revision].[ext]"/> + + <!--this is how artifacts that get built are named--> + <property name="ivy.publish.pattern" value="pig-[revision].[ext]"/> + <property name="pig.jar" value="${output.jarfile.core}"/> + + <!-- ====================================================== --> <!-- Stuff needed by all targets --> <!-- ====================================================== --> <!-- setup the classpath --> <path id="classpath"> + <fileset dir="${ivy.lib.dir}"> + <include name="**/*.jar"/> + </fileset> <fileset file="${lib.dir}/${hadoop.jarfile}" /> <fileset file="${lib.dir}/${hbase.jarfile}" /> <fileset file="${lib.dir}/${hbase.test.jarfile}" /> - <fileset file="${lib.dir}/javacc.jar" /> - <fileset file="${lib.dir}/jsch-0.1.33.jar" /> - <fileset file="${lib.dir}/junit-4.1.jar" /> - <fileset file="${lib.dir}/jline-0.9.94.jar" /> - <fileset file="${lib.dir}/commons-collections-3.2.jar" /> + <!-- <fileset file="${lib.dir}/commons-collections-3.2.jar" /> --> </path> <!-- javadoc-classpath --> - <!-- This is going to stay back until we use a mechanism for automatic dependency management --> <path id="javadoc-classpath"> <fileset file="${lib.dir}/${hbase.jarfile}" /> <fileset file="${lib.dir}/${hbase.test.jarfile}" /> - <fileset file="${lib.dir}/javacc.jar" /> - <fileset file="${lib.dir}/jsch-0.1.33.jar" /> - <fileset file="${lib.dir}/junit-4.1.jar" /> - <fileset file="${lib.dir}/jline-0.9.94.jar" /> - </path> + <path refid="javadoc.classpath"/> + </path> <path id="test.classpath"> <pathelement location="${build.classes}"/> <pathelement location="${test.src.dir}"/> + <fileset file="${lib.dir}/${junit.jar}" /> <path refid="classpath"/> </path> - <target name="init"> <mkdir dir="${src.gen.query.parser.dir}" /> <mkdir dir="${src.gen.script.parser.dir}" /> @@ -202,7 +220,8 @@ <!-- ================================================================== --> <!-- Java Compiler Compiler, generate Parsers --> <!-- ================================================================== --> - <target name="cc-compile" depends="init" description="Create and Compile Parser"> + <target name="cc-compile" depends="init, ivy-compile" description="Create and Compile Parser"> + <move file="${ivy.lib.dir}/javacc-${javacc.version}.jar" tofile="${javacc.home}/javacc.jar"/> <jjtree target="${src.dir}/org/apache/pig/impl/logicalLayer/parser/QueryParser.jjt" outputdirectory="${src.gen.query.parser.dir}" javacchome="${javacc.home}" /> <javacc target="${src.gen.query.parser.dir}/QueryParser.jj" outputdirectory="${src.gen.query.parser.dir}" javacchome="${javacc.home}" /> <javacc target="${src.dir}/org/apache/pig/tools/pigscript/parser/PigScriptParser.jj" outputdirectory="${src.gen.script.parser.dir}" javacchome="${javacc.home}" /> @@ -217,7 +236,7 @@ <!-- ================================================================== --> <!-- Build sources --> <!-- ================================================================== --> - <target name="compile" depends="init, cc-compile" description="Compile all artifacts"> + <target name="compile" depends="cc-compile" description="Compile all artifacts"> <echo>*** Building Main Sources ***</echo> <echo>*** To compile with all warnings enabled, supply -Dall.warnings=1 on command line ***</echo> <echo>*** If all.warnings property is supplied, compile-sources-all-warnings target will be executed ***</echo> @@ -237,7 +256,7 @@ </target> - <target name="compile-test" depends="compile"> + <target name="compile-test" depends="compile, ivy-test"> <echo>*** Building Test Sources ***</echo> <echo>*** To compile with all warnings enabled, supply -Dall.warnings=1 on command line ***</echo> <echo>*** If all.warnings property is supplied, compile-sources-all-warnings target will be executed ***</echo> @@ -284,7 +303,7 @@ <!-- ================================================================== --> <!-- Documentation --> <!-- ================================================================== --> - <target name="javadoc" depends="jar" description="Create documentation"> + <target name="javadoc" depends="jar, ivy-javadoc" description="Create documentation"> <mkdir dir="${build.javadoc}" /> <javadoc overview="${src.dir}/overview.html" packagenames="org.apache.pig.*" destdir="${build.javadoc}" author="true" version="true" use="true" windowtitle="${Name} ${version} API" doctitle="${Name} ${version} API" bottom="Copyright &copy; ${year} The Apache Software Foundation"> <packageset dir="${src.dir}" /> @@ -358,7 +377,7 @@ </antcall> </target> - <target name="buildJar"> + <target name="buildJar" depends="ivy-buildJar"> <echo>svnString ${svnString}</echo> <jar jarfile="${output.jarfile.core}" basedir="${build.classes}"> <manifest> @@ -384,10 +403,10 @@ <attribute name="Svn-Revision" value="${svnString}" /> </section> </manifest> - <zipfileset src="${lib.dir}/junit-4.1.jar" /> <zipfileset src="${lib.dir}/${hadoop.jarfile}" /> - <zipfileset src="${lib.dir}/jsch-0.1.33.jar" /> - <zipfileset src="${lib.dir}/jline-0.9.94.jar" /> + <zipfileset src="${ivy.lib.dir}/junit-${junit.version}.jar" /> + <zipfileset src="${ivy.lib.dir}/jsch-${jsch.version}.jar" /> + <zipfileset src="${ivy.lib.dir}/jline-${jline.version}.jar" /> </jar> <copy file="${output.jarfile}" tofile="${output.jarfile.backcompat}"/> </target> @@ -465,12 +484,18 @@ <mkdir dir="${dist.dir}/docs/api" /> <copy todir="${dist.dir}/lib" includeEmptyDirs="false"> - <fileset dir="${lib.dir}"> - </fileset> + <fileset dir="${ivy.lib.dir}"/> + <fileset dir="${lib.dir}"/> </copy> <copy file="${output.jarfile.core}" todir="${dist.dir}" /> + <copy todir="${dist.dir}/" file="ivy.xml" /> + + <copy todir="${dist.dir}/ivy"> + <fileset dir="ivy" /> + </copy> + <copy todir="${dist.dir}/bin"> <fileset dir="bin" /> </copy> @@ -561,21 +586,18 @@ <!-- ================================================================== --> <!-- Perform audit activities for the release --> <!-- ================================================================== --> - <target name="get-rats" description="Downloads the release audit tool"> - <get src="${rats_url}" dest="${lib.dir}/rats.jar" usetimestamp="false" /> - </target> - - <target name="releaseaudit" depends="get-rats ,package" description="Release Audit activities"> - <java classname="${rat.reporting.classname}" fork="true" classpath="${lib.dir}/rats.jar"> - <arg value="${build.dir}/${final.name}"/> - </java> + <target name="releaseaudit" depends="ivy-releaseaudit, package" description="Release Audit activities"> + <java classname="${rat.reporting.classname}" fork="true"> + <classpath refid="releaseaudit.classpath"/> + <arg value="${build.dir}/${final.name}"/> + </java> </target> - <target name="checkstyle" depends="checkstyle.check, set-checkstyle-classpath" if="checkstyle.home" - description="Run optional third-party tool targets"> + <!--target name="checkstyle" depends="checkstyle.check, set-checkstyle-classpath" if="checkstyle.home" --> + <target name="checkstyle" depends="ivy-checkstyle" description="Run optional third-party tool targets"> <taskdef resource="checkstyletask.properties"> - <classpath refid="classpath"/> - <classpath refid="checkstyle-classpath"/> + <classpath refid="checkstyle.classpath"/> + <!-- <classpath refid="checkstyle-classpath"/> --> </taskdef> <mkdir dir="${test.build.dir}"/> <checkstyle config="${test.src.dir}/checkstyle.xml" failOnViolation="false"> @@ -692,4 +714,150 @@ </current> </clover-report> </target> + + <target name="ivy-init-dirs"> + <mkdir dir="${build.ivy.dir}" /> + <mkdir dir="${build.ivy.lib.dir}" /> + <mkdir dir="${build.ivy.report.dir}" /> + <mkdir dir="${build.ivy.maven.dir}" /> + </target> + + <target name="ivy-probe-antlib" > + <condition property="ivy.found"> + <typefound uri="antlib:org.apache.ivy.ant" name="cleancache"/> + </condition> + </target> + + <target name="ivy-download" description="To download ivy"> + <get src="${ivy_repo_url}" dest="${ivy.jar}" usetimestamp="true"/> + </target> + + <!-- + To avoid Ivy leaking things across big projects, always load Ivy in the same classloader. + Also note how we skip loading Ivy if it is already there, just to make sure all is well. + --> + <target name="ivy-init-antlib" depends="ivy-download,ivy-init-dirs,ivy-probe-antlib" unless="ivy.found"> + <typedef uri="antlib:org.apache.ivy.ant" onerror="fail" loaderRef="ivyLoader"> + <classpath> + <pathelement location="${ivy.jar}"/> + </classpath> + </typedef> + <fail> + <condition > + <not> + <typefound uri="antlib:org.apache.ivy.ant" name="cleancache"/> + </not> + </condition> + You need Apache Ivy 2.0 or later from http://ant.apache.org/ + It could not be loaded from ${ivy_repo_url} + </fail> + </target> + + <target name="ivy-init" depends="ivy-init-antlib" > + <!--Configure Ivy by reading in the settings file + If anyone has already read in a settings file into this settings ID, it gets priority + --> + <ivy:configure settingsid="${ant.project.name}.ivy.settings" file="${ivysettings.xml}" override='false'/> + </target> + + <target name="ivy-compile" depends="ivy-init" description="Resolve, Retrieve Ivy-managed artifacts for compile configuration"> + <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="compile"/> + <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings" + pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}" conf="compile"/> + <ivy:cachepath pathid="compile.classpath" conf="compile"/> + </target> + + <target name="ivy-test" depends="ivy-init" description="Resolve, Retrieve Ivy-managed artifacts for test configuration"> + <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="test"/> + <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings" + pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}" conf="test"/> + <ivy:cachepath pathid="test.classpath" conf="test"/> + </target> + + <target name="ivy-javadoc" depends="ivy-init" description="Resolve, Retrieve Ivy-managed artifacts for javadoc configuration"> + <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="javadoc"/> + <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings" + pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}" conf="javadoc"/> + <ivy:cachepath pathid="javadoc.classpath" conf="javadoc"/> + </target> + + <target name="ivy-releaseaudit" depends="ivy-init" description="Resolve, Retrieve Ivy-managed artifacts for releaseaudit configuration"> + <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="releaseaudit"/> + <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings" + pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}" conf="releaseaudit"/> + <ivy:cachepath pathid="releaseaudit.classpath" conf="releaseaudit"/> + </target> + + <target name="ivy-checkstyle" depends="ivy-init" description="Resolve, Retrieve Ivy-managed artifacts for checkstyle configuration"> + <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="checkstyle"/> + <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings" + pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}" conf="checkstyle"/> + <ivy:cachepath pathid="checkstyle.classpath" conf="checkstyle"/> + </target> + + <target name="ivy-buildJar" depends="ivy-init" description="Resolve, Retrieve Ivy-managed artifacts for buildJar configuration"> + <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="buildJar"/> + <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings" + pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}" conf="buildJar"/> + <ivy:cachepath pathid="buildJar.classpath" conf="buildJar"/> + </target> + + <target name="ivy-resolve" depends="ivy-init"> + <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="runtime"/> + </target> + + <target name="assert-pig-jar-exists" depends="ivy-init"> + <fail> + <condition > + <not> + <available file="${pig.jar}" /> + </not> + </condition> + Not found: ${pig.jar} + Please run the target "jar" in the main build file + </fail> + </target> + + <target name="ready-to-publish" depends="jar, assert-pig-jar-exists, ivy-resolve"/> + + <target name="ivy-publish-local" depends="ready-to-publish,ivy-resolve"> + <ivy:publish settingsRef="${ant.project.name}.ivy.settings" + resolver="local" pubrevision="${version}" overwrite="true" + artifactspattern="${build.dir}/${ivy.publish.pattern}"/> + </target> + + <!-- this is here for curiosity, to see how well the makepom task works + Answer: it depends whether you want transitive dependencies excluded or not + --> + <target name="makepom" depends="ivy-resolve"> + <ivy:makepom settingsRef="${ant.project.name}.ivy.settings" + ivyfile="ivy.xml" + pomfile="${build.ivy.maven.dir}/generated.pom"> + <ivy:mapping conf="default" scope="default"/> + <ivy:mapping conf="master" scope="master"/> + <ivy:mapping conf="runtime" scope="runtime"/> + </ivy:makepom> + </target> + + <target name="copy-jar-to-maven" depends="ready-to-publish"> + <copy file="${pig.jar}" tofile="${build.ivy.maven.jar}"/> + <checksum file="${build.ivy.maven.jar}" algorithm="md5"/> + </target> + + <target name="copypom" depends="ivy-init-dirs"> + <presetdef name="expandingcopy"> + <copy overwrite="true"> + <filterchain> + <expandproperties/> + </filterchain> + </copy> + </presetdef> + <expandingcopy file="ivy/pig.pom" tofile="${build.ivy.maven.pom}"/> + <checksum file="${build.ivy.maven.pom}" algorithm="md5"/> + </target> + + <target name="maven-artifacts" depends="copy-jar-to-maven, copypom" /> + + <target name="published" depends="ivy-publish-local, maven-artifacts"/> + </project> Added: hadoop/pig/trunk/ivy.xml URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/ivy.xml?rev=771273&view=auto ============================================================================== --- hadoop/pig/trunk/ivy.xml (added) +++ hadoop/pig/trunk/ivy.xml Mon May 4 11:47:16 2009 @@ -0,0 +1,63 @@ +<?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->default"/> + <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"/> + <!--ATM hbase, hbase-test.jar, hadoop.jar are resolved from the lib dir--> + </dependencies> +</ivy-module> Added: hadoop/pig/trunk/ivy/ivysettings.xml URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/ivy/ivysettings.xml?rev=771273&view=auto ============================================================================== --- hadoop/pig/trunk/ivy/ivysettings.xml (added) +++ hadoop/pig/trunk/ivy/ivysettings.xml Mon May 4 11:47:16 2009 @@ -0,0 +1,60 @@ +<ivysettings> + + <!-- + 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. +--> + + <!-- + see http://www.jayasoft.org/ivy/doc/configuration + --> + <!-- you can override this property to use mirrors + http://repo1.maven.org/maven2/ + http://mirrors.dotsrc.org/maven2 + http://ftp.ggi-project.org/pub/packages/maven2 + http://mirrors.sunsite.dk/maven2 + http://public.planetmirror.com/pub/maven2 + http://ibiblio.lsu.edu/main/pub/packages/maven2 + http://www.ibiblio.net/pub/packages/maven2 + --> + <property name="repo.maven.org" value="http://repo1.maven.org/maven2/" override="false"/> + <property name="snapshot.apache.org" value="http://people.apache.org/repo/m2-snapshot-repository/" override="false"/> + <property name="maven2.pattern" value="[organisation]/[module]/[revision]/[module]-[revision]"/> + <property name="maven2.pattern.ext" value="${maven2.pattern}.[ext]"/> + <!-- pull in the local repository --> + <include url="${ivy.default.conf.dir}/ivyconf-local.xml"/> + <settings defaultResolver="default"/> + <resolvers> + <ibiblio name="maven2" root="${repo.maven.org}" pattern="${maven2.pattern.ext}" m2compatible="true"/> + <ibiblio name="apache-snapshot" root="${snapshot.apache.org}" pattern="${maven2.pattern.ext}" m2compatible="true"/> + <chain name="default" dual="true"> + <resolver ref="local"/> + <resolver ref="maven2"/> + </chain> + <chain name="internal"> + <resolver ref="local"/> + </chain> + <chain name="external"> + <resolver ref="maven2"/> + </chain> + <chain name="external-and-snapshots"> + <resolver ref="maven2"/> + <resolver ref="apache-snapshot"/> + </chain> + </resolvers> + <modules> + <module organisation="org.apache.pig" name=".*" resolver="internal"/> + </modules> +</ivysettings> Added: hadoop/pig/trunk/ivy/libraries.properties URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/ivy/libraries.properties?rev=771273&view=auto ============================================================================== --- hadoop/pig/trunk/ivy/libraries.properties (added) +++ hadoop/pig/trunk/ivy/libraries.properties Mon May 4 11:47:16 2009 @@ -0,0 +1,31 @@ +# Licensed 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. + +#This properties file lists the versions of the various artifacts used by pig and components. +#It drives ivy and the generation of a maven POM + +#These are the versions of our dependencies (in alphabetical order) +apacheant.version=1.7.1 + +checkstyle.version=4.2 + +ivy.version=2.0.0-rc2 + +javacc.version=4.2 +jline.version=0.9.94 +jsch.version=0.1.38 +junit.version=4.5 +jdiff.version=1.0.9 + +rats-lib.version=0.5.1 + +xerces.version=1.4.4 Added: hadoop/pig/trunk/ivy/pig.pom URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/ivy/pig.pom?rev=771273&view=auto ============================================================================== --- hadoop/pig/trunk/ivy/pig.pom (added) +++ hadoop/pig/trunk/ivy/pig.pom Mon May 4 11:47:16 2009 @@ -0,0 +1,87 @@ +<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/maven-v4_0_0.xsd"> + + <!-- + 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. + --> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.apache.pig</groupId> + <artifactId>pig</artifactId> + <packaging>jar</packaging> + <version>${pig.version}</version> + <description> + Pig is a platform for analyzing large data sets that consists of a high-level + language for expressing data analysis programs, coupled with infrastructure + for evaluating these programs + </description> + <licenses> + <license> + <name>Apache License, Version 2.0</name> + <url>http://apache.org/licenses/LICENSE-2.0</url> + </license> + </licenses> + <dependencies> + <dependency> + <groupId>com.jcraft</groupId> + <artifactId>jsch</artifactId> + <version>${jsch.version}</version> + <exclusions> + <exclusion> + <groupId>com.jcraft</groupId> + <artifactId>zlib</artifactId> + </exclusion> + </dependency> + + <dependency> + <groupId>jline</groupId> + <artifactId>jline</artifactId> + <version>${jline.version}</version> + </dependency> + + <dependency> + <groupId>javacc</groupId> + <artifactId>javacc</artifactId> + <version>${javacc.version}</version> + </dependency> + + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop</artifactId> + <version>${hadoop.version}</version> + </dependency> + + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase</artifactId> + <version>${hbase.version}</version> + </dependency> + + <dependency> + <groupId>org.apache.hbase</groupId> + <artifactId>hbase-test</artifactId> + <version>${hbase-test.version}</version> + </dependency> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>${junit.version}</version> + </dependency> + + </dependencies> +</project>