X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a5ef2273f8ae4fa34c8b355067219b86d9a12a2e..13fb4af932a02ea0bd4293d1e55ac071de326f80:/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 8386e68026..6739dba4b3 100644 --- a/src/bindings/java/org/simgrid/NativeLib.java +++ b/src/bindings/java/org/simgrid/NativeLib.java @@ -1,4 +1,4 @@ -/* Copyright (c) 2014-2016. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2014-2017. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -20,7 +20,7 @@ import java.nio.file.Path; */ public final class NativeLib { private static boolean isNativeInited = false; - static Path tempDir = null; // where the embeeded libraries are unpacked before loading them + private static Path tempDir = null; // where the embeeded libraries are unpacked before loading them /** A static-only "class" don't need no constructor */ private NativeLib() { @@ -116,6 +116,8 @@ public final class NativeLib { while ((bytesRead = in.read(buffer)) != -1) // Read until EOF out.write(buffer, 0, bytesRead); + out.close(); // Windows cannot open it twice, so close it first. Shame. + /* load that shit */ System.load(fileOut.getAbsolutePath()); @@ -162,12 +164,12 @@ public final class NativeLib { public void run() { try { for (File f : dir.listFiles()) - if (! f.delete() ) - System.err.println("Unable to clean temporary file "+f.getAbsolutePath()+" during shutdown."); - if (! dir.delete() ) - System.err.println("Unable to clean temporary file "+dir.getAbsolutePath()+" during shutdown."); + 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."); } catch(Exception e) { - System.err.println("Unable to clean temporary file "+dir.getAbsolutePath()+" during shutdown: "+e.getCause()); + System.out.println("Unable to clean temporary file "+dir.getAbsolutePath()+" during shutdown: "+e.getCause()); e.printStackTrace(); } }