summaryrefslogtreecommitdiff
path: root/cleaner.sce
diff options
context:
space:
mode:
Diffstat (limited to 'cleaner.sce')
-rw-r--r--cleaner.sce80
1 files changed, 53 insertions, 27 deletions
diff --git a/cleaner.sce b/cleaner.sce
index 370c68f..aab2d3e 100644
--- a/cleaner.sce
+++ b/cleaner.sce
@@ -1,38 +1,64 @@
// This file is released under the 3-clause BSD license. See COPYING-BSD.
// Generated by builder.sce: Please, do not edit this file
-try
- getversion("scilab");
-catch
- error("Scilab 5.0 or more is required.");
-end
+oldmode = mode();
+oldlines = lines()(2);
+lines(0);
+
function perform_clean()
- root_tlbx = get_absolute_file_path('cleaner.sce');
+ root_tlbx = get_absolute_file_path('cleaner.sce');
- if isfile(root_tlbx + '/macros/cleanmacros.sce') then
- exec(root_tlbx+'/macros/cleanmacros.sce');
- end
+ if isfile(root_tlbx + '/macros/cleanmacros.sce') then
+ exec(root_tlbx+'/macros/cleanmacros.sce');
+ else
+ if isdir(root_tlbx + "/macros/") then
+ deletefile(root_tlbx + "/macros/lib");
+ binfiles = findfiles(root_tlbx + "/macros/", "*.bin");
+ if ~isempty(binfiles) then
+ deletefile(root_tlbx + "/macros/" + binfiles);
+ end
+ end
+ end
- if isfile(root_tlbx + '/src/cleaner_src.sce') then
- exec(root_tlbx+'/src/cleaner_src.sce');
- end
+ if isfile(root_tlbx + "/src/cleaner_src.sce") then
+ exec(root_tlbx + "/src/cleaner_src.sce");
+ mdelete(root_tlbx + "/src/cleaner_src.sce");
+ end
- if isfile(root_tlbx + "/sci_gateway/cleaner_gateway.sce") then
- exec(root_tlbx + "/sci_gateway/cleaner_gateway.sce");
- mdelete(root_tlbx + "/sci_gateway/cleaner_gateway.sce");
- end
+ if isfile(root_tlbx + "/sci_gateway/cleaner_gateway.sce") then
+ exec(root_tlbx + "/sci_gateway/cleaner_gateway.sce");
+ mdelete(root_tlbx + "/sci_gateway/cleaner_gateway.sce");
+ end
- if isfile(root_tlbx + "/help/cleaner_help.sce") then
- exec(root_tlbx + "/help/cleaner_help.sce");
- end
+ if isfile(root_tlbx + "/help/cleaner_help.sce") then
+ exec(root_tlbx + "/help/cleaner_help.sce");
+ else
+ if isdir(root_tlbx + "/jar/") then
+ rmdir(root_tlbx + "/jar/", "s");
+ end
+ end
- if isfile(root_tlbx + "/loader.sce") then
- mdelete(root_tlbx + "/loader.sce");
- end
+ if isfile(root_tlbx + "/loader.sce") then
+ mdelete(root_tlbx + "/loader.sce");
+ end
- if isfile(root_tlbx + "/unloader.sce") then
- mdelete(root_tlbx + "/unloader.sce");
- end
+ if isfile(root_tlbx + "/unloader.sce") then
+ mdelete(root_tlbx + "/unloader.sce");
+ end
endfunction
-perform_clean();
-clear perform_clean;
+
+try
+ perform_clean();
+catch
+ [errmsg, tmp, nline, func] = lasterror();
+ msg = "%s: error on line #%d: ""%s""\n";
+ msg = msprintf(msg, func, nline, errmsg);
+ lines(oldlines);
+ mode(oldmode);
+ clear perform_clean oldlines oldmode tmp nline func errmsg;
+ error(msg);
+end
+
+lines(oldlines)
+mode(oldmode);
+clear perform_clean oldlines oldmode;