diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml index 4c618a142a..35166b1b1d 100644 --- a/hadoop-project/pom.xml +++ b/hadoop-project/pom.xml @@ -375,11 +375,6 @@ hadoop-extras ${project.version} - - org.apache.hadoop - hadoop-ant - ${project.version} - org.apache.hadoop diff --git a/hadoop-tools/hadoop-ant/pom.xml b/hadoop-tools/hadoop-ant/pom.xml deleted file mode 100644 index e0b038ef8f..0000000000 --- a/hadoop-tools/hadoop-ant/pom.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - 4.0.0 - - org.apache.hadoop - hadoop-project - 3.0.0-alpha1-SNAPSHOT - ../../hadoop-project - - org.apache.hadoop - hadoop-ant - 3.0.0-alpha1-SNAPSHOT - Apache Hadoop Ant Tasks - Apache Hadoop Ant Tasks - jar - - - - org.apache.ant - ant - provided - - - org.apache.hadoop - hadoop-annotations - provided - - - org.apache.hadoop - hadoop-common - provided - - - org.apache.hadoop - hadoop-hdfs-client - provided - - - - diff --git a/hadoop-tools/hadoop-ant/src/main/java/org/apache/hadoop/ant/DfsTask.java b/hadoop-tools/hadoop-ant/src/main/java/org/apache/hadoop/ant/DfsTask.java deleted file mode 100644 index 36119f5aac..0000000000 --- a/hadoop-tools/hadoop-ant/src/main/java/org/apache/hadoop/ant/DfsTask.java +++ /dev/null @@ -1,220 +0,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. - */ - -package org.apache.hadoop.ant; - -import java.io.ByteArrayOutputStream; -import java.io.OutputStream; -import java.io.PrintStream; -import java.io.UnsupportedEncodingException; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.LinkedList; - -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.fs.FsShell; -import org.apache.tools.ant.AntClassLoader; -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.Task; -import org.apache.hadoop.util.ToolRunner; -import org.apache.hadoop.classification.InterfaceAudience; - -/** - * {@link org.apache.hadoop.fs.FsShell FsShell} wrapper for ant Task. - */ -@InterfaceAudience.Private -public class DfsTask extends Task { - - static { - // adds the default resources - Configuration.addDefaultResource("hdfs-default.xml"); - Configuration.addDefaultResource("hdfs-site.xml"); - } - - /** - * Default sink for {@link java.lang.System#out} - * and {@link java.lang.System#err}. - */ - private static final OutputStream nullOut = new OutputStream() { - public void write(int b) { /* ignore */ } - public String toString() { return ""; } - }; - private static final FsShell shell = new FsShell(); - - protected AntClassLoader confloader; - protected OutputStream out = nullOut; - protected OutputStream err = nullOut; - - // set by ant - protected String cmd; - protected final LinkedList argv = new LinkedList(); - protected String outprop; - protected String errprop; - protected boolean failonerror = true; - - // saved ant context - private PrintStream antOut; - private PrintStream antErr; - - /** - * Sets the command to run in {@link org.apache.hadoop.fs.FsShell FsShell}. - * @param cmd A valid command to FsShell, sans "-". - */ - public void setCmd(String cmd) { - this.cmd = "-" + cmd.trim(); - } - - /** - * Sets the argument list from a String of comma-separated values. - * @param args A String of comma-separated arguments to FsShell. - */ - public void setArgs(String args) { - for (String s : args.trim().split("\\s*,\\s*")) - argv.add(s); - } - - /** - * Sets the property into which System.out will be written. - * @param outprop The name of the property into which System.out is written. - * If the property is defined before this task is executed, it will not be updated. - */ - public void setOut(String outprop) { - this.outprop = outprop; - out = new ByteArrayOutputStream(); - if (outprop.equals(errprop)) - err = out; - } - - /** - * Sets the property into which System.err will be written. If this property - * has the same name as the property for System.out, the two will be interlaced. - * @param errprop The name of the property into which System.err is written. - * If the property is defined before this task is executed, it will not be updated. - */ - public void setErr(String errprop) { - this.errprop = errprop; - err = (errprop.equals(outprop)) ? err = out : new ByteArrayOutputStream(); - } - - /** - * Sets the path for the parent-last ClassLoader, intended to be used for - * {@link org.apache.hadoop.conf.Configuration Configuration}. - * @param confpath The path to search for resources, classes, etc. before - * parent ClassLoaders. - */ - public void setConf(String confpath) { - confloader = AccessController.doPrivileged( - new PrivilegedAction() { - @Override - public AntClassLoader run() { - return new AntClassLoader(getClass().getClassLoader(), false); - } - }); - confloader.setProject(getProject()); - if (null != confpath) - confloader.addPathElement(confpath); - } - - /** - * Sets a property controlling whether or not a - * {@link org.apache.tools.ant.BuildException BuildException} will be thrown - * if the command returns a value less than zero or throws an exception. - * @param failonerror If true, throw a BuildException on error. - */ - public void setFailonerror(boolean failonerror) { - this.failonerror = failonerror; - } - - /** - * Save the current values of System.out, System.err and configure output - * streams for FsShell. - */ - protected void pushContext() { - antOut = System.out; - antErr = System.err; - try { - System.setOut(new PrintStream(out, false, "UTF-8")); - System.setErr(out == err ? - System.out : new PrintStream(err, false, "UTF-8")); - } catch (UnsupportedEncodingException ignored) { - } - } - - /** - * Create the appropriate output properties with their respective output, - * restore System.out, System.err and release any resources from created - * ClassLoaders to aid garbage collection. - */ - protected void popContext() { - // write output to property, if applicable - if (outprop != null && !System.out.checkError()) - getProject().setNewProperty(outprop, out.toString()); - if (out != err && errprop != null && !System.err.checkError()) - getProject().setNewProperty(errprop, err.toString()); - - System.setErr(antErr); - System.setOut(antOut); - confloader.cleanup(); - confloader.setParent(null); - } - - // in case DfsTask is overridden - protected int postCmd(int exit_code) { - if ("-test".equals(cmd) && exit_code != 0) - outprop = null; - return exit_code; - } - - /** - * Invoke {@link org.apache.hadoop.fs.FsShell#main} after a - * few cursory checks of the configuration. - */ - public void execute() throws BuildException { - if (null == cmd) - throw new BuildException("Missing command (cmd) argument"); - argv.add(0, cmd); - - if (null == confloader) { - setConf(getProject().getProperty("hadoop.conf.dir")); - } - - int exit_code = 0; - try { - pushContext(); - - Configuration conf = new Configuration(); - conf.setClassLoader(confloader); - exit_code = ToolRunner.run(conf, shell, - argv.toArray(new String[argv.size()])); - exit_code = postCmd(exit_code); - - if (0 > exit_code) { - StringBuilder msg = new StringBuilder(); - for (String s : argv) - msg.append(s + " "); - msg.append("failed: " + exit_code); - throw new Exception(msg.toString()); - } - } catch (Exception e) { - if (failonerror) - throw new BuildException(e); - } finally { - popContext(); - } - } -} diff --git a/hadoop-tools/hadoop-ant/src/main/java/org/apache/hadoop/ant/condition/DfsBaseConditional.java b/hadoop-tools/hadoop-ant/src/main/java/org/apache/hadoop/ant/condition/DfsBaseConditional.java deleted file mode 100644 index 33cf52b1c0..0000000000 --- a/hadoop-tools/hadoop-ant/src/main/java/org/apache/hadoop/ant/condition/DfsBaseConditional.java +++ /dev/null @@ -1,68 +0,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. - */ - -package org.apache.hadoop.ant.condition; - -import org.apache.tools.ant.taskdefs.condition.Condition; - -/** - * This wrapper around {@link org.apache.hadoop.ant.DfsTask} implements the - * Ant >1.5 - * {@link org.apache.tools.ant.taskdefs.condition.Condition Condition} - * interface for HDFS tests. So one can test conditions like this: - * {@code - * - * - * - * - * - * - * - * } - * This will define the property precond if fileA exists and fileB has zero - * length. - */ -public abstract class DfsBaseConditional extends org.apache.hadoop.ant.DfsTask - implements Condition { - - protected boolean result; - String file; - - private void initArgs() { - setCmd("test"); - setArgs("-" + getFlag() + "," + file); - } - - public void setFile(String file) { - this.file = file; - } - - protected abstract char getFlag(); - - protected int postCmd(int exit_code) { - exit_code = super.postCmd(exit_code); - result = exit_code == 0; - return exit_code; - } - - public boolean eval() { - initArgs(); - execute(); - return result; - } -} diff --git a/hadoop-tools/hadoop-ant/src/main/java/org/apache/hadoop/ant/condition/DfsExists.java b/hadoop-tools/hadoop-ant/src/main/java/org/apache/hadoop/ant/condition/DfsExists.java deleted file mode 100644 index 95e3868795..0000000000 --- a/hadoop-tools/hadoop-ant/src/main/java/org/apache/hadoop/ant/condition/DfsExists.java +++ /dev/null @@ -1,24 +0,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. - */ - -package org.apache.hadoop.ant.condition; - -public class DfsExists extends DfsBaseConditional { - protected static final char flag = 'e'; - protected char getFlag() { return flag; } -} diff --git a/hadoop-tools/hadoop-ant/src/main/java/org/apache/hadoop/ant/condition/DfsIsDir.java b/hadoop-tools/hadoop-ant/src/main/java/org/apache/hadoop/ant/condition/DfsIsDir.java deleted file mode 100644 index b889615896..0000000000 --- a/hadoop-tools/hadoop-ant/src/main/java/org/apache/hadoop/ant/condition/DfsIsDir.java +++ /dev/null @@ -1,24 +0,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. - */ - -package org.apache.hadoop.ant.condition; - -public class DfsIsDir extends DfsBaseConditional { - protected static final char flag = 'd'; - protected char getFlag() { return flag; } -} diff --git a/hadoop-tools/hadoop-ant/src/main/java/org/apache/hadoop/ant/condition/DfsZeroLen.java b/hadoop-tools/hadoop-ant/src/main/java/org/apache/hadoop/ant/condition/DfsZeroLen.java deleted file mode 100644 index 70b4fbf223..0000000000 --- a/hadoop-tools/hadoop-ant/src/main/java/org/apache/hadoop/ant/condition/DfsZeroLen.java +++ /dev/null @@ -1,24 +0,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. - */ - -package org.apache.hadoop.ant.condition; - -public class DfsZeroLen extends DfsBaseConditional { - protected static final char flag = 'z'; - protected char getFlag() { return flag; } -} diff --git a/hadoop-tools/hadoop-ant/src/main/resources/org/apache/hadoop/ant/antlib.xml b/hadoop-tools/hadoop-ant/src/main/resources/org/apache/hadoop/ant/antlib.xml deleted file mode 100644 index 968b8994ed..0000000000 --- a/hadoop-tools/hadoop-ant/src/main/resources/org/apache/hadoop/ant/antlib.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - diff --git a/hadoop-tools/hadoop-tools-dist/pom.xml b/hadoop-tools/hadoop-tools-dist/pom.xml index ef469fa47c..e1fbef11fe 100644 --- a/hadoop-tools/hadoop-tools-dist/pom.xml +++ b/hadoop-tools/hadoop-tools-dist/pom.xml @@ -105,12 +105,6 @@ hadoop-sls compile - - org.apache.hadoop - hadoop-ant - ${project.version} - compile - diff --git a/hadoop-tools/pom.xml b/hadoop-tools/pom.xml index bb6d89323e..bd5f784b05 100644 --- a/hadoop-tools/pom.xml +++ b/hadoop-tools/pom.xml @@ -38,7 +38,6 @@ hadoop-rumen hadoop-gridmix hadoop-datajoin - hadoop-ant hadoop-tools-dist hadoop-extras hadoop-pipes