Node init can manage relative directories (relative to execution directory)
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / kernel / Kernel.java
index 871163fc0f57df925446cc9c2a163e79cf1568b8..1002304007ff3e64d42a86834a8de8a64fa95f6a 100644 (file)
@@ -173,8 +173,14 @@ final class Kernel implements KernelHeader, KernelConstants, ServiceListener {
 
        private void firstInit() {
                log.info("## FIRST INIT ##");
-               File initDir = new File(getFrameworkProp(NODE_INIT,
-                               KernelUtils.getOsgiInstancePath("../../../init")));
+               String nodeInit = getFrameworkProp(NODE_INIT);
+               if (nodeInit == null)
+                       nodeInit = "../../init";
+               File initDir;
+               if (nodeInit.startsWith("."))
+                       initDir = KernelUtils.getExecutionDir(nodeInit);
+               else
+                       initDir = new File(nodeInit);
                // TODO also uncompress archives
                if (initDir.exists())
                        try {