]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java
Manage with Maven
[gpl/argeo-slc.git] / org.argeo.slc / src / main / java / org / argeo / slc / ant / SlcProjectHelper.java
index 9a13834dc1660139e158bd2c1491c1ca344b7f3c..0b2698d2615eb59cc5f2a116ad65d1dacd6e15b0 100644 (file)
@@ -17,6 +17,7 @@ import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;\r
 import org.apache.tools.ant.helper.ProjectHelperImpl;\r
 \r
+import org.argeo.slc.core.UnsupportedException;\r
 import org.argeo.slc.core.structure.DefaultSRegistry;\r
 import org.argeo.slc.core.structure.SimpleSElement;\r
 import org.argeo.slc.core.structure.StructureRegistry;\r
@@ -43,10 +44,17 @@ public class SlcProjectHelper extends ProjectHelperImpl {
 \r
        @Override\r
        public void parse(Project project, Object source) throws BuildException {\r
+               if (!(source instanceof File)) {\r
+                       throw new UnsupportedException("Ant file", source);\r
+               }\r
+               File sourceFile = (File)source;\r
 \r
                // initialize config\r
                SlcAntConfig slcAntConfig = new SlcAntConfig();\r
 \r
+               System.out.println("Base dir prop2: " + project.getProperty("basedir"));\r
+               // In order to avoid base dire override when running in Maven\r
+               project.setProperty("basedir", sourceFile.getParentFile().getAbsolutePath());\r
                if (!slcAntConfig.initProject(project)) {\r
                        // not SLC compatible, do normal Ant\r
                        super.parse(project, source);\r
@@ -58,17 +66,24 @@ public class SlcProjectHelper extends ProjectHelperImpl {
                        log = LogFactory.getLog(SlcProjectHelper.class);\r
                }\r
                log.debug("SLC properties are set, starting initialization..");\r
+               log.debug("Base dir1: " + project.getBaseDir().getAbsoluteFile());\r
+               log.debug("Base dir prop1: " + project.getProperty("basedir"));\r
 \r
                // init Spring application context\r
                initSpringContext(project);\r
+               log.debug("Base dir2: " + project.getBaseDir().getAbsoluteFile());\r
 \r
                // init structure registry\r
                DefaultSRegistry registry = new DefaultSRegistry();\r
                project.addReference(REF_STRUCTURE_REGISTRY, registry);\r
 \r
+               log.debug("Base dir prop2: " + project.getProperty("basedir"));\r
+               // in order to prevent pb w/ basedir setting:\r
+               source = ((File) source).getAbsoluteFile();\r
                // call the underlying implementation to do the actual work\r
                super.parse(project, source);\r
 \r
+               log.debug("Base dir3: " + project.getBaseDir().getAbsoluteFile());\r
                // create structure root\r
                registerProjectAndParents(project, slcAntConfig);\r
 \r
@@ -85,7 +100,6 @@ public class SlcProjectHelper extends ProjectHelperImpl {
                                .getUserProperty(SlcAntConfig.ROOT_DIR_PROPERTY))\r
                                .getAbsoluteFile();\r
                File baseDir = project.getBaseDir().getAbsoluteFile();\r
-\r
                List<File> dirs = new Vector<File>();\r
                File currentDir = baseDir;\r
                do {\r