git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@1373334 13f79535-47bb-0310-9956-ffa450edef68master
@@ -77,8 +77,10 @@ You can also access environment variables using the | |||
which instructs Ant to print less | |||
information to the console; | |||
<nobr><code>-verbose</code></nobr>, which causes Ant to print | |||
additional information to the console; and <nobr><code>-debug</code></nobr>, | |||
which causes Ant to print considerably more additional information. | |||
additional information to the console; <nobr><code>-debug</code></nobr>, | |||
which causes Ant to print considerably more additional information; and | |||
<nobr><code>-silent</code></nobr> which makes Ant print nothing but task | |||
output and build failures (useful to capture Ant output by scripts). | |||
</p> | |||
<p>It is also possible to specify one or more targets that should be executed. | |||
@@ -104,6 +106,7 @@ Options: | |||
-diagnostics print information that might be helpful to | |||
diagnose or report problems. | |||
-quiet, -q be extra quiet | |||
-silent, -S print nothing but task outputs and build failures | |||
-verbose, -v be extra verbose | |||
-debug, -d print debugging information | |||
-emacs, -e produce logging information without adornments | |||
@@ -36,6 +36,7 @@ import java.util.Vector; | |||
import org.apache.tools.ant.input.DefaultInputHandler; | |||
import org.apache.tools.ant.input.InputHandler; | |||
import org.apache.tools.ant.launch.AntMain; | |||
import org.apache.tools.ant.listener.SilentLogger; | |||
import org.apache.tools.ant.property.GetProperty; | |||
import org.apache.tools.ant.property.ResolvePropertyMap; | |||
import org.apache.tools.ant.util.ClasspathUtils; | |||
@@ -121,6 +122,11 @@ public class Main implements AntMain { | |||
*/ | |||
private boolean emacsMode = false; | |||
/** | |||
* Whether or not log output should be reduced to the minimum | |||
*/ | |||
private boolean silent = false; | |||
/** | |||
* Whether or not this instance has successfully been | |||
* constructed and is ready to run. | |||
@@ -336,6 +342,8 @@ public class Main implements AntMain { | |||
msgOutputLevel = Project.MSG_VERBOSE; | |||
} else if (arg.equals("-debug") || arg.equals("-d")) { | |||
msgOutputLevel = Project.MSG_DEBUG; | |||
} else if (arg.equals("-silent") || arg.equals("-S")) { | |||
silent = true; | |||
} else if (arg.equals("-noinput")) { | |||
allowInput = false; | |||
} else if (arg.equals("-logfile") || arg.equals("-l")) { | |||
@@ -921,7 +929,11 @@ public class Main implements AntMain { | |||
*/ | |||
private BuildLogger createLogger() { | |||
BuildLogger logger = null; | |||
if (loggerClassname != null) { | |||
if (silent) { | |||
logger = new SilentLogger(); | |||
msgOutputLevel = Project.MSG_WARN; | |||
emacsMode = true; | |||
} else if (loggerClassname != null) { | |||
try { | |||
logger = (BuildLogger) ClasspathUtils.newInstance( | |||
loggerClassname, Main.class.getClassLoader(), | |||
@@ -958,6 +970,7 @@ public class Main implements AntMain { | |||
msg.append(" -diagnostics print information that might be helpful to" + lSep); | |||
msg.append(" diagnose or report problems." + lSep); | |||
msg.append(" -quiet, -q be extra quiet" + lSep); | |||
msg.append(" -silent, -S print nothing but task outputs and build failures" + lSep); | |||
msg.append(" -verbose, -v be extra verbose" + lSep); | |||
msg.append(" -debug, -d print debugging information" + lSep); | |||
msg.append(" -emacs, -e produce logging information without adornments" | |||
@@ -0,0 +1,56 @@ | |||
/* | |||
* 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.tools.ant.listener; | |||
import org.apache.tools.ant.BuildEvent; | |||
import org.apache.tools.ant.DefaultLogger; | |||
/** | |||
* A logger which logs nothing but build failure and what task might output | |||
* | |||
* @since 1.9.0 | |||
*/ | |||
public class SilentLogger extends DefaultLogger { | |||
public void buildStarted(BuildEvent event) { | |||
// log nothing | |||
} | |||
public void buildFinished(BuildEvent event) { | |||
if (event.getException() != null) { | |||
super.buildFinished(event); | |||
} | |||
} | |||
public void targetStarted(BuildEvent event) { | |||
// log nothing | |||
} | |||
public void targetFinished(BuildEvent event) { | |||
// log nothing | |||
} | |||
public void taskStarted(BuildEvent event) { | |||
// log nothing | |||
} | |||
public void taskFinished(BuildEvent event) { | |||
// log nothing | |||
} | |||
} |