1 package org.antmod.tasks; 2 3 import java.util.Enumeration ; 4 5 import org.apache.tools.ant.BuildException; 6 import org.apache.tools.ant.BuildListener; 7 import org.apache.tools.ant.BuildLogger; 8 import org.apache.tools.ant.Task; 9 10 15 public final class MessageOutputLevel extends Task { 16 17 private int outputLevel; 18 19 private String unless = "antmod.verbose"; 20 21 24 public MessageOutputLevel() { 25 } 26 27 30 public void setOutputLevel(int outputLevel) { 31 this.outputLevel = outputLevel; 32 } 33 34 39 public void setUnless(String unless) { 40 this.unless = unless; 41 } 42 43 public void execute() throws BuildException { 44 if (this.unless != null) { 45 boolean useAnt = true; 47 String prop = getProject().getProperty(this.unless); 48 if (prop == null || prop.trim().length() == 0) { 49 useAnt = false; 50 } else { 51 if (prop.trim().equalsIgnoreCase("false")) { 52 useAnt = false; 53 } else { 54 useAnt = true; 55 } 56 } 57 58 if (!useAnt) { 59 setMessageOutputLevel(this.outputLevel); 60 } 61 } 62 } 63 64 67 private void setMessageOutputLevel(int level) { 68 Enumeration bl = getProject().getBuildListeners().elements(); 69 while (bl.hasMoreElements()) { 70 BuildListener listener = (BuildListener)bl.nextElement(); 71 if (listener instanceof BuildLogger) { 72 ((BuildLogger)listener).setMessageOutputLevel(level); 73 } 74 } 75 } 76 } 77 | Popular Tags |