X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/96cedde3cdbc0b8ffc3f096a1b65d021b0226f99..ac080087b39ef79ff497d3992ff04b3e20fe40b2:/src/bindings/java/org/simgrid/NativeLib.java diff --git a/src/bindings/java/org/simgrid/NativeLib.java b/src/bindings/java/org/simgrid/NativeLib.java index 13d27ffdb6..a338cc3e93 100644 --- a/src/bindings/java/org/simgrid/NativeLib.java +++ b/src/bindings/java/org/simgrid/NativeLib.java @@ -12,6 +12,7 @@ import java.io.OutputStream; import java.io.File; import java.nio.file.Files; import java.nio.file.Path; +import java.util.stream.Stream; /** Helper class loading the native functions of SimGrid that we use for downcalls * @@ -69,9 +70,9 @@ public final class NativeLib { System.err.println("\nCannot load the bindings to the "+name+" library in path "+getPath()+" and no usable SimGrid installation found on disk."); if (cause != null) { - if (cause.getMessage().matches(".*libcgraph.so.*")) + if (cause.getMessage().contains("libcgraph.so")) System.err.println("HINT: Try to install the libcgraph package (sudo apt-get install libcgraph)."); - else if (cause.getMessage().matches(".*libboost_context.so.*")) + else if (cause.getMessage().contains("libboost_context.so")) System.err.println("HINT: Try to install the boost-context package (sudo apt-get install libboost-context-dev)."); else System.err.println("Try to install the missing dependencies, if any. Read carefully the following error message."); @@ -161,16 +162,15 @@ public final class NativeLib { } @Override public void run() { - try { - for (File f : dir.listFiles()) - if (! f.delete() && !f.getAbsolutePath().contains("appveyor")) // Be silent on AppVeyor to not break the tests. Ugly trick :) - System.out.println("Unable to clean temporary file "+f.getAbsolutePath()+" during shutdown."); - if (! dir.delete() && !dir.getAbsolutePath().contains("appveyor") ) - System.out.println("Unable to clean temporary file "+dir.getAbsolutePath()+" during shutdown."); + try (Stream paths = Files.walk(dir.toPath())) { + paths.sorted(java.util.Comparator.reverseOrder()) + .map(java.nio.file.Path::toFile) + //.peek(System.out::println) // Prints what gets removed + .forEach(java.io.File::delete); } catch(Exception e) { System.out.println("Error while cleaning temporary file "+dir.getAbsolutePath()+" during shutdown: "+e.getCause()); e.printStackTrace(); - } + } } } }