Author: gates Date: Mon Nov 17 12:18:33 2008 New Revision: 718359 URL: http://svn.apache.org/viewvc?rev=718359&view=rev Log: PIG-535 Added rmf command to grunt, which is equivalent to rm -f in unix, that is, it does not error out if the indicated file/directory is not present to remove. Contributed by Ian Holsman.
Modified: hadoop/pig/branches/types/src/org/apache/pig/tools/grunt/GruntParser.java hadoop/pig/branches/types/src/org/apache/pig/tools/pigscript/parser/PigScriptParser.jj Modified: hadoop/pig/branches/types/src/org/apache/pig/tools/grunt/GruntParser.java URL: http://svn.apache.org/viewvc/hadoop/pig/branches/types/src/org/apache/pig/tools/grunt/GruntParser.java?rev=718359&r1=718358&r2=718359&view=diff ============================================================================== --- hadoop/pig/branches/types/src/org/apache/pig/tools/grunt/GruntParser.java (original) +++ hadoop/pig/branches/types/src/org/apache/pig/tools/grunt/GruntParser.java Mon Nov 17 12:18:33 2008 @@ -439,15 +439,19 @@ mPigServer.registerQuery(cmd, start); } - protected void processRemove(String path) throws IOException + protected void processRemove(String path, String options ) throws IOException { ElementDescriptor dfsPath = mDfs.asElement(path); if (!dfsPath.exists()) { - throw new IOException("File or directory " + path + " does not exist."); + if (options == null || !options.equalsIgnoreCase("force")) { + throw new IOException("File or directory " + path + " does not exist."); + } } + else { - dfsPath.delete(); + dfsPath.delete(); + } } private PigServer mPigServer; Modified: hadoop/pig/branches/types/src/org/apache/pig/tools/pigscript/parser/PigScriptParser.jj URL: http://svn.apache.org/viewvc/hadoop/pig/branches/types/src/org/apache/pig/tools/pigscript/parser/PigScriptParser.jj?rev=718359&r1=718358&r2=718359&view=diff ============================================================================== --- hadoop/pig/branches/types/src/org/apache/pig/tools/pigscript/parser/PigScriptParser.jj (original) +++ hadoop/pig/branches/types/src/org/apache/pig/tools/pigscript/parser/PigScriptParser.jj Mon Nov 17 12:18:33 2008 @@ -94,7 +94,7 @@ abstract protected void processPig(String cmd) throws IOException; - abstract protected void processRemove(String path) throws IOException; + abstract protected void processRemove(String path, String opt) throws IOException; abstract protected void processIllustrate(String alias) throws IOException; @@ -139,6 +139,7 @@ TOKEN: {<QUIT: "quit">} TOKEN: {<REGISTER: "register">} TOKEN: {<REMOVE: "rm">} +TOKEN: {<REMOVEFORCE: "rmf">} TOKEN: {<SET: "set">} TOKEN: {<ILLUSTRATE: "illustrate">} @@ -435,8 +436,14 @@ <REMOVE> ( t1 = GetPath() - {processRemove(t1.image);} - )+ + {processRemove(t1.image, null);} + )+ + | + <REMOVEFORCE> + ( + t1 = GetPath() + {processRemove(t1.image, "force");} + )+ | <SCRIPT_DONE> {quit();}