You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by rd...@apache.org on 2010/08/20 20:36:51 UTC
svn commit: r987599 - in /hadoop/pig/trunk: CHANGES.txt build.xml
ivy/libraries.properties ivy/pig.pom
Author: rding
Date: Fri Aug 20 18:36:51 2010
New Revision: 987599
URL: http://svn.apache.org/viewvc?rev=987599&view=rev
Log:
PIG-1334: Make pig artifacts available through maven
Modified:
hadoop/pig/trunk/CHANGES.txt
hadoop/pig/trunk/build.xml
hadoop/pig/trunk/ivy/libraries.properties
hadoop/pig/trunk/ivy/pig.pom
Modified: hadoop/pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/CHANGES.txt?rev=987599&r1=987598&r2=987599&view=diff
==============================================================================
--- hadoop/pig/trunk/CHANGES.txt (original)
+++ hadoop/pig/trunk/CHANGES.txt Fri Aug 20 18:36:51 2010
@@ -26,6 +26,8 @@ PIG-1249: Safe-guards against misconfigu
IMPROVEMENTS
+PIG-1334: Make pig artifacts available through maven (niraj via rding)
+
PIG-1466: Improve log messages for memory usage (thejas)
PIG-1404: added PigUnit, a framework fo building unit tests of Pig Latin scripts (romainr via gates)
Modified: hadoop/pig/trunk/build.xml
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/build.xml?rev=987599&r1=987598&r2=987599&view=diff
==============================================================================
--- hadoop/pig/trunk/build.xml (original)
+++ hadoop/pig/trunk/build.xml Fri Aug 20 18:36:51 2010
@@ -15,7 +15,9 @@
limitations under the License.
-->
-<project name="Pig" default="jar" xmlns:ivy="antlib:org.apache.ivy.ant">
+<project name="Pig" default="jar"
+ xmlns:artifact="urn:maven-artifact-ant"
+ 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" />
@@ -24,7 +26,9 @@
<!-- name and version properties -->
<property name="name" value="pig" />
<property name="Name" value="Pig" />
- <property name="version" value="0.8.0-dev" />
+ <property name="ant-task.version" value="2.0.10" />
+ <property name="pig.pom" value="${basedir}/ivy/pig.pom" />
+ <property name="version" value="0.8.0-SNAPSHOT" />
<property name="final.name" value="${name}-${version}" />
<condition property="isWindows">
<os family="windows"/>
@@ -129,14 +133,24 @@
<isset property="clover.present"/>
</and>
</condition>
-
+ <condition property="staging">
+ <equals arg1="${repo}" arg2="staging"/>
+ </condition>
<!-- IVY properteis set here -->
+ <property name="ivy.repo.dir" value="${user.home}/ivyrepo" />
<property name="ivy.dir" location="ivy" />
<loadproperties srcfile="${ivy.dir}/libraries.properties"/>
<property name="hadoop.jar" value="hadoop-core-${hadoop-core.version}.jar" />
+ <property name="asfrepo" value="https://repository.apache.org"/>
+ <property name="asfsnapshotrepo" value="${asfrepo}/content/repositories/snapshots"/>
+ <property name="mvnrepo" value="http://repo2.maven.org/maven2"/>
+ <property name="asfstagingrepo" value="${asfrepo}/service/local/staging/deploy/maven2"/>
<property name="ivy.jar" location="${ivy.dir}/ivy-${ivy.version}.jar"/>
+ <property name="ant_task.jar" location="${ivy.dir}/maven-ant-tasks-${ant-task.version}.jar"/>
+ <property name="ant_task_repo_url"
+ value="${mvnrepo}/org/apache/maven/maven-ant-tasks/${ant-task.version}/maven-ant-tasks-${ant-task.version}.jar"/>
+ <property name="ivy_repo_url" value="${mvnrepo}/org/apache/ivy/ivy/${ivy.version}/ivy-${ivy.version}.jar"/>
<property name="guava.jar" value="guava-${guava.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" />
@@ -146,17 +160,19 @@
<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="pom.xml" location="${build.ivy.maven.dir}/pom.xml"/>
<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="build.ivy.maven.jar" location="${build.ivy.maven.dir}/pig-${version}-core.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}"/>
-
+ <property name="ivy.publish.pattern" value="[artifact]-[revision].[ext]"/>
+ <property name="pig.jar" value="${output.jarfile}"/>
+ <property name="pig-core.jar" value="${output.jarfile.core}"/>
+ <property name="pig-sources.jar" location="${build.dir}/${final.name}-sources.jar" />
<!-- jdiff properties -->
<property name="jdiff.jar" value="${ivy.lib.dir}/jdiff-${jdiff.version}.jar"/>
@@ -779,6 +795,84 @@
<target name="check-for-findbugs">
<available property="findbugs.present" file="${findbugs.home}/lib/findbugs.jar" />
</target>
+ <target name="ant-task-download" description="To download mvn-ant-task" unless="offline">
+ <get src="${ant_task_repo_url}" dest="${ant_task.jar}" usetimestamp="true"/>
+ </target>
+ <target name="mvn-taskdef" depends="ant-task-download">
+ <path id="mvn-ant-task.classpath" path="${ant_task.jar}"/>
+ <typedef resource="org/apache/maven/artifact/ant/antlib.xml"
+ uri="urn:maven-artifact-ant"
+ classpathref="mvn-ant-task.classpath"/>
+ </target>
+ <target name="mvn-install" depends="mvn-taskdef,jar, source-jar"
+ description="To install pig to local filesystem's m2 cache">
+ <artifact:pom file="${pig.pom}" id="pig"/>
+ <artifact:install file="${pig-core.jar}">
+ <pom refid="pig"/>
+ <attach file="${output.jarfile.sources}" classifier="sources" />
+ </artifact:install>
+ </target>
+ <target name="mvn-deploy" depends="mvn-taskdef,jar,source-jar, signanddeploy, simpledeploy"
+ description="To deploy pig jar to apache snapshot's repository">
+ </target>
+
+ <target name="signanddeploy" if="staging" depends="sign">
+ <artifact:pom file="${pig.pom}" id="pig"/>
+ <artifact:install-provider artifactId="wagon-http" version="1.0-beta-2"/>
+ <artifact:deploy file="${pig-core.jar}">
+ <remoteRepository id="apache.staging.https" url="${asfstagingrepo}"/>
+ <pom refid="pig"/>
+ <attach file="${pig-core.jar}.asc" type="jar.asc"/>
+ <attach file="${pig.pom}.asc" type="pom.asc"/>
+ <attach file="${output.jarfile.sources}.asc" type="jar.asc" />
+ <attach file="${output.jarfile.sources}" classifier="sources" />
+ </artifact:deploy>
+ </target>
+
+ <target name="simpledeploy" unless="staging">
+ <artifact:pom file="${pig.pom}" id="pig"/>
+ <artifact:install-provider artifactId="wagon-http" version="1.0-beta-2"/>
+ <artifact:deploy file="${pig-core.jar}">
+ <remoteRepository id="apache.snapshots.https" url="${asfsnapshotrepo}"/>
+ <pom refid="pig"/>
+ <attach file="${pig-sources.jar}" classifier="sources" />
+ </artifact:deploy>
+ </target>
+
+ <target name="sign" depends="clean-sign" if="staging">
+ <input message="password:>" addproperty="gpg.passphrase">
+ <handler classname="org.apache.tools.ant.input.SecureInputHandler" />
+ </input>
+ <macrodef name="sign-artifact" description="Signs the artifact">
+ <attribute name="input.file"/>
+ <attribute name="output.file" default="@{input.file}.asc"/>
+ <attribute name="gpg.passphrase"/>
+ <sequential>
+ <echo>Signing @{input.file} Sig File: @{output.file}</echo>
+ <exec executable="gpg" >
+ <arg value="--armor"/>
+ <arg value="--output"/>
+ <arg value="@{output.file}"/>
+ <arg value="--passphrase"/>
+ <arg value="@{gpg.passphrase}"/>
+ <arg value="--detach-sig"/>
+ <arg value="@{input.file}"/>
+ </exec>
+ </sequential>
+ </macrodef>
+ <sign-artifact input.file="${pig-core.jar}"
+ output.file="${pig-core.jar}.asc" gpg.passphrase="${gpg.passphrase}"/>
+ <sign-artifact input.file="${output.jarfile.sources}"
+ output.file="${output.jarfile.sources}.asc" gpg.passphrase="${gpg.passphrase}"/>
+ <sign-artifact input.file="${pig.pom}"
+ output.file="${pig.pom}.asc" gpg.passphrase="${gpg.passphrase}"/>
+ </target>
+
+ <target name="clean-sign" description="Clean. Delete .asc files">
+ <delete>
+ <fileset dir="." includes="**/**/*.asc"/>
+ </delete>
+ </target>
<!-- ================================================================== -->
<!-- Perform audit activities for the release -->
@@ -1085,7 +1179,7 @@
</target>
<target name="copy-jar-to-maven" depends="ready-to-publish">
- <copy file="${pig.jar}" tofile="${build.ivy.maven.jar}"/>
+ <copy file="${pig-core.jar}" tofile="${build.ivy.maven.jar}"/>
<checksum file="${build.ivy.maven.jar}" algorithm="md5"/>
</target>
Modified: hadoop/pig/trunk/ivy/libraries.properties
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/ivy/libraries.properties?rev=987599&r1=987598&r2=987599&view=diff
==============================================================================
--- hadoop/pig/trunk/ivy/libraries.properties (original)
+++ hadoop/pig/trunk/ivy/libraries.properties Fri Aug 20 18:36:51 2010
@@ -16,6 +16,7 @@
#These are the versions of our dependencies (in alphabetical order)
apacheant.version=1.7.1
antlr.version=2.7.6
+pig.version=0.8.0
commons-beanutils.version=1.7.0
commons-cli.version=1.0
Modified: hadoop/pig/trunk/ivy/pig.pom
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/ivy/pig.pom?rev=987599&r1=987598&r2=987599&view=diff
==============================================================================
--- hadoop/pig/trunk/ivy/pig.pom (original)
+++ hadoop/pig/trunk/ivy/pig.pom Fri Aug 20 18:36:51 2010
@@ -20,10 +20,10 @@
-->
<modelVersion>4.0.0</modelVersion>
- <groupId>org.apache.pig</groupId>
+ <groupId>org.apache.hadoop</groupId>
<artifactId>pig</artifactId>
<packaging>jar</packaging>
- <version>${pig.version}</version>
+ <version>0.8.0-SNAPSHOT</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
@@ -45,6 +45,7 @@
<groupId>com.jcraft</groupId>
<artifactId>zlib</artifactId>
</exclusion>
+ </exclusions>
</dependency>
<dependency>
@@ -98,7 +99,7 @@
<dependency>
<groupId>org.python</groupId>
<artifactId>jython</artifactId>
- <version>${jython.version}/version>
+ <version>${jython.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>