Index: arch/arch-core-launcher.xml =================================================================== RCS file: /cvs/core/arch/arch-core-launcher.xml,v retrieving revision 1.52 diff -u -r1.52 arch-core-launcher.xml --- arch/arch-core-launcher.xml 8 Jul 2007 10:58:34 -0000 1.52 +++ arch/arch-core-launcher.xml 19 Jul 2007 10:48:19 -0000 @@ -567,6 +567,16 @@

+
  • + +

    + Contains class name of a class that can serve as provider of the writable layer of the + system file system. The class must be a subclass of + org.openide.filesystems.FileSystem and have public default constructor. + Morevoer the class denoted by the property must be on the classpath. +

    +
    +
  • There are also some options passed to the launcher (interpreted Index: startup/src/org/netbeans/core/startup/layers/SystemFileSystem.java =================================================================== RCS file: /cvs/core/startup/src/org/netbeans/core/startup/layers/SystemFileSystem.java,v retrieving revision 1.10 diff -u -r1.10 SystemFileSystem.java --- startup/src/org/netbeans/core/startup/layers/SystemFileSystem.java 16 Mar 2007 20:52:49 -0000 1.10 +++ startup/src/org/netbeans/core/startup/layers/SystemFileSystem.java 19 Jul 2007 10:48:20 -0000 @@ -279,7 +279,21 @@ user = l; } else { // use some replacement - user = FileUtil.createMemoryFileSystem (); + String customFSClass = System.getProperty("org.netbeans.core.systemfilesystem.custom"); // NOI18N + if (customFSClass != null) { + try { + Class clazz = Class.forName(customFSClass); + Object instance = clazz.newInstance(); + user = (FileSystem)instance; + } catch (Exception x) { + ModuleLayeredFileSystem.err.log( + Level.WARNING, + "Custom system file system writable layer init failed ", x); // NOI18N + user = FileUtil.createMemoryFileSystem (); + } + } else { + user = FileUtil.createMemoryFileSystem (); + } } if (homeDir == null) {