Author: chatellier Date: 2009-09-28 13:44:54 +0000 (Mon, 28 Sep 2009) New Revision: 2646 Modified: isis-fish/trunk/changelog.txt isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java Log: Make a isis build directory per simulation, and remove it at simulation end. Modified: isis-fish/trunk/changelog.txt =================================================================== --- isis-fish/trunk/changelog.txt 2009-09-28 13:44:20 UTC (rev 2645) +++ isis-fish/trunk/changelog.txt 2009-09-28 13:44:54 UTC (rev 2646) @@ -1,5 +1,9 @@ isis-fish (3.2.0.7) stable; urgency=low + * Add time unit (seconds) in simulation summary + * Make compilation directory per simulation (caparmor concurrency problem) + * Fix plan generator was not closing database after finishing sub job + * Delete remote launcher result archive after use * Modify analyze plans starting to take extra rules * Set ssh key in autorized_keys when connected with password * Isis now start with 1Go of allocated memory Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2009-09-28 13:44:20 UTC (rev 2645) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2009-09-28 13:44:54 UTC (rev 2646) @@ -48,6 +48,7 @@ import fr.ifremer.isisfish.actions.SimulationAction; import fr.ifremer.isisfish.actions.VCSAction; import fr.ifremer.isisfish.simulator.SimulationContext; +import fr.ifremer.isisfish.simulator.SimulationControl; import fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher; import fr.ifremer.isisfish.simulator.launcher.SSHSimulatorLauncher; import fr.ifremer.isisfish.simulator.launcher.SimulationService; @@ -235,13 +236,24 @@ * * Create directory if not exists. * + * Make a specific build directory for running simulation. + * * @return compilation directory */ public File getCompileDirectory() { File result = getOptionAsFile(Option.COMPILATION_DIRECTORY.key); + + // add a subdirectory for simulation context + SimulationContext simContext = SimulationContext.get(); + SimulationControl control = simContext.getSimulationControl(); + if (control != null) { + result = new File(result, control.getId()); + } + if (!result.exists()) { result.mkdirs(); } + return result; } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2009-09-28 13:44:20 UTC (rev 2645) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2009-09-28 13:44:54 UTC (rev 2646) @@ -465,6 +465,13 @@ simulation.getInformation().setOptimizationUsage(cache); } + // cleanup specific context build directory + File simulationBuildDirectory = IsisFish.config.getCompileDirectory(); + if (log.isDebugEnabled()) { + log.debug("Delete simulation build directory : " + simulationBuildDirectory.getAbsolutePath()); + } + FileUtil.deleteRecursively(simulationBuildDirectory); + // context is used in Trace.printStatistiqueAndClear() SimulationContext.remove(); }