Skip to content

Commit

Permalink
HIVE-2391. Published POMs in Maven repo are incorrect (Carl Steinbach…
Browse files Browse the repository at this point in the history
… via cws)

git-svn-id: https://svn.apache.org/repos/asf/hive/branches/branch-0.8@1203462 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information
cwsteinbach committed Nov 18, 2011
1 parent 9e689be commit f2df6c2
Show file tree
Hide file tree
Showing 66 changed files with 695 additions and 2,025 deletions.
10 changes: 3 additions & 7 deletions ant/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,8 @@ to call at top-level: ant deploy-contrib compile-core-test
<property name="src.dir" location="${basedir}/src"/>
<import file="../build-common.xml"/>

<target name="init" depends="create-dirs">
<echo message="Project: ${ant.project.name}"/>
</target>

<target name="compile" depends="init">
<echo message="Project: ${ant.project.name}"/>
<target name="compile" depends="init,ivy-retrieve">
<echo message="${ant.project.name}"/>
<javac
encoding="${build.encoding}"
srcdir="${src.dir}"
Expand All @@ -46,7 +42,7 @@ to call at top-level: ant deploy-contrib compile-core-test
</target>

<target name="jar" depends="compile">
<echo message="Project: ${ant.project.name}"/>
<echo message="${ant.project.name}"/>
<copy file="${src.dir}/org/apache/hadoop/hive/ant/antlib.xml"
todir="${build.dir}/classes/org/apache/hadoop/hive/ant"/>
<jar destfile="${build.dir}/hive-anttasks-${version}.jar">
Expand Down
22 changes: 14 additions & 8 deletions ant/ivy.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,18 @@
limitations under the License.
-->
<ivy-module version="2.0">
<info organisation="${hive.ivy.org}" module="hive-anttasks" revision="${version}">
<license name="The Apache Software License, Version 2.0" url="http://www.apache.org/licenses/LICENSE-2.0.txt" />
<description homepage="http://hive.apache.org">
The Apache Hive (TM) data warehouse software facilitates querying and managing large datasets residing in distributed storage.
https://cwiki.apache.org/confluence/display/Hive/Home
</description>
</info>

<info organisation="${hive.ivy.org}" module="hive-anttasks" revision="${version}">
<license name="The Apache Software License, Version 2.0" url="http://www.apache.org/licenses/LICENSE-2.0.txt" />
<description homepage="http://hive.apache.org">
The Apache Hive (TM) data warehouse software facilitates querying and managing large datasets residing in distributed storage.
https://cwiki.apache.org/confluence/display/Hive/Home
</description>
</info>
<configurations>
<include file="${ivy.conf.dir}/common-configurations.xml"/>
</configurations>
<dependencies>
<dependency org="commons-lang" name="commons-lang" rev="${commons-lang.version}"/>
<dependency org="velocity" name="velocity" rev="${velocity.version}" transitive="false"/>
</dependencies>
</ivy-module>
138 changes: 22 additions & 116 deletions build-common.xml
Original file line number Diff line number Diff line change
Expand Up @@ -72,24 +72,7 @@
</path>


<!-- IVY properties set here -->
<property name="build.ivy.dir" location="${build.dir.hive}/ivy"/>
<property name="build.ivy.lib.dir" location="${build.ivy.dir}/lib"/>
<property name="build.ivy.report.dir" location="${build.ivy.dir}/report"/>
<property name="build.ivy.maven.dir" location="${build.ivy.dir}/maven"/>
<property name="ivy.conf.dir" location="${hive.root}/ivy"/>
<loadproperties srcfile="${ivy.conf.dir}/libraries.properties"/>
<property name="ivy.jar" location="${build.ivy.lib.dir}/ivy-${ivy.version}.jar"/>
<property name="ivysettings.xml" location="${ivy.conf.dir}/ivysettings.xml" />
<property name="mvn.repo" value="http://repo2.maven.org/maven2"/>
<property name="ivy_repo_url" value="${mvn.repo}/org/apache/ivy/ivy/${ivy.version}/ivy-${ivy.version}.jar"/>

<!-- Maven properties set here -->
<property name="hive.ivy.org" value="org.apache.hive"/>
<property name="mvn.publish.repo" value="snapshots"/>
<property name="mvn.jar.dir" value="${build.dir.hive}/maven/jars"/>
<property name="mvn.pom.dir" value="${build.dir.hive}/maven/poms"/>
<property name="mvn.license.dir" value="${build.dir.hive}/maven/licenses"/>

<condition property="offline">
<istrue value="${is-offline}"/>
Expand All @@ -107,21 +90,20 @@
<!--this is the naming policy for artifacts we want pulled down-->
<property name="ivy.artifact.retrieve.pattern" value="[conf]/[artifact]-[revision](-[classifier]).[ext]"/>

<property name="ivyresolvelog" value="download-only"/>
<property name="ivyretrievelog" value="quite"/>

<target name="ivy-init">
<target name="ivy-init-settings">
<!--Configure Ivy by reading in the settings file
If anyone has already read in a settings file into this settings ID, it gets priority
-->
<echo message="Project: ${ant.project.name}"/>
<ivy:settings id="${ant.project.name}.ivy.settings" file="${ivysettings.xml}"/>
</target>

<target name="ivy-resolve" depends="ivy-init" unless="offline">
<target name="ivy-resolve" depends="ivy-init-settings" unless="offline">
<echo message="Project: ${ant.project.name}"/>
<ivy:resolve settingsRef="${ant.project.name}.ivy.settings"
log="${ivyresolvelog}"/>
conf="default" log="${ivyresolvelog}"/>
<ivy:report todir="${build.ivy.report.dir}" settingsRef="${ant.project.name}.ivy.settings"
graph="false" />
</target>

<target name="ivy-retrieve" depends="ivy-resolve"
Expand All @@ -132,52 +114,15 @@
log="${ivyresolvelog}"/>
</target>

<target name="ivy-resolve-checkstyle" depends="ivy-init">
<echo message="Project: ${ant.project.name}"/>
<ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="checkstyle"
log="${ivyresolvelog}"/>
</target>

<target name="ivy-retrieve-checkstyle" depends="ivy-resolve-checkstyle"
description="Retrieve Ivy-managed artifacts for the checkstyle configurations">
<echo message="Project: ${ant.project.name}"/>
<ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"
log="${ivyresolvelog}"/>
<ivy:cachepath pathid="checkstyle-classpath" conf="checkstyle"/>
</target>

<target name="ivy-resolve-maven-ant-tasks" depends="ivy-init">
<echo message="Project: ${ant.project.name}"/>
<ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="maven"
log="${ivyresolvelog}"/>
</target>

<target name="ivy-retrieve-maven-ant-tasks" depends="ivy-resolve-maven-ant-tasks"
description="Retrieve Ivy-managed artifacts for the maven-ant-tasks configurations">
<echo message="Project: ${ant.project.name}"/>
<ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"
log="${ivyresolvelog}"/>
<ivy:cachepath pathid="maven-ant-tasks.classpath" conf="maven"/>
</target>

<target name="ivy-retrieve-hadoop-source" depends="ivy-init"
<target name="ivy-retrieve-hadoop-source" depends="ivy-init-settings"
description="Retrieve Ivy-managed Hadoop source artifacts" unless="ivy.skip">
<echo message="Project: ${ant.project.name}"/>
<ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
pattern="${build.dir.hadoop}/[artifact]-[revision].[ext]"/>
</target>

<target name="ivy-docs" depends="ivy-init"
description="Resolve, Retrieve Ivy-managed artifacts for docs configuration">
<echo message="Project: ${ant.project.name}"/>
<ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="docs"/>
<ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}" conf="docs"/>
<ivy:cachepath pathid="docs-classpath" conf="docs"/>
</target>


<available property="hadoopcore.${hadoop.version.ant-internal}.install.done"
file="${build.dir.hadoop}/hadoop-${hadoop.version.ant-internal}.installed"/>

Expand Down Expand Up @@ -213,7 +158,6 @@
<pathelement location="${build.dir.hive}/classes"/>
<fileset dir="${build.dir.hive}" includes="*/*.jar"/>
<fileset dir="${hive.root}/lib" includes="*.jar"/>
<fileset dir="${hive.root}/ql/lib" includes="*.jar"/>
<fileset dir="${build.ivy.lib.dir}/default" includes="*.jar" excludes="*hadoop*.jar"
erroronmissingdir="false"/>
</path>
Expand All @@ -234,6 +178,7 @@
</path>

<target name="create-dirs">
<echo message="Project: ${ant.project.name}"/>
<mkdir dir="${build.dir.hive}"/>
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.classes}"/>
Expand Down Expand Up @@ -263,15 +208,16 @@
<echo message="Project: ${ant.project.name}"/>
</target>

<target name="compile" depends="init, setup">
<target name="compile" depends="init, setup, ivy-retrieve">
<echo message="Project: ${ant.project.name}"/>
<javac
encoding="${build.encoding}"
srcdir="${src.dir}"
includes="**/*.java"
destdir="${build.classes}"
debug="${javac.debug}"
deprecation="${javac.deprecation}">
deprecation="${javac.deprecation}"
includeantruntime="false">
<compilerarg line="${javac.args} ${javac.args.warnings}" />
<classpath refid="classpath"/>
</javac>
Expand All @@ -281,7 +227,7 @@
</target>

<target name="jar" depends="compile">
<echo message="Project: ${ant.project.name}"/>
<echo message="Project: ${ant.project.name}" />
<jar
jarfile="${build.dir}/hive-${ant.project.name}-${version}.jar"
basedir="${build.classes}">
Expand Down Expand Up @@ -309,7 +255,8 @@
optimize="${javac.optimize}"
target="${javac.version}"
source="${javac.version}"
deprecation="${javac.deprecation}">
deprecation="${javac.deprecation}"
includeantruntime="false">
<compilerarg line="${javac.args} ${javac.args.warnings}" />
<classpath refid="test.classpath"/>
</javac>
Expand All @@ -322,7 +269,8 @@
optimize="${javac.optimize}"
target="${javac.version}"
source="${javac.version}"
deprecation="${javac.deprecation}">
deprecation="${javac.deprecation}"
includeantruntime="false">
<compilerarg line="${javac.args} ${javac.args.warnings}" />
<classpath refid="test.classpath"/>
</javac>
Expand All @@ -339,7 +287,6 @@

<target name="test-conditions">
<echo message="Project: ${ant.project.name}"/>

<condition property="qfile" value="">
<not>
<isset property="qfile"/>
Expand Down Expand Up @@ -405,7 +352,7 @@
errorProperty="tests.failed" failureProperty="tests.failed" filtertrace="off">

<env key="HADOOP_HOME" value="${hadoop.root}"/>
<env key="HADOOP_CLASSPATH" value="${test.src.data.dir}/conf:${build.dir.hive}/dist/lib/derby.jar:${build.dir.hive}/dist/lib/javaewah-0.2.jar"/>
<env key="HADOOP_CLASSPATH" value="${test.src.data.dir}/conf:${build.dir.hive}/dist/lib/derby-${derby.version}.jar:${build.dir.hive}/dist/lib/javaewah-${javaewah.version}.jar"/>
<env key="TZ" value="US/Pacific"/>
<sysproperty key="test.output.overwrite" value="${overwrite}"/>
<sysproperty key="test.service.standalone.server" value="${standalone}"/>
Expand All @@ -424,6 +371,8 @@
<sysproperty key="fs.default.name" value="${fs.default.name}"/>
<sysproperty key="build.dir" value="${build.dir}"/>
<sysproperty key="build.dir.hive" value="${build.dir.hive}"/>
<sysproperty key="build.ivy.lib.dir" value="${build.ivy.lib.dir}"/>
<sysproperty key="derby.version" value="${derby.version}"/>
<sysproperty key="hive.version" value="${version}"/>

<classpath refid="${test.classpath.id}"/>
Expand All @@ -442,15 +391,6 @@
</junit>
<fail if="tests.failed">Tests failed!</fail>
</target>

<target name="test-shims">
<echo message="Project: ${ant.project.name}"/>
<subant target="test">
<property name="hadoop.version" value="${hadoop.security.version}"/>
<property name="hadoop.security.version" value="${hadoop.security.version}"/>
<fileset dir="${hive.root}/shims" includes="build.xml"/>
</subant>
</target>

<target name="clean-test">
<echo message="Project: ${ant.project.name}"/>
Expand All @@ -476,9 +416,9 @@
</condition>
</target>

<target name="check-ivy" depends="ivy-init">
<target name="check-ivy" depends="ivy-init-settings">
<echo message="Project: ${ant.project.name}"/>
<available file="${basedir}/ivy.xml" property="ivy.present"/>
<available file="${basedir}/ivy.xml" property="ivy.present"/>
</target>

<target name="make-pom" if="ivy.present" depends="check-ivy, jar">
Expand All @@ -487,7 +427,7 @@

<ivy:makepom ivyfile="${basedir}/ivy.xml" pomfile="${build.dir}/pom.xml">
<mapping conf="default" scope="compile" />
<mapping conf="runtime" scope="runtime" />
<mapping conf="runtime" scope="compile" />
</ivy:makepom>
<replace file="${build.dir}/pom.xml">
<replacetoken>&lt;dependencies&gt;</replacetoken>
Expand All @@ -509,38 +449,4 @@
</replace>
</target>

<!-- Deploy a single artifact to the maven repository -->
<target name="maven-publish-artifact">
<echo message="Project: ${ant.project.name}"/>
<artifact:pom
file="${mvn.pom.dir}/hive-${hive.project}-${version}.pom"
id="hive.project.pom" />
<artifact:install-provider artifactId="wagon-http" version="1.0-beta-2" />
<if>
<equals arg1="${mvn.publish.repo}" arg2="staging" />
<then>
<artifact:deploy
file="${mvn.jar.dir}/hive-${hive.project}-${version}.jar">
<pom refid="hive.project.pom" />
<remoteRepository
id="apache.staging.https"
url="https://repository.apache.org/service/local/staging/deploy/maven2" />
<attach file="${mvn.jar.dir}/hive-${hive.project}-${version}.jar.asc"
type="jar.asc"/>
<attach file="${mvn.pom.dir}/hive-${hive.project}-${version}.pom.asc"
type="pom.asc"/>
</artifact:deploy>
</then>
<else>
<artifact:deploy
file="${mvn.jar.dir}/hive-${hive.project}-${version}.jar">
<pom refid="hive.project.pom" />
<remoteRepository
id="apache.snapshots.https"
url="https://repository.apache.org/content/repositories/snapshots" />
</artifact:deploy>
</else>
</if>
</target>

</project>
23 changes: 21 additions & 2 deletions build.properties
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,28 @@ jsp.test.jar=${hadoop.root}/lib/jetty-ext/jsp-api.jar
common.jar=${hadoop.root}/lib/commons-httpclient-3.0.1.jar

#
# Data nucleus repository - needed for jdo2-api-2.3-ec.jar download
# Ivy Properties
#
datanucleus.repo=http://www.datanucleus.org/downloads/maven2
build.ivy.dir=${build.dir.hive}/ivy
build.ivy.lib.dir=${build.ivy.dir}/lib
build.ivy.report.dir=${build.ivy.dir}/report
build.ivy.maven.dir=${build.ivy.dir}/maven
ivy.conf.dir=${hive.root}/ivy
ivy.version=2.2.0
ivy.jar=${build.ivy.lib.dir}/ivy-${ivy.version}.jar
ivysettings.xml=${ivy.conf.dir}/ivysettings.xml
ivyresolvelog=download-only
ivy.mvn.repo=http://repo2.maven.org/maven2
ivy_repo_url=${ivy.mvn.repo}/org/apache/ivy/ivy/${ivy.version}/ivy-${ivy.version}.jar
hive.ivy.org=org.apache.hive
mvn.publish.repo=snapshots
mvn.jar.dir=${build.dir.hive}/maven/jars
mvn.pom.dir=${build.dir.hive}/maven/poms
mvn.license.dir=${build.dir.hive}/maven/licenses


#
# Data nucleus repository - needed for jdo2-api-2.3-ec.jar download
#
datanucleus.repo=http://www.datanucleus.org/downloads/maven2

Loading

0 comments on commit f2df6c2

Please sign in to comment.