Author: cutting Date: Tue Feb 28 11:25:12 2006 New Revision: 381751 URL: http://svn.apache.org/viewcvs?rev=381751&view=rev Log: Adding DOAP for Nutch. Contributed by Chris Mattmann.
Added: lucene/nutch/trunk/site/doap.rdf Modified: lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Crawl.java lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDb.java lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDbReader.java lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Generator.java lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Injector.java lucene/nutch/trunk/src/java/org/apache/nutch/crawl/LinkDbReader.java lucene/nutch/trunk/src/java/org/apache/nutch/fetcher/Fetcher.java lucene/nutch/trunk/src/java/org/apache/nutch/indexer/DeleteDuplicates.java lucene/nutch/trunk/src/java/org/apache/nutch/indexer/IndexMerger.java lucene/nutch/trunk/src/java/org/apache/nutch/indexer/Indexer.java lucene/nutch/trunk/src/java/org/apache/nutch/parse/ParseSegment.java lucene/nutch/trunk/src/java/org/apache/nutch/plugin/PluginRepository.java lucene/nutch/trunk/src/java/org/apache/nutch/searcher/DistributedSearch.java lucene/nutch/trunk/src/java/org/apache/nutch/segment/SegmentReader.java Added: lucene/nutch/trunk/site/doap.rdf URL: http://svn.apache.org/viewcvs/lucene/nutch/trunk/site/doap.rdf?rev=381751&view=auto ============================================================================== --- lucene/nutch/trunk/site/doap.rdf (added) +++ lucene/nutch/trunk/site/doap.rdf Tue Feb 28 11:25:12 2006 @@ -0,0 +1,47 @@ +<?xml version="1.0"?> +<?xml-stylesheet type="text/xsl"?> +<rdf:RDF xml:lang="en" + xmlns="http://usefulinc.com/ns/doap#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:asfext="http://projects.apache.org/ns/asfext#" + xmlns:foaf="http://xmlns.com/foaf/0.1/"> +<!-- + ======================================================================= + + Copyright (c) 2006 The Apache Software Foundation. + All rights reserved. + + ======================================================================= +--> + <Project rdf:about="http://lucene.apache.org/nutch/"> + <created>2006-02-28</created> + <license rdf:resource="http://usefulinc.com/doap/licenses/asl20" /> + <name>Apache Nutch</name> + <homepage rdf:resource="http://lucene.apache.org/nutch/" /> + <asfext:pmc rdf:resource="http://lucene.apache.org" /> + <shortdesc>Nutch is the open-source search engine.</shortdesc> + <description>Nutch is open source web-search software. It builds + on Lucene Java and Hadoop, adding web-specifics, such as a + crawler, a link-graph database, parsers for HTML and other + document formats, etc. + </description> + <bug-database rdf:resource="http://issues.apache.org/jira/browse/NUTCH" /> + <mailing-list rdf:resource="http://lucene.apache.org/nutch/mailing_lists.html" /> + <download-page rdf:resource="http://www.apache.org/dyn/closer.cgi/lucene/nutch/" /> + <programming-language>Java</programming-language> + <category rdf:resource="http://projects.apache.org/category/web-framework" /> + <release> + <Version> + <name>0.7</name> + <created>2005-08-17</created> + <revision>0.7</revision> + </Version> + </release> + <repository> + <SVNRepository> + <location rdf:resource="http://svn.apache.org/repos/asf/lucene/nutch/"/> + <browse rdf:resource="http://svn.apache.org/viewcvs.cgi/lucene/nutch/"/> + </SVNRepository> + </repository> + </Project> +</rdf:RDF> Modified: lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Crawl.java URL: http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Crawl.java?rev=381751&r1=381750&r2=381751&view=diff ============================================================================== --- lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Crawl.java (original) +++ lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Crawl.java Tue Feb 28 11:25:12 2006 @@ -44,11 +44,11 @@ /* Perform complete crawling and indexing given a set of root urls. */ - public static void main(String args[]) throws Exception { + public static boolean doMain(String args[]) throws Exception { if (args.length < 1) { System.out.println ("Usage: Crawl <urlDir> [-dir d] [-threads n] [-depth i] [-topN N]"); - return; + return false; } Configuration conf = NutchConfiguration.create(); @@ -122,5 +122,22 @@ new IndexMerger(fs, fs.listFiles(indexes), index, tmpDir, job).merge(); LOG.info("crawl finished: " + dir); + + return true; + } + + /** + * main() wrapper that returns proper exit status + */ + public static void main(String[] args) { + Runtime rt = Runtime.getRuntime(); + try { + boolean status = doMain(args); + rt.exit(status ? 0 : 1); + } + catch (Exception e) { + LOG.log(Level.SEVERE, "error, caught Exception in main()", e); + rt.exit(1); + } } } Modified: lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDb.java URL: http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDb.java?rev=381751&r1=381750&r2=381751&view=diff ============================================================================== --- lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDb.java (original) +++ lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDb.java Tue Feb 28 11:25:12 2006 @@ -90,17 +90,31 @@ fs.delete(old); } - public static void main(String[] args) throws Exception { + public static boolean doMain(String[] args) throws Exception { CrawlDb crawlDb = new CrawlDb(NutchConfiguration.create()); if (args.length < 2) { System.err.println("Usage: <crawldb> <segment>"); - return; + return false; } crawlDb.update(new File(args[0]), new File(args[1])); - } - + return true; + } + /** + * main() wrapper that returns proper exit status + */ + public static void main(String[] args) { + Runtime rt = Runtime.getRuntime(); + try { + boolean status = doMain(args); + rt.exit(status ? 0 : 1); + } + catch (Exception e) { + LOG.log(Level.SEVERE, "error, caught Exception in main()", e); + rt.exit(1); + } + } } Modified: lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDbReader.java URL: http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDbReader.java?rev=381751&r1=381750&r2=381751&view=diff ============================================================================== --- lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDbReader.java (original) +++ lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDbReader.java Tue Feb 28 11:25:12 2006 @@ -20,7 +20,7 @@ import java.io.IOException; import java.util.Iterator; import java.util.TreeMap; -import java.util.logging.Logger; +import java.util.logging.*; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.io.LongWritable; @@ -241,7 +241,7 @@ JobClient.runJob(job); } - public static void main(String[] args) throws IOException { + public static boolean doMain(String[] args) throws IOException { CrawlDbReader dbr = new CrawlDbReader(); if (args.length < 1) { @@ -250,7 +250,7 @@ System.err.println("\t-stats\tprint overall statistics to System.out"); System.err.println("\t-dump <out_dir>\tdump the whole db to a text file in <out_dir>"); System.err.println("\t-url <url>\tprint information on <url> to System.out"); - return; + return false; } String param = null; String crawlDb = args[0]; @@ -266,8 +266,24 @@ dbr.readUrl(crawlDb, param, conf); } else { System.err.println("\nError: wrong argument " + args[i]); + return false; } } - return; + return true; + } + + /** + * main() wrapper that returns proper exit status + */ + public static void main(String[] args) { + Runtime rt = Runtime.getRuntime(); + try { + boolean status = doMain(args); + rt.exit(status ? 0 : -1); + } + catch (Exception e) { + LOG.log(Level.SEVERE, "error, caught Exception in main()", e); + rt.exit(-1); + } } } Modified: lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Generator.java URL: http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Generator.java?rev=381751&r1=381750&r2=381751&view=diff ============================================================================== --- lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Generator.java (original) +++ lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Generator.java Tue Feb 28 11:25:12 2006 @@ -237,10 +237,10 @@ /** * Generate a fetchlist from the pagedb and linkdb */ - public static void main(String args[]) throws Exception { + public static boolean doMain(String args[]) throws Exception { if (args.length < 2) { System.out.println("Usage: Generator <crawldb> <segments_dir> [-topN N] [-numFetchers numFetchers] [-adddays numDays]"); - return; + return false; } File dbDir = new File(args[0]); @@ -266,5 +266,22 @@ LOG.info("topN: " + topN); Generator gen = new Generator(NutchConfiguration.create()); gen.generate(dbDir, segmentsDir, numFetchers, topN, curTime); + + return true; + } + + /** + * main() wrapper that returns proper exit status + */ + public static void main(String[] args) { + Runtime rt = Runtime.getRuntime(); + try { + boolean status = doMain(args); + rt.exit(status ? 0 : 1); + } + catch (Exception e) { + LOG.log(Level.SEVERE, "error, caught Exception in main()", e); + rt.exit(1); + } } } Modified: lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Injector.java URL: http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Injector.java?rev=381751&r1=381750&r2=381751&view=diff ============================================================================== --- lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Injector.java (original) +++ lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Injector.java Tue Feb 28 11:25:12 2006 @@ -127,15 +127,31 @@ } - public static void main(String[] args) throws Exception { + public static boolean doMain(String[] args) throws Exception { Injector injector = new Injector(NutchConfiguration.create()); if (args.length < 2) { System.err.println("Usage: Injector <crawldb> <url_dir>"); - return; + return false; } injector.inject(new File(args[0]), new File(args[1])); + + return true; } + /** + * main() wrapper that returns proper exit status + */ + public static void main(String[] args) { + Runtime rt = Runtime.getRuntime(); + try { + boolean status = doMain(args); + rt.exit(status ? 0 : 1); + } + catch (Exception e) { + LOG.log(Level.SEVERE, "error, caught Exception in main()", e); + rt.exit(1); + } + } } Modified: lucene/nutch/trunk/src/java/org/apache/nutch/crawl/LinkDbReader.java URL: http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/crawl/LinkDbReader.java?rev=381751&r1=381750&r2=381751&view=diff ============================================================================== --- lucene/nutch/trunk/src/java/org/apache/nutch/crawl/LinkDbReader.java (original) +++ lucene/nutch/trunk/src/java/org/apache/nutch/crawl/LinkDbReader.java Tue Feb 28 11:25:12 2006 @@ -29,7 +29,7 @@ import org.apache.nutch.util.NutchConfiguration; import org.apache.nutch.util.NutchJob; -import java.util.logging.Logger; +import java.util.logging.*; /** . */ public class LinkDbReader implements Closeable { @@ -96,12 +96,12 @@ JobClient.runJob(job); } - public static void main(String[] args) throws Exception { + public static boolean doMain(String[] args) throws Exception { if (args.length < 2) { System.err.println("LinkDbReader <linkdb> {-dump <out_dir> | -url <url>)"); System.err.println("\t-dump <out_dir>\tdump whole link db to a text file in <out_dir>"); System.err.println("\t-url <url>\tprint information about <url> to System.out"); - return; + return false; } Configuration conf = NutchConfiguration.create(); if (args[1].equals("-dump")) { @@ -118,7 +118,24 @@ } } else { System.err.println("Error: wrong argument " + args[1]); - return; + return false; + } + + return true; + } + + /** + * main() wrapper that returns proper exit status + */ + public static void main(String[] args) { + Runtime rt = Runtime.getRuntime(); + try { + boolean status = doMain(args); + rt.exit(status ? 0 : 1); + } + catch (Exception e) { + LOG.log(Level.SEVERE, "error, caught Exception in main()", e); + rt.exit(1); } } } Modified: lucene/nutch/trunk/src/java/org/apache/nutch/fetcher/Fetcher.java URL: http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/fetcher/Fetcher.java?rev=381751&r1=381750&r2=381751&view=diff ============================================================================== --- lucene/nutch/trunk/src/java/org/apache/nutch/fetcher/Fetcher.java (original) +++ lucene/nutch/trunk/src/java/org/apache/nutch/fetcher/Fetcher.java Tue Feb 28 11:25:12 2006 @@ -369,13 +369,13 @@ /** Run the fetcher. */ - public static void main(String[] args) throws Exception { + public static boolean doMain(String[] args) throws Exception { String usage = "Usage: Fetcher <segment> [-threads n] [-noParsing]"; if (args.length < 1) { System.err.println(usage); - System.exit(-1); + return false; } File segment = new File(args[0]); @@ -399,5 +399,21 @@ fetcher.fetch(segment, threads, parsing); // run the Fetcher + return true; + } + + /** + * main() wrapper that returns proper exit status + */ + public static void main(String[] args) { + Runtime rt = Runtime.getRuntime(); + try { + boolean status = doMain(args); + rt.exit(status ? 0 : 1); + } + catch (Exception e) { + LOG.log(Level.SEVERE, "error, caught Exception in main()", e); + rt.exit(1); + } } } Modified: lucene/nutch/trunk/src/java/org/apache/nutch/indexer/DeleteDuplicates.java URL: http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/indexer/DeleteDuplicates.java?rev=381751&r1=381750&r2=381751&view=diff ============================================================================== --- lucene/nutch/trunk/src/java/org/apache/nutch/indexer/DeleteDuplicates.java (original) +++ lucene/nutch/trunk/src/java/org/apache/nutch/indexer/DeleteDuplicates.java Tue Feb 28 11:25:12 2006 @@ -342,12 +342,12 @@ LOG.info("Dedup: done"); } - public static void main(String[] args) throws Exception { + public static boolean doMain(String[] args) throws Exception { DeleteDuplicates dedup = new DeleteDuplicates(NutchConfiguration.create()); if (args.length < 1) { System.err.println("Usage: <indexes> ..."); - return; + return false; } File[] indexes = new File[args.length]; @@ -356,6 +356,22 @@ } dedup.dedup(indexes); + + return true; } + /** + * main() wrapper that returns proper exit status + */ + public static void main(String[] args) { + Runtime rt = Runtime.getRuntime(); + try { + boolean status = doMain(args); + rt.exit(status ? 0 : 1); + } + catch (Exception e) { + LOG.log(Level.SEVERE, "error, caught Exception in main()", e); + rt.exit(1); + } + } } Modified: lucene/nutch/trunk/src/java/org/apache/nutch/indexer/IndexMerger.java URL: http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/indexer/IndexMerger.java?rev=381751&r1=381750&r2=381751&view=diff ============================================================================== --- lucene/nutch/trunk/src/java/org/apache/nutch/indexer/IndexMerger.java (original) +++ lucene/nutch/trunk/src/java/org/apache/nutch/indexer/IndexMerger.java Tue Feb 28 11:25:12 2006 @@ -105,11 +105,11 @@ /** * Create an index for the input files in the named directory. */ - public static void main(String[] args) throws Exception { + public static boolean doMain(String[] args) throws Exception { String usage = "IndexMerger [-workingdir <workingdir>] outputIndex indexesDir..."; if (args.length < 2) { System.err.println("Usage: " + usage); - return; + return false; } // @@ -148,5 +148,22 @@ merger.merge(); LOG.info("done merging"); FileUtil.fullyDelete(workDir, conf); + + return true; + } + + /** + * main() wrapper that returns proper exit status + */ + public static void main(String[] args) { + Runtime rt = Runtime.getRuntime(); + try { + boolean status = doMain(args); + rt.exit(status ? 0 : 1); + } + catch (Exception e) { + LOG.log(Level.SEVERE, "error, caught Exception in main()", e); + rt.exit(1); + } } } Modified: lucene/nutch/trunk/src/java/org/apache/nutch/indexer/Indexer.java URL: http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/indexer/Indexer.java?rev=381751&r1=381750&r2=381751&view=diff ============================================================================== --- lucene/nutch/trunk/src/java/org/apache/nutch/indexer/Indexer.java (original) +++ lucene/nutch/trunk/src/java/org/apache/nutch/indexer/Indexer.java Tue Feb 28 11:25:12 2006 @@ -269,12 +269,12 @@ LOG.info("Indexer: done"); } - public static void main(String[] args) throws Exception { + public static boolean doMain(String[] args) throws Exception { Indexer indexer = new Indexer(NutchConfiguration.create()); if (args.length < 4) { System.err.println("Usage: <index> <crawldb> <linkdb> <segment> ..."); - return; + return false; } File[] segments = new File[args.length-3]; @@ -284,6 +284,22 @@ indexer.index(new File(args[0]), new File(args[1]), new File(args[2]), segments); + + return true; } + /** + * main() wrapper that returns proper exit status + */ + public static void main(String[] args) { + Runtime rt = Runtime.getRuntime(); + try { + boolean status = doMain(args); + rt.exit(status ? 0 : 1); + } + catch (Exception e) { + LOG.log(Level.SEVERE, "error, caught Exception in main()", e); + rt.exit(1); + } + } } Modified: lucene/nutch/trunk/src/java/org/apache/nutch/parse/ParseSegment.java URL: http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/parse/ParseSegment.java?rev=381751&r1=381750&r2=381751&view=diff ============================================================================== --- lucene/nutch/trunk/src/java/org/apache/nutch/parse/ParseSegment.java (original) +++ lucene/nutch/trunk/src/java/org/apache/nutch/parse/ParseSegment.java Tue Feb 28 11:25:12 2006 @@ -104,19 +104,36 @@ } - public static void main(String[] args) throws Exception { + public static boolean doMain(String[] args) throws Exception { File segment; String usage = "Usage: ParseSegment segment"; if (args.length == 0) { System.err.println(usage); - System.exit(-1); + return false; } segment = new File(args[0]); ParseSegment parseSegment = new ParseSegment(NutchConfiguration.create()); parseSegment.parse(segment); + + return true; + } + + /** + * main() wrapper that returns proper exit status + */ + public static void main(String[] args) { + Runtime rt = Runtime.getRuntime(); + try { + boolean status = doMain(args); + rt.exit(status ? 0 : 1); + } + catch (Exception e) { + LOG.log(Level.SEVERE, "error, caught Exception in main()", e); + rt.exit(1); + } } } Modified: lucene/nutch/trunk/src/java/org/apache/nutch/plugin/PluginRepository.java URL: http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/plugin/PluginRepository.java?rev=381751&r1=381750&r2=381751&view=diff ============================================================================== --- lucene/nutch/trunk/src/java/org/apache/nutch/plugin/PluginRepository.java (original) +++ lucene/nutch/trunk/src/java/org/apache/nutch/plugin/PluginRepository.java Tue Feb 28 11:25:12 2006 @@ -26,7 +26,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.logging.Logger; +import java.util.logging.*; import java.util.regex.Pattern; // Nutch imports @@ -400,10 +400,10 @@ * selected class. * @throws Exception */ - public static void main(String[] args) throws Exception { + public static boolean doMain(String[] args) throws Exception { if (args.length < 2) { System.err.println("Usage: PluginRepository pluginId className [arg1 arg2 ...]"); - return; + return false; } Configuration conf = NutchConfiguration.create(); PluginRepository repo = new PluginRepository(conf); @@ -411,7 +411,7 @@ PluginDescriptor d = repo.getPluginDescriptor(args[0]); if (d == null) { System.err.println("Plugin '" + args[0] + "' not present or inactive."); - return; + return false; } ClassLoader cl = d.getClassLoader(); // args[1] - class name @@ -420,17 +420,34 @@ clazz = Class.forName(args[1], true, cl); } catch (Exception e) { System.err.println("Could not load the class '" + args[1] + ": " + e.getMessage()); - return; + return false; } Method m = null; try { m = clazz.getMethod("main", new Class[]{args.getClass()}); } catch (Exception e) { System.err.println("Could not find the 'main(String[])' method in class " + args[1] + ": " + e.getMessage()); - return; + return false; } String[] subargs = new String[args.length - 2]; System.arraycopy(args, 2, subargs, 0, subargs.length); m.invoke(null, new Object[]{subargs}); + + return true; + } + + /** + * main() wrapper that returns proper exit status + */ + public static void main(String[] args) { + Runtime rt = Runtime.getRuntime(); + try { + boolean status = doMain(args); + rt.exit(status ? 0 : 1); + } + catch (Exception e) { + LOG.log(Level.SEVERE, "error, caught Exception in main()", e); + rt.exit(1); } + } } Modified: lucene/nutch/trunk/src/java/org/apache/nutch/searcher/DistributedSearch.java URL: http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/searcher/DistributedSearch.java?rev=381751&r1=381750&r2=381751&view=diff ============================================================================== --- lucene/nutch/trunk/src/java/org/apache/nutch/searcher/DistributedSearch.java (original) +++ lucene/nutch/trunk/src/java/org/apache/nutch/searcher/DistributedSearch.java Tue Feb 28 11:25:12 2006 @@ -19,7 +19,7 @@ import java.net.InetSocketAddress; import java.io.*; import java.util.*; -import java.util.logging.Logger; +import java.util.logging.*; import java.lang.reflect.Method; import org.apache.nutch.parse.ParseData; @@ -53,12 +53,12 @@ private Server() {} /** Runs a search server. */ - public static void main(String[] args) throws Exception { + public static boolean doMain(String[] args) throws Exception { String usage = "DistributedSearch$Server <port> <index dir>"; if (args.length == 0 || args.length > 2) { System.err.println(usage); - System.exit(-1); + return false; } int port = Integer.parseInt(args[0]); @@ -70,8 +70,24 @@ org.apache.hadoop.ipc.Server server = RPC.getServer(bean, port, 10, true, conf); server.start(); server.join(); + + return true; } + /** + * main() wrapper that returns proper exit status + */ + public static void main(String[] args) { + Runtime rt = Runtime.getRuntime(); + try { + boolean status = doMain(args); + rt.exit(status ? 0 : 1); + } + catch (Exception e) { + LOG.log(Level.SEVERE, "error, caught Exception in main()", e); + rt.exit(1); + } + } } /** The search client. */ @@ -311,12 +327,12 @@ return getRemote(hit).getFetchDate(hit); } - public static void main(String[] args) throws Exception { + public static boolean doMain(String[] args) throws Exception { String usage = "DistributedSearch$Client query <host> <port> ..."; if (args.length == 0) { System.err.println(usage); - System.exit(-1); + return false; } Query query = Query.parse(args[0], NutchConfiguration.create()); @@ -336,6 +352,7 @@ System.out.println(" "+i+" "+ client.getDetails(hits.getHit(i))); } + return true; } public void run() { @@ -361,6 +378,21 @@ public void close() { running = false; interrupt(); + } + + /** + * main() wrapper that returns proper exit status + */ + public static void main(String[] args) { + Runtime rt = Runtime.getRuntime(); + try { + boolean status = doMain(args); + rt.exit(status ? 0 : 1); + } + catch (Exception e) { + LOG.log(Level.SEVERE, "error, caught Exception in main()", e); + rt.exit(1); + } } } } Modified: lucene/nutch/trunk/src/java/org/apache/nutch/segment/SegmentReader.java URL: http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/segment/SegmentReader.java?rev=381751&r1=381750&r2=381751&view=diff ============================================================================== --- lucene/nutch/trunk/src/java/org/apache/nutch/segment/SegmentReader.java (original) +++ lucene/nutch/trunk/src/java/org/apache/nutch/segment/SegmentReader.java Tue Feb 28 11:25:12 2006 @@ -25,7 +25,7 @@ import java.io.PrintStream; import java.io.PrintWriter; import java.util.Iterator; -import java.util.logging.Logger; +import java.util.logging.*; import org.apache.nutch.crawl.CrawlDatum; import org.apache.hadoop.fs.FileSystem; @@ -221,7 +221,7 @@ } } - public static void main(String[] args) throws Exception { + public static boolean doMain(String[] args) throws Exception { Configuration conf = NutchConfiguration.create(); SegmentReader segmentReader = new SegmentReader(conf); @@ -229,8 +229,25 @@ if (args.length == 0) { System.err.println(usage); - System.exit(-1); + return false; } segmentReader.reader(new File(args[0])); + + return true; + } + + /** + * main() wrapper that returns proper exit status + */ + public static void main(String[] args) { + Runtime rt = Runtime.getRuntime(); + try { + boolean status = doMain(args); + rt.exit(status ? 0 : 1); + } + catch (Exception e) { + LOG.log(Level.SEVERE, "error, caught Exception in main()", e); + rt.exit(1); + } } } ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ Nutch-cvs mailing list Nutch-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nutch-cvs