You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nutch.apache.org by ma...@apache.org on 2010/10/28 15:45:51 UTC

svn commit: r1028294 - in /nutch/trunk: CHANGES.txt build.xml pom.xml

Author: mattmann
Date: Thu Oct 28 13:45:51 2010
New Revision: 1028294

URL: http://svn.apache.org/viewvc?rev=1028294&view=rev
Log:
- fix for NUTCH-825 Publish nutch artifacts to central maven repository

Added:
    nutch/trunk/pom.xml
Modified:
    nutch/trunk/CHANGES.txt
    nutch/trunk/build.xml

Modified: nutch/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/nutch/trunk/CHANGES.txt?rev=1028294&r1=1028293&r2=1028294&view=diff
==============================================================================
--- nutch/trunk/CHANGES.txt (original)
+++ nutch/trunk/CHANGES.txt Thu Oct 28 13:45:51 2010
@@ -2,6 +2,8 @@ Nutch Change Log
 
 Release 2.0 - Current Development
 
+* NUTCH-825 Publish nutch artifacts to central maven repository (mattmann)
+
 * NUTCH-913 Nutch should use new namespace for Gora (dogacan)
 
 * NUTCH-714 Need a SFTP and SCP Protocol Handler (Sanjoy Ghosh, mattmann)

Modified: nutch/trunk/build.xml
URL: http://svn.apache.org/viewvc/nutch/trunk/build.xml?rev=1028294&r1=1028293&r2=1028294&view=diff
==============================================================================
--- nutch/trunk/build.xml (original)
+++ nutch/trunk/build.xml Thu Oct 28 13:45:51 2010
@@ -15,7 +15,7 @@
  See the License for the specific language governing permissions and
  limitations under the License.
 -->
-<project name="Nutch" default="runtime" xmlns:ivy="antlib:org.apache.ivy.ant">
+<project name="Nutch" default="runtime" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:artifact="antlib:org.apache.maven.artifact.ant">
 
   <!-- Load all the default properties, and any the user wants    -->
   <!-- to contribute (without having to type -D or edit this file -->
@@ -23,7 +23,17 @@
   <property file="${basedir}/build.properties" />
   <property file="${basedir}/default.properties" />
   <property name="test.junit.output.format" value="plain"/>
-  <!-- <loadproperties srcfile="${ivy.dir}/libraries.properties"/> -->
+  <property name="release.dir" value="${build.dir}/release"/>
+  
+  <!-- define Maven coordinates, repository url and artifacts name etc -->
+  <property name="groupId" value="org.apache.nutch" />
+  <property name="artifactId" value="nutch" />
+  <property name="maven-repository-url" value="https://repository.apache.org/service/local/staging/deploy/maven2" />
+  <property name="maven-repository-id" value="apache.releases.https" />
+  <property name="maven-jar" value="${release.dir}/${artifactId}-${version}.jar" />
+  <property name="maven-javadoc-jar" value="${release.dir}/${artifactId}-${version}-javadoc.jar" />
+  <property name="maven-sources-jar" value="${release.dir}/${artifactId}-${version}-sources.jar" />
+
  
   <!-- the normal classpath -->
   <path id="classpath">
@@ -53,6 +63,7 @@
   <target name="init" depends="ivy-init">
     <mkdir dir="${build.dir}"/>
     <mkdir dir="${build.classes}"/>
+    <mkdir dir="${release.dir}"/>
 
     <mkdir dir="${test.build.dir}"/>
     <mkdir dir="${test.build.classes}"/>
@@ -109,6 +120,126 @@
   </target>
 
   <!-- ================================================================== -->
+  <!-- Make Maven Central Release                                         -->
+  <!-- ================================================================== -->
+  <!--                                                                    -->
+  <!-- ================================================================== -->  
+  <target name="release" depends="compile-core" description="generate the release distribution">
+    <copy file="${conf.dir}/nutch-default.xml"
+          todir="${build.classes}"/>
+    <copy file="${conf.dir}/nutch-site.xml"
+          todir="${build.classes}"/>
+          
+	<!-- build the main artifact -->
+	<jar jarfile="${maven-jar}" basedir="${build.classes}" />
+
+	<!-- build the javadoc artifact -->
+    <javadoc
+      destdir="${release.dir}/javadoc"
+      overview="${src.dir}/overview.html"
+      author="true"
+      version="true"
+      use="true"
+      windowtitle="${Name} ${version} API"
+      doctitle="${Name} ${version} API"
+      bottom="Copyright &amp;copy; ${year} The Apache Software Foundation"
+      >
+        <arg value="${javadoc.proxy.host}"/>
+        <arg value="${javadoc.proxy.port}"/>
+
+      <packageset dir="${src.dir}"/>
+      <packageset dir="${plugins.dir}/lib-http/src/java"/>
+      <packageset dir="${plugins.dir}/lib-regex-filter/src/java"/>
+      <packageset dir="${plugins.dir}/microformats-reltag/src/java"/>
+      <packageset dir="${plugins.dir}/protocol-file/src/java"/>
+      <packageset dir="${plugins.dir}/protocol-ftp/src/java"/>
+      <packageset dir="${plugins.dir}/protocol-http/src/java"/>
+      <packageset dir="${plugins.dir}/protocol-httpclient/src/java"/>
+      <packageset dir="${plugins.dir}/parse-tika/src/java"/>
+      <packageset dir="${plugins.dir}/parse-ext/src/java"/>
+      <packageset dir="${plugins.dir}/parse-js/src/java"/>
+      <packageset dir="${plugins.dir}/parse-rss/src/java"/>
+      <packageset dir="${plugins.dir}/parse-swf/src/java"/>
+      <packageset dir="${plugins.dir}/parse-zip/src/java"/>
+      <packageset dir="${plugins.dir}/index-basic/src/java"/>
+      <packageset dir="${plugins.dir}/index-more/src/java"/>
+      <packageset dir="${plugins.dir}/scoring-opic/src/java"/>
+      <packageset dir="${plugins.dir}/urlfilter-automaton/src/java"/>
+      <packageset dir="${plugins.dir}/urlfilter-regex/src/java"/>
+      <packageset dir="${plugins.dir}/urlfilter-prefix/src/java"/>
+      <packageset dir="${plugins.dir}/creativecommons/src/java"/>
+      <packageset dir="${plugins.dir}/languageidentifier/src/java"/>
+      
+      <link href="${javadoc.link.java}"/>
+      <link href="${javadoc.link.lucene}"/>
+      <link href="${javadoc.link.hadoop}"/>
+      
+      <classpath refid="classpath"/>
+    	<classpath>
+    		<fileset dir="${plugins.dir}" >
+    			<include name="**/*.jar"/>
+    		</fileset>
+    	</classpath>
+    	
+      <group title="Core" packages="org.apache.nutch.*"/>
+      <group title="Plugins API" packages="${plugins.api}"/>
+      <group title="Protocol Plugins" packages="${plugins.protocol}"/>
+      <group title="URL Filter Plugins" packages="${plugins.urlfilter}"/>
+      <group title="Scoring Plugins" packages="${plugins.scoring}"/>
+      <group title="Parse Plugins" packages="${plugins.parse}"/>
+      <group title="Indexing Filter Plugins" packages="${plugins.index}"/>
+      <group title="Misc. Plugins" packages="${plugins.misc}"/>
+    </javadoc>	
+	<jar jarfile="${maven-javadoc-jar}">
+		<fileset dir="${release.dir}/javadoc" />
+	</jar>
+
+	<!-- build the sources artifact -->
+	<jar jarfile="${maven-sources-jar}">
+		<fileset dir="${src.dir}" />
+	</jar>
+  </target>
+  
+  <!-- ================================================================== -->
+  <!-- Deploy to Apache Nexus                                             -->
+  <!-- ================================================================== -->
+  <!--                                                                    -->
+  <!-- ================================================================== -->  
+  <target name="deploy" depends="release" description="deploy to Apache Nexus">
+	<!-- sign and deploy the main artifact -->
+	<artifact:mvn>
+		<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.1:sign-and-deploy-file" />
+		<arg value="-Durl=${maven-repository-url}" />
+		<arg value="-DrepositoryId=${maven-repository-id}" />
+		<arg value="-DpomFile=pom.xml" />
+		<arg value="-Dfile=${maven-jar}" />
+                       <arg value="-Papache-release" />
+	</artifact:mvn>
+
+	<!-- sign and deploy the sources artifact -->
+	<artifact:mvn>
+		<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.1:sign-and-deploy-file" />
+		<arg value="-Durl=${maven-repository-url}" />
+		<arg value="-DrepositoryId=${maven-repository-id}" />
+		<arg value="-DpomFile=pom.xml" />
+		<arg value="-Dfile=${maven-sources-jar}" />
+		<arg value="-Dclassifier=sources" />
+                       <arg value="-Papache-release" />
+	</artifact:mvn>
+
+	<!-- sign and deploy the javadoc artifact -->
+	<artifact:mvn>
+		<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.1:sign-and-deploy-file" />
+		<arg value="-Durl=${maven-repository-url}" />
+		<arg value="-DrepositoryId=${maven-repository-id}" />
+		<arg value="-DpomFile=pom.xml" />
+		<arg value="-Dfile=${maven-javadoc-jar}" />
+		<arg value="-Dclassifier=javadoc" />
+                       <arg value="-Papache-release" />
+	</artifact:mvn>
+  </target>
+
+  <!-- ================================================================== -->
   <!-- Make job jar                                                       -->
   <!-- ================================================================== -->
   <!--                                                                    -->

Added: nutch/trunk/pom.xml
URL: http://svn.apache.org/viewvc/nutch/trunk/pom.xml?rev=1028294&view=auto
==============================================================================
--- nutch/trunk/pom.xml (added)
+++ nutch/trunk/pom.xml Thu Oct 28 13:45:51 2010
@@ -0,0 +1,321 @@
+<?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.
+-->
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.apache.nutch</groupId>
+	<artifactId>nutch</artifactId>
+	<packaging>jar</packaging>
+	<name>Apache Nutch</name>
+	<version>2.0-dev</version>
+	<description>Nutch is open source web-search software. It builds on 
+	Lucene and Solr, adding web-specifics, such as a crawler, a link-graph 
+	database, parsers for HTML and other document formats, etc.
+	</description>
+	<url>http://maven.apache.org</url>
+	<licenses>
+		<license>
+			<name>The Apache Software License, Version 2.0</name>
+			<url>http://www.apache.org/licenses/LICENSE-2.0.txt
+			</url>
+			<distribution>repo</distribution>
+		</license>
+	</licenses>
+	<scm>
+		<url>http://svn.apache.org/viewvc/nutch
+		</url>
+		<connection>http://svn.apache.org/viewvc/nutch
+		</connection>
+	</scm>
+	<developers>
+		<developer>
+			<id>ab</id>
+			<name>Andrzej Bialecki</name>
+			<email>ab@apache.org</email>
+		</developer>
+		<developer>
+			<id>mattmann</id>
+			<name>Chris A. Mattmann</name>
+			<email>mattmann@apache.org</email>
+		</developer>
+		<developer>
+			<id>kubes</id>
+			<name>Dennis Kubes</name>
+			<email>kubes@apache.org</email>
+		</developer>		
+		<developer>
+			<id>dogacan</id>
+			<name>Dogacan Güney</name>
+			<email>dogacan@apache.org</email>
+		</developer>
+		<developer>
+			<id>jnioche</id>
+			<name>Julien Nioche</name>
+			<email>jnioche@apache.org</email>
+		</developer>
+		<developer>
+			<id>otis</id>
+			<name>Otis Gospodnetić</name>
+			<email>otis@apache.org</email>
+		</developer>
+		<developer>
+			<id>siren</id>
+			<name>Sami Siren</name>
+			<email>siren@apache.org</email>
+		</developer>
+	</developers>
+	<dependencies>
+	    <dependency>
+	       <groupId>org.apache.solr</groupId>
+	       <artifactId>solr-solrj</artifactId>
+	       <version>1.4.1</version>
+	    </dependency>
+	    <dependency>
+	       <groupId>org.slf4j</groupId>
+	       <artifactId>slf4j-log4j12</artifactId>
+	       <version>1.5.11</version>
+	    </dependency>
+	    <dependency>
+	       <groupId>org.apache.hadoop</groupId>
+	       <artifactId>avro</artifactId>
+	       <version>1.3.2</version>
+	       <exclusions>
+	         <exclusion>
+	           <groupId>ant</groupId>
+	         </exclusion>
+	       </exclusions>
+	    </dependency>
+	    <dependency>
+	       <groupId>commons-lang</groupId>
+	       <artifactId>commons-lang</artifactId>
+	       <version>2.4</version>
+	    </dependency>
+	    <dependency>
+	       <groupId>commons-collections</groupId>
+	       <artifactId>commons-collections</artifactId>
+	       <version>3.1</version>
+	    </dependency>
+	    <dependency>
+	       <groupId>commons-httpclient</groupId>
+	       <artifactId>commons-httpclient</artifactId>
+	       <version>3.1</version>
+	    </dependency>
+	    <dependency>
+	       <groupId>commons-codec</groupId>
+	       <artifactId>commons-codec</artifactId>
+	       <version>1.3</version>
+	    </dependency>
+	    <dependency>
+	       <groupId>org.apache.hadoop</groupId>
+	       <artifactId>hadoop-core</artifactId>
+	       <version>0.20.2</version>
+		      <exclusions>
+		        <exclusion>
+		          <groupId>hsqldb</groupId>
+		          <artifactId>hsqldb</artifactId>
+		        </exclusion>
+		        <exclusion>
+		          <groupId>net.sf.kosmosfs</groupId>
+		          <artifactId>kfs</artifactId>
+		        </exclusion>
+		        <exclusion>
+		          <groupId>net.java.dev.jets3t</groupId>
+		          <artifactId>jets3t</artifactId>
+		        </exclusion>
+		        <exclusion>
+		          <groupId>org.mortbay.jetty</groupId>
+		          <artifactId>jsp</artifactId>
+		        </exclusion>
+		        <exclusion>
+		          <groupId>org.eclipse.jdt</groupId>
+		          <artifactId>core</artifactId>
+		        </exclusion>
+		      </exclusions>
+	    </dependency>			
+	    <dependency>
+	       <groupId>com.ibm.icu</groupId>
+	       <artifactId>icu4j</artifactId>
+	       <version>4.0.1</version>
+	    </dependency>
+	    <dependency>
+	       <groupId>org.apache.lucene</groupId>
+	       <artifactId>lucene-misc</artifactId>
+	       <version>3.0.2</version>
+	    </dependency>
+	    <dependency>
+	       <groupId>org.apache.lucene</groupId>
+	       <artifactId>lucene-core</artifactId>
+	       <version>3.0.2</version>
+	    </dependency>		
+	    <dependency>
+	       <groupId>org.apache.tika</groupId>
+	       <artifactId>tika-core</artifactId>
+	       <version>0.7</version>
+	    </dependency>		
+	    <dependency>
+	       <groupId>org.apache.tika</groupId>
+	       <artifactId>tika-parsers</artifactId>
+	       <version>0.7</version>
+	       <exclusions>
+	         <exclusion>
+	           <groupId>org.sun.jdmk</groupId>
+	         </exclusion>
+	         <exclusion>
+	           <groupId>com.sun.jmx</groupId>
+	         </exclusion>
+	         <exclusion>
+	           <groupId>javax.jms</groupId>
+	         </exclusion>
+	       </exclusions>
+	    </dependency>	
+	    <dependency>
+	       <groupId>org.gora</groupId>
+	       <artifactId>gora-core</artifactId>
+	       <version>0.1</version>
+	       <exclusions>
+	         <exclusion>
+	           <groupId>org.sun.jdmk</groupId>
+	         </exclusion>
+	         <exclusion>
+	           <groupId>com.sun.jmx</groupId>
+	         </exclusion>
+	         <exclusion>
+	           <groupId>javax.jms</groupId>
+	         </exclusion>
+	       </exclusions>
+	    </dependency>
+	    <dependency>
+	       <groupId>log4j</groupId>
+	       <artifactId>log4j</artifactId>
+	       <version>1.2.15</version>
+	       <exclusions>
+	         <exclusion>
+	           <groupId>org.sun.jdmk</groupId>
+	         </exclusion>
+	         <exclusion>
+	           <groupId>com.sun.jmx</groupId>
+	         </exclusion>
+	         <exclusion>
+	           <groupId>javax.jms</groupId>
+	         </exclusion>
+	       </exclusions>
+	    </dependency>
+	    <dependency>
+	       <groupId>xerces</groupId>
+	       <artifactId>xmlParserAPIs</artifactId>
+	       <version>2.6.2</version>
+	    </dependency>
+	    <dependency>
+	       <groupId>xerces</groupId>
+	       <artifactId>xercesImpl</artifactId>
+	       <version>2.6.2</version>
+	    </dependency>			
+	    <dependency>
+	       <groupId>oro</groupId>
+	       <artifactId>oro</artifactId>
+	       <version>2.0.8</version>
+	    </dependency>			
+	    <dependency>
+	       <groupId>com.healthmarketscience.sqlbuilder</groupId>
+	       <artifactId>sqlbuilder</artifactId>
+	       <version>2.0.6</version>
+	    </dependency>			
+	    <dependency>
+	       <groupId>org.mortbay.jetty</groupId>
+	       <artifactId>jetty</artifactId>
+	       <version>6.1.22</version>
+	       <scope>test</scope>
+	    </dependency>
+	    <dependency>
+	       <groupId>junit</groupId>
+	       <artifactId>junit</artifactId>
+	       <version>3.8.1</version>
+	       <scope>test</scope>
+	    </dependency>
+	    <dependency>
+	       <groupId>org.apache.hadoop</groupId>
+	       <artifactId>hadoop-test</artifactId>
+	       <version>0.20.2</version>
+		      <exclusions>
+		        <exclusion>
+		          <groupId>hsqldb</groupId>
+		          <artifactId>hsqldb</artifactId>
+		        </exclusion>
+		        <exclusion>
+		          <groupId>net.sf.kosmosfs</groupId>
+		          <artifactId>kfs</artifactId>
+		        </exclusion>
+		        <exclusion>
+		          <groupId>net.java.dev.jets3t</groupId>
+		          <artifactId>jets3t</artifactId>
+		        </exclusion>
+		        <exclusion>
+		          <groupId>org.mortbay.jetty</groupId>
+		          <artifactId>jsp</artifactId>
+		        </exclusion>
+		        <exclusion>
+		          <groupId>org.eclipse.jdt</groupId>
+		          <artifactId>core</artifactId>
+		        </exclusion>
+		      </exclusions>
+	       <scope>test</scope>
+	    </dependency>
+	    <dependency>
+	       <groupId>org.mortbay.jetty</groupId>
+	       <artifactId>jetty</artifactId>
+	       <version>6.1.22</version>
+	       <scope>test</scope>
+	    </dependency>
+	    <dependency>
+	       <groupId>org.mortbay.jetty</groupId>
+	       <artifactId>jetty-util</artifactId>
+	       <version>6.1.22</version>
+	       <scope>test</scope>
+	    </dependency>
+	    <dependency>
+	       <groupId>org.mortbay.jetty</groupId>
+	       <artifactId>jetty-client</artifactId>
+	       <version>6.1.22</version>
+	    </dependency>
+	    <dependency>
+	       <groupId>org.hsqldb</groupId>
+	       <artifactId>hsqldb</artifactId>
+	       <version>2.0.0</version>
+	    </dependency>
+	    <dependency>
+	       <groupId>org.jdom</groupId>
+	       <artifactId>jdom</artifactId>
+	       <version>1.1</version>
+	    </dependency>
+		<dependency>
+			<groupId>org.gora</groupId>
+			<artifactId>gora-sql</artifactId>
+			<version>0.1</version>
+		      <exclusions>
+		        <exclusion>
+		          <groupId>com.sun.jdmk</groupId>
+		        </exclusion>
+		        <exclusion>
+		          <groupId>com.sun.jmx</groupId>
+		        </exclusion>
+		        <exclusion>
+		          <groupId>javax.jms</groupId>
+		        </exclusion>
+		      </exclusions>
+		</dependency>
+   </dependencies>
+</project>