diff --git a/proposal/sandbox/embed/Import.java b/proposal/sandbox/embed/Import.java index 3c6c8357c..833283693 100644 --- a/proposal/sandbox/embed/Import.java +++ b/proposal/sandbox/embed/Import.java @@ -155,6 +155,9 @@ public class Import extends Task { if (context.importedFiles.containsKey(importedFilename)) { project.log("\nSkipped already imported file:\n "+importedFilename+"\n", Project.MSG_WARN); + context.importlevel--; + project.log("importlevel: "+context.importlevel+" <- "+ + (context.importlevel+1) ,Project.MSG_DEBUG); return; } else { context.importedFiles.put(importedFilename, importedFile); diff --git a/proposal/sandbox/embed/ProjectHelperImpl2.java b/proposal/sandbox/embed/ProjectHelperImpl2.java index 35b39cc9f..149d7793b 100644 --- a/proposal/sandbox/embed/ProjectHelperImpl2.java +++ b/proposal/sandbox/embed/ProjectHelperImpl2.java @@ -692,14 +692,13 @@ public class ProjectHelperImpl2 extends ProjectHelper { int timesRedefined = 0; Hashtable currentTargets = project.getTargets(); - project.log("Defined targets: "+currentTargets ,Project.MSG_VERBOSE); - + //currently tracks only one level of super. if(currentTargets.containsKey(name)){ - timesRedefined++; - } - - if(timesRedefined>0){ + project.log("Defined targets: "+ + ProjectHelperImpl2.targetString( currentTargets ) ,Project.MSG_VERBOSE); + + timesRedefined++; project.log("Redefining target named: \""+name+"\"" ,Project.MSG_VERBOSE); @@ -709,7 +708,7 @@ public class ProjectHelperImpl2 extends ProjectHelper { String superTargetName = ""; for(int i=0; i < timesRedefined; i++){ - superTargetName += "super."; + superTargetName += "super."; } superTargetName = superTargetName + name; oldTarget.setName(superTargetName); @@ -720,7 +719,9 @@ public class ProjectHelperImpl2 extends ProjectHelper { // if the target is redefined, it redefines it, otherwise just adds it project.addOrReplaceTarget(name, target); - project.log("targets are now: "+currentTargets.toString() ,Project.MSG_VERBOSE); + project.log("Targets are now: "+ + ProjectHelperImpl2.targetString(currentTargets) , + Project.MSG_VERBOSE); // END IMPORT CHANGE // context.project.addTarget(name, target); @@ -760,6 +761,23 @@ public class ProjectHelperImpl2 extends ProjectHelper { } } + private static String targetString(Hashtable currentTargets) { + Enumeration enum=currentTargets.keys(); + StringBuffer sb=new StringBuffer(); + while( enum.hasMoreElements() ) { + String tname=(String)enum.nextElement(); + Target t=(Target)currentTargets.get( tname ); + sb.append( "|" ).append(tname ); + Enumeration enum2=t.getDependencies(); + if( enum2.hasMoreElements() ) sb.append( "=" ); + while(enum2.hasMoreElements() ) { + sb.append(enum2.nextElement()); + if( enum2.hasMoreElements()) sb.append(","); + } + } + return sb.toString(); + } + /** * Handler for all task elements. */ diff --git a/proposal/sandbox/embed/ant-sax2.jar b/proposal/sandbox/embed/ant-sax2.jar index d06a433b1..b5978b034 100644 Binary files a/proposal/sandbox/embed/ant-sax2.jar and b/proposal/sandbox/embed/ant-sax2.jar differ