1 28 29 package com.idaremedia.antx.condition.solo; 30 31 import org.apache.tools.ant.BuildException; 32 import org.apache.tools.ant.Project; 33 34 import com.idaremedia.antx.AntX; 35 import com.idaremedia.antx.starters.Quiet; 36 import com.idaremedia.antx.starters.StrictInnerTask; 37 import com.idaremedia.antx.starters.StrictOuterTask; 38 39 52 53 final class Requirement extends AssertTask implements StrictInnerTask,Quiet 54 { 55 58 Requirement() 59 { 60 super(AntX.rules+"assert",true,true); 61 } 62 63 64 68 public void setEnclosingTask(StrictOuterTask enclosingTask) 69 { 70 require_((enclosingTask instanceof BuildRule), "setEnclTsk- only buildrule"); 71 m_owningRule = enclosingTask; 72 } 73 74 75 79 public StrictOuterTask getEnclosingTask() 80 { 81 return m_owningRule; 82 } 83 84 85 89 protected void verifyCanExecute_(String calr) 90 { 91 verifyInProject_(calr); 92 if (getEnclosingTask()==null) { 93 String ermsg = uistrs().get("task.only.in.outer",getTaskName(),"rule"); 94 log(ermsg,Project.MSG_ERR); 95 throw new BuildException(ermsg); 96 } 97 } 98 99 100 private StrictOuterTask m_owningRule; 101 } 102 103 104 | Popular Tags |