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 53 54 final class Preference extends PreferTask implements StrictInnerTask,Quiet 55 { 56 59 Preference() 60 { 61 super(AntX.rules+"prefer",true); 62 } 63 64 65 69 public void setEnclosingTask(StrictOuterTask enclosingTask) 70 { 71 require_((enclosingTask instanceof BuildRule), "setEnclTsk- only buildrule"); 72 m_owningRule = enclosingTask; 73 } 74 75 76 80 public StrictOuterTask getEnclosingTask() 81 { 82 return m_owningRule; 83 } 84 85 86 90 protected void verifyCanExecute_(String calr) 91 { 92 verifyInProject_(calr); 93 if (getEnclosingTask()==null) { 94 String ermsg = uistrs().get("task.only.in.outer",getTaskName(),"rule"); 95 log(ermsg,Project.MSG_ERR); 96 throw new BuildException(ermsg); 97 } 98 } 99 100 private StrictOuterTask m_owningRule; 101 } 102 103 104 | Popular Tags |