diff --git a/src/main/java/avatartranslator/toexecutable/AVATAR2CPOSIX.java b/src/main/java/avatartranslator/toexecutable/AVATAR2CPOSIX.java index 1a70657bab72a4ee0d3c55f376622686fefcdff2..ea519876e5f2815276b6e185d9262febd2ba4762 100755 --- a/src/main/java/avatartranslator/toexecutable/AVATAR2CPOSIX.java +++ b/src/main/java/avatartranslator/toexecutable/AVATAR2CPOSIX.java @@ -104,7 +104,7 @@ public class AVATAR2CPOSIX { public void saveInFiles(String path) throws FileException { TraceManager.addDev("Generating files"); - if (!FileUtils.checkAndCreateAVATARDir(path)) + if (!FileUtils.checkAndCreateAVATARCodeDir(path)) throw new FileException("ERROR: Executable code directory cannot be created."); File src_dir = new File(path + GENERATED_PATH); if (!src_dir.exists()) { diff --git a/src/main/java/common/SpecConfigTTool.java b/src/main/java/common/SpecConfigTTool.java index 99bf1b813eedf7bb9a1c98503d488b48a47ac378..24a305aa067e4deff409ced5aa4af9e3d17d329a 100644 --- a/src/main/java/common/SpecConfigTTool.java +++ b/src/main/java/common/SpecConfigTTool.java @@ -109,7 +109,6 @@ public class SpecConfigTTool { public static File createProjectConfig(File dir) { File test = new File ("./"); - System.out.println(test.getAbsolutePath()); File base; if (test.getAbsolutePath().contains("TTool/bin/")) base = new File("../ttool/launch_configurations/project_config.xml"); diff --git a/src/main/java/myutil/FileUtils.java b/src/main/java/myutil/FileUtils.java index 6c6363fa9f6fad3efa00f2aad43b18a3f5d1416f..783500920b7f4e474b0c7018188a1021769c6516 100755 --- a/src/main/java/myutil/FileUtils.java +++ b/src/main/java/myutil/FileUtils.java @@ -97,7 +97,7 @@ public class FileUtils extends org.apache.commons.io.FileUtils{ * @return true if there's no error, false if the directory cannot be created * @throws FileException */ - public static boolean checkAndCreateDir(String s) throws FileException { + public static boolean checkAndCreateSystemCDir(String s) throws FileException { File f = new File(s); try { if (!f.exists()) @@ -107,10 +107,16 @@ public class FileUtils extends org.apache.commons.io.FileUtils{ File make = new File(ConfigurationTTool.SystemCCodeDirectory + "Makefile"); File defs = new File(ConfigurationTTool.SystemCCodeDirectory + "Makefile.defs"); File src = new File(ConfigurationTTool.SystemCCodeDirectory + "src_simulator"); + File lic = new File(ConfigurationTTool.SystemCCodeDirectory + "LICENCE"); + File liceng = new File(ConfigurationTTool.SystemCCodeDirectory + "LICENSE_CECILL_ENG"); + File licfr = new File(ConfigurationTTool.SystemCCodeDirectory + "LICENSE_CECILL_FR"); FileUtils.copyFileToDirectory(make, f, false); FileUtils.copyFileToDirectory(defs, f, false); FileUtils.copyDirectoryToDirectory(src, f); + FileUtils.copyFileToDirectory(lic, f, false); + FileUtils.copyFileToDirectory(liceng, f, false); + FileUtils.copyFileToDirectory(licfr, f, false); } return true; } catch (Exception e) { @@ -125,7 +131,7 @@ public class FileUtils extends org.apache.commons.io.FileUtils{ * @return true if there's no error, false if the directory cannot be created * @throws FileException */ - public static boolean checkAndCreateAVATARDir(String s) throws FileException { + public static boolean checkAndCreateAVATARCodeDir(String s) throws FileException { File f = new File(s); try { if (!f.exists()) @@ -136,12 +142,18 @@ public class FileUtils extends org.apache.commons.io.FileUtils{ File defs = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "Makefile.defs"); File soclib = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "Makefile.forsoclib"); File src = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "src"); + File lic = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "LICENCE"); + File liceng = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "LICENSE_CECILL_ENG"); + File licfr = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "LICENSE_CECILL_FR"); //File topcell = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "generated_topcell"); - FileUtils.copyFileToDirectory(make, f); - FileUtils.copyFileToDirectory(defs, f); - FileUtils.copyFileToDirectory(soclib, f); + FileUtils.copyFileToDirectory(make, f, false); + FileUtils.copyFileToDirectory(defs, f,false); + FileUtils.copyFileToDirectory(soclib, f, false); FileUtils.copyDirectoryToDirectory(src, f); + FileUtils.copyFileToDirectory(lic, f, false); + FileUtils.copyFileToDirectory(liceng, f, false); + FileUtils.copyFileToDirectory(licfr, f, false); //FileUtils.copyDirectoryToDirectory(topcell, f); } return true; @@ -152,6 +164,57 @@ public class FileUtils extends org.apache.commons.io.FileUtils{ } + public static boolean checkAndCreateProverifDir(String s) throws FileException { + File f = new File(s); + try { + if (!f.exists()) + if(!f.mkdir()) + return false; + if (!s.equals(ConfigurationTTool.ProVerifCodeDirectory)) { + File readme = new File(ConfigurationTTool.ProVerifCodeDirectory + "README"); + FileUtils.copyFileToDirectory(readme, f, false); + } + return true; + } + catch (IOException e) { + throw new FileException(e.getMessage()); + } + } + + public static boolean checkAndCreateTMLDir(String s) throws FileException { + File f = new File(s); + try { + if (!f.exists()) + if(!f.mkdir()) + return false; + if (!s.equals(ConfigurationTTool.TMLCodeDirectory)) { + File readme = new File(ConfigurationTTool.TMLCodeDirectory + "README_TML"); + FileUtils.copyFileToDirectory(readme, f, false); + } + return true; + } + catch (IOException e) { + throw new FileException(e.getMessage()); + } + } + + public static boolean checkAndCreateCCodeDir(String s) throws FileException { + File f = new File(s); + try { + if (!f.exists()) + if(!f.mkdir()) + return false; + if (!s.equals(ConfigurationTTool.CCodeDirectory)) { + File readme = new File(ConfigurationTTool.CCodeDirectory + "README"); + FileUtils.copyFileToDirectory(readme, f, false); + } + return true; + } + catch (IOException e) { + throw new FileException(e.getMessage()); + } + } + public static boolean checkFileForSave(File file) throws FileException { // boolean ok = true; // String pb = ""; diff --git a/src/main/java/tmltranslator/TMLTextSpecification.java b/src/main/java/tmltranslator/TMLTextSpecification.java index 3a423e2f0c0cdb92d4ed741e05b05a1875b62c45..175c4fb58a61e90d8dc62f6077f4d1963cceb86c 100755 --- a/src/main/java/tmltranslator/TMLTextSpecification.java +++ b/src/main/java/tmltranslator/TMLTextSpecification.java @@ -106,9 +106,7 @@ public class TMLTextSpecification<E> { } public void saveFile(String path, String filename) throws FileException { - File dir = new File(path); - if (!dir.exists()) - dir.mkdir(); + FileUtils.checkAndCreateTMLDir(path); TraceManager.addUser("Saving TML spec file in " + path + filename); FileUtils.saveFile(path + filename, spec); } diff --git a/src/main/java/ui/GTURTLEModeling.java b/src/main/java/ui/GTURTLEModeling.java index 4d5bcd8cd72d140c55d495e4c7e78f615684fbf3..79744882e8b3568d32d65b7bd0dd0c80a58e8972 100755 --- a/src/main/java/ui/GTURTLEModeling.java +++ b/src/main/java/ui/GTURTLEModeling.java @@ -482,9 +482,7 @@ public class GTURTLEModeling { return true; } else { - File test = new File(SpecConfigTTool.CCodeDirectory); - if (!test.exists()) - test.mkdir(); + FileUtils.checkAndCreateCCodeDir(SpecConfigTTool.CCodeDirectory); CCode.saveFile( SpecConfigTTool.CCodeDirectory + File.separator, applicationName ); } } diff --git a/src/main/java/ui/window/JDialogProverifVerification.java b/src/main/java/ui/window/JDialogProverifVerification.java index 6af15a696226df044553e54de7f3045957ce22ad..f9b26d619fb64380eb076e4295c9ee7722f5e45f 100644 --- a/src/main/java/ui/window/JDialogProverifVerification.java +++ b/src/main/java/ui/window/JDialogProverifVerification.java @@ -48,6 +48,8 @@ import avatartranslator.AvatarPragmaSecret; import launcher.LauncherException; import launcher.RshClient; import launcher.RshClientReader; +import myutil.FileException; +import myutil.FileUtils; import myutil.GraphicLib; import myutil.MasterProcessInterface; import myutil.TraceManager; @@ -436,15 +438,12 @@ public class JDialogProverifVerification extends JDialog implements ActionListen if (pathCode.isEmpty()) { pathCode += "pvspec"; } + + FileUtils.checkAndCreateProverifDir(pathCode); + pathCode += "pvspec"; testFile = new File(pathCode); - if (!testFile.exists()) - testFile.mkdirs(); - - if (testFile.isDirectory()){ - pathCode += "pvspec"; - testFile = new File(pathCode); - } + File dir = testFile.getParentFile(); @@ -507,6 +506,8 @@ public class JDialogProverifVerification extends JDialog implements ActionListen mode = STOPPED; } catch (InterruptedException ie) { mode = NOT_STARTED; + } catch (FileException e) { + System.err.println(e.getMessage() + " : Can't generate proverif file."); } catch (Exception e) { mode = STOPPED; throw e; diff --git a/src/main/java/ui/window/JDialogSystemCGeneration.java b/src/main/java/ui/window/JDialogSystemCGeneration.java index 19ffea19fdb923cd8fa72b84be7e4907dd63a789..4ced45e771e30e3225aff76f186439b4e63833e1 100755 --- a/src/main/java/ui/window/JDialogSystemCGeneration.java +++ b/src/main/java/ui/window/JDialogSystemCGeneration.java @@ -769,7 +769,7 @@ public class JDialogSystemCGeneration extends JDialog implements ActionListener, jta.append("Saving C++ files...\n"); pathCode = code1.getText(); - if (!FileUtils.checkAndCreateDir(SpecConfigTTool.SystemCCodeDirectory)) + if (!FileUtils.checkAndCreateSystemCDir(SpecConfigTTool.SystemCCodeDirectory)) throw new Throwable(); tml2systc.saveFile(pathCode, "appmodel");