]> source.dussan.org Git - aspectj.git/commitdiff
generalize report API to cover resources and outjar
authoraclement <aclement>
Mon, 23 Mar 2009 02:29:34 +0000 (02:29 +0000)
committeraclement <aclement>
Mon, 23 Mar 2009 02:29:34 +0000 (02:29 +0000)
tests/src/org/aspectj/systemtest/incremental/tools/IncrementalOutputLocationManagerTests.java
tests/src/org/aspectj/systemtest/incremental/tools/MoreOutputLocationManagerTests.java
tests/src/org/aspectj/systemtest/incremental/tools/MultiProjTestOutputLocationManager.java
tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java
tests/src/org/aspectj/systemtest/incremental/tools/OutputLocationManagerTests.java

index 09cd95474bada7252036e4af8734ebc4c3f3d07e..3a1e246d97da9d95eaab7ad240820a4c432273f6 100644 (file)
@@ -45,10 +45,10 @@ public class IncrementalOutputLocationManagerTests extends AbstractMultiProjectI
                        this.numberOfSrcDirs = numberOfSrcDirs;
                }
 
-               public void reportClassFileWrite(String outputfile) {
+               public void reportFileWrite(String outputfile, int filetype) {
                }
 
-               public void reportClassFileRemove(String outputfile) {
+               public void reportFileRemove(String outputfile, int filetype) {
                }
 
                public File getOutputLocationForClass(File compilationUnit) {
index f731b86c1875fb5aa870b58c26c5e464fc8b0059..f8bd9c40c5f1f993f6758ed718b4b15d02431305 100644 (file)
@@ -351,10 +351,10 @@ public class MoreOutputLocationManagerTests extends AbstractMultiProjectIncremen
                        return outputLoc;
                }
 
-               public void reportClassFileWrite(String outputfile) {
+               public void reportFileWrite(String outputfile, int filetype) {
                }
 
-               public void reportClassFileRemove(String outputfile) {
+               public void reportFileRemove(String outputfile, int filetype) {
                }
 
                public String getSourceFolderForFile(File sourceFile) {
index ca22088eb2412bbffec8b0df92e71873c9953483..3eafcfa6062780771e0b0ef2dbed4d476a437f3e 100644 (file)
@@ -99,11 +99,11 @@ public class MultiProjTestOutputLocationManager implements IOutputLocationManage
                }
        }
 
-       public void reportClassFileWrite(String outputfile) {
+       public void reportFileWrite(String outputfile, int filetype) {
                // System.err.println(">>>" + outputfile);
        }
 
-       public void reportClassFileRemove(String outputfile) {
+       public void reportFileRemove(String outputfile, int filetype) {
        }
 
 }
index 7958dbabafcdb0a8fcd29e65295ab814345d2228..f40879d4e1e1fe1295907364a5bfbd6c932a84a4 100644 (file)
@@ -15,6 +15,7 @@ import java.io.File;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Hashtable;
 import java.util.Iterator;
@@ -52,6 +53,24 @@ import org.aspectj.util.FileUtil;
  */
 public class MultiProjectIncrementalTests extends AbstractMultiProjectIncrementalAjdeInteractionTestbed {
 
+       public void testOutputLocationCallbacks2() {
+               AjdeInteractionTestbed.VERBOSE = true;
+               String p = "pr268827_ol_res";
+               initialiseProject(p);
+               Map m = new HashMap();
+               m.put("a.txt", new File(getFile(p, "src/a.txt")));
+               configureResourceMap(p, m);
+               CustomOLM olm = new CustomOLM(getProjectRelativePath(p, ".").toString());
+               configureOutputLocationManager(p, olm);
+               build(p);
+               checkCompileWeaveCount(p, 2, 2);
+               assertEquals(3, olm.writeCount);
+               alter(p, "inc1"); // this contains a new B.java that doesn't have the aspect inside it
+               build(p);
+               checkCompileWeaveCount(p, 3, 1);
+               assertEquals(1, olm.removeCount); // B.class removed
+       }
+
        public void testOutputLocationCallbacks() {
                String p = "pr268827_ol";
                initialiseProject(p);
@@ -74,18 +93,46 @@ public class MultiProjectIncrementalTests extends AbstractMultiProjectIncrementa
                        super(testProjectPath);
                }
 
-               public void reportClassFileWrite(String outputfile) {
-                       super.reportClassFileWrite(outputfile);
+               public void reportFileWrite(String outputfile, int filetype) {
+                       super.reportFileWrite(outputfile, filetype);
                        writeCount++;
-                       // System.out.println("Written " + outputfile);
+                       // System.out.println("Written " + outputfile + " " + filetype);
                }
 
-               public void reportClassFileRemove(String outputfile) {
-                       super.reportClassFileRemove(outputfile);
+               public void reportFileRemove(String outputfile, int filetype) {
+                       super.reportFileRemove(outputfile, filetype);
                        removeCount++;
-                       // System.out.println("Removed " + outputfile);
+                       // System.out.println("Removed " + outputfile + "  " + filetype);
+               }
+
+       }
+
+       public void testWithJP_pr268522() {
+               String p = "pr268522";
+               initialiseProject(p);
+               build(p);
+               checkWasFullBuild();
+
+               IProgramElement root = getModelFor(p).getHierarchy().getRoot();
+               dumptree(root, 0);
+               PrintWriter pw = new PrintWriter(System.out);
+               try {
+                       getModelFor(p).dumprels(pw);
+                       pw.flush();
+               } catch (Exception e) {
                }
+               alter(p, "inc1");
+               build(p);
+               checkWasntFullBuild();
 
+               root = getModelFor(p).getHierarchy().getRoot();
+               dumptree(root, 0);
+               pw = new PrintWriter(System.out);
+               try {
+                       getModelFor(p).dumprels(pw);
+                       pw.flush();
+               } catch (Exception e) {
+               }
        }
 
        public void testBrokenCodeDeca_268611() {
index e840a672a176bbed8eb22dcae580aa1e1849bd3d..3d10efaee5e7d1d4bc89021ba938d91df72b19b4 100644 (file)
@@ -99,10 +99,10 @@ public class OutputLocationManagerTests extends AbstractMultiProjectIncrementalA
 
                }
 
-               public void reportClassFileWrite(String outputfile) {
+               public void reportFileWrite(String outputfile, int filetype) {
                }
 
-               public void reportClassFileRemove(String outputfile) {
+               public void reportFileRemove(String outputfile, int filetype) {
                }
 
                public File getOutputLocationForClass(File compilationUnit) {
@@ -145,10 +145,10 @@ public class OutputLocationManagerTests extends AbstractMultiProjectIncrementalA
                }
        }
 
-       public void reportClassFileWrite(String outputfile) {
+       public void reportFileWrite(String outputfile, int filetype) {
        }
 
-       public void reportClassFileRemove(String outputfile) {
+       public void reportFileRemove(String outputfile, int filetype) {
        }
 
 }