]> source.dussan.org Git - aspectj.git/commitdiff
supporting multiple source folders in the model - to ensure handles compatible with JDT
authoraclement <aclement>
Tue, 16 Sep 2008 23:24:22 +0000 (23:24 +0000)
committeraclement <aclement>
Tue, 16 Sep 2008 23:24:22 +0000 (23:24 +0000)
ajde.core/src/org/aspectj/ajde/core/IOutputLocationManager.java
ajde.core/src/org/aspectj/ajde/core/internal/OutputLocationAdapter.java

index 7025f44b0621e15e54e3d1ce20bc4d7c34358e8a..ab76f28fd9a81df62dd12ae37f305aba4fb58495 100644 (file)
@@ -31,6 +31,16 @@ public interface IOutputLocationManager {
         *  unit should be written
         */
        File getOutputLocationForClass(File compilationUnit);
+
+       /**
+     * For environments where multiple source folders are supported, they need to be included
+     * in the model.  This method allows AspectJ to determine which source folder a source file
+     * came from.  Example return values would be "src" or "main/java"
+     *
+        * @param sourceFile the File object for the source file
+        * @return the source folder where this file came from, or null if in project root or source folders not supported.
+        */
+       String getSourceFolderForFile(File sourceFile);
        
        /**
         * When copying resources from source folders to output location, return the
@@ -52,5 +62,6 @@ public interface IOutputLocationManager {
         * where classes which are on the inpath will be placed.
         */
        File getDefaultOutputLocation();
+
                
 }
index 95c12daeed86e79f42a1ae7516f2c098519299da..decf080d9ae2e31eb6296b4a00355e3e70726860 100644 (file)
@@ -33,6 +33,10 @@ public class OutputLocationAdapter implements CompilationResultDestinationManage
        public File getOutputLocationForClass(File compilationUnit) {
                return this.locationManager.getOutputLocationForClass(compilationUnit);
        }
+       
+       public String getSourceFolderForFile(File sourceFile) {
+               return this.locationManager.getSourceFolderForFile(sourceFile);
+       }
 
        public File getOutputLocationForResource(File resource) {
                return this.locationManager.getOutputLocationForResource(resource);