Skip to content
This repository was archived by the owner on Mar 27, 2025. It is now read-only.

Commit 55d8130

Browse files
authored
Merge pull request #217 from mathworks/2.8.1-SNAPSHOT-Qualification
2.8.1 snapshot qualification
2 parents 71d98da + e05fe15 commit 55d8130

File tree

2 files changed

+25
-17
lines changed

2 files changed

+25
-17
lines changed

src/main/java/com/mathworks/ci/MatlabBuild.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,23 +85,27 @@ default String getUniqueNameForRunnerFile() {
8585

8686
// This method prepares the temp folder by coping all helper files in it.
8787
default void prepareTmpFldr(FilePath tmpFldr, String runnerScript) throws IOException, InterruptedException {
88-
// Write MATLAB scratch file in temp folder.
89-
FilePath scriptFile =
90-
new FilePath(tmpFldr, getValidMatlabFileName(tmpFldr.getBaseName()) + ".m");
91-
scriptFile.write(runnerScript, "UTF-8");
9288
// copy genscript package
9389
copyFileInWorkspace(MatlabBuilderConstants.MATLAB_SCRIPT_GENERATOR,
9490
MatlabBuilderConstants.MATLAB_SCRIPT_GENERATOR, tmpFldr);
9591
FilePath zipFileLocation =
9692
new FilePath(tmpFldr, MatlabBuilderConstants.MATLAB_SCRIPT_GENERATOR);
93+
runnerScript=replaceZipPlaceholder(runnerScript, zipFileLocation.getRemote());
9794

98-
// Unzip the file in temp folder.
99-
zipFileLocation.unzip(tmpFldr);
95+
// Write MATLAB scratch file in temp folder.
96+
FilePath scriptFile =
97+
new FilePath(tmpFldr, getValidMatlabFileName(tmpFldr.getBaseName()) + ".m");
98+
scriptFile.write(runnerScript, "UTF-8");
99+
}
100+
101+
//This method replaces the placeholder with genscript's zip file location URL in temp folder
102+
default String replaceZipPlaceholder(String script, String url) {
103+
script = script.replace("${ZIP_FILE}", url.replaceAll("'","''"));
104+
return script;
100105
}
101106

102107
default String getRunnerScript(String script, String params, String uniqueTmpFldrName) {
103108
script = script.replace("${PARAMS}", params);
104-
script = script.replaceAll("\\$\\{TMPDIR\\}", uniqueTmpFldrName);
105109
return script;
106110
}
107111

src/main/java/com/mathworks/ci/MatlabBuilderConstants.java

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,18 @@ public class MatlabBuilderConstants {
3737
//Temporary MATLAB folder name in workspace
3838
static final String TEMP_MATLAB_FOLDER_NAME = ".matlab";
3939

40-
// MATLAB runner script
41-
static final String TEST_RUNNER_SCRIPT = "testScript = genscript(${PARAMS});\n" + "\n"
42-
+ "disp('Running MATLAB script with content:');\n"
43-
+ "disp(strtrim(testScript.Contents));\n"
44-
+ "runnerFile = testScript.writeToFile(fullfile(tempname,'runnerScript.m'));\n"
45-
+ "[tmpDir,scriptName,ext] = fileparts(runnerFile);"
46-
+ "addpath(tmpDir);\n"
47-
+ "rmdir('.matlab/${TMPDIR}/+scriptgen', 's');\n"
48-
+ "delete('.matlab/${TMPDIR}/genscript.m');\n"
49-
+ "fprintf('___________________________________\\n\\n');\n";
40+
static final String NEW_LINE = System.getProperty("line.separator");
41+
42+
//MATLAB Runner Script
43+
static final String TEST_RUNNER_SCRIPT = String.join(NEW_LINE,
44+
"tmpDir=tempname;",
45+
"mkdir(tmpDir);",
46+
"addpath(tmpDir);",
47+
"zipURL='${ZIP_FILE}';",
48+
"unzip(zipURL,tmpDir);",
49+
"testScript = genscript(${PARAMS});",
50+
"disp('Running MATLAB script with content:');",
51+
"disp(testScript.Contents);",
52+
"testScript.writeToFile(fullfile(tmpDir,'runnerScript.m'));",
53+
"fprintf('___________________________________\\n\\n');");
5054
}

0 commit comments

Comments
 (0)