You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by hi...@apache.org on 2012/08/15 13:13:15 UTC
svn commit: r1373334 - in /ant/core/trunk: manual/running.html
src/main/org/apache/tools/ant/Main.java
src/main/org/apache/tools/ant/listener/SilentLogger.java
Author: hibou
Date: Wed Aug 15 11:13:15 2012
New Revision: 1373334
URL: http://svn.apache.org/viewvc?rev=1373334&view=rev
Log:
Add a log mode which logs nothing but ant task output and build failures; useful for using ant output in scripts, like for cacti for instance
Added:
ant/core/trunk/src/main/org/apache/tools/ant/listener/SilentLogger.java (with props)
Modified:
ant/core/trunk/manual/running.html
ant/core/trunk/src/main/org/apache/tools/ant/Main.java
Modified: ant/core/trunk/manual/running.html
URL: http://svn.apache.org/viewvc/ant/core/trunk/manual/running.html?rev=1373334&r1=1373333&r2=1373334&view=diff
==============================================================================
--- ant/core/trunk/manual/running.html (original)
+++ ant/core/trunk/manual/running.html Wed Aug 15 11:13:15 2012
@@ -77,8 +77,10 @@ You can also access environment variable
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
Modified: ant/core/trunk/src/main/org/apache/tools/ant/Main.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/Main.java?rev=1373334&r1=1373333&r2=1373334&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/Main.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/Main.java Wed Aug 15 11:13:15 2012
@@ -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;
@@ -122,6 +123,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"
Added: ant/core/trunk/src/main/org/apache/tools/ant/listener/SilentLogger.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/listener/SilentLogger.java?rev=1373334&view=auto
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/listener/SilentLogger.java (added)
+++ ant/core/trunk/src/main/org/apache/tools/ant/listener/SilentLogger.java Wed Aug 15 11:13:15 2012
@@ -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
+ }
+
+}
Propchange: ant/core/trunk/src/main/org/apache/tools/ant/listener/SilentLogger.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ant/core/trunk/src/main/org/apache/tools/ant/listener/SilentLogger.java
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: ant/core/trunk/src/main/org/apache/tools/ant/listener/SilentLogger.java
------------------------------------------------------------------------------
svn:mime-type = text/plain