@@ -392,13 +392,13 @@ private int execMatlabCommand(Run<?, ?> build, FilePath workspace, Launcher laun
392392 workspace , getClass ().getClassLoader ());
393393 ProcStarter matlabLauncher ;
394394 try {
395- MatlabReleaseInfo rel = new MatlabReleaseInfo (getLocalMatlab ());
395+ MatlabReleaseInfo rel = new MatlabReleaseInfo (env . expand ( getLocalMatlab () ));
396396 matlabLauncher = launcher .launch ().pwd (workspace ).envs (env );
397397 if (rel .verLessThan (BASE_MATLAB_VERSION_BATCH_SUPPORT )) {
398398 ListenerLogDecorator outStream = new ListenerLogDecorator (listener );
399- matlabLauncher = matlabLauncher .cmds (constructDefaultMatlabCommand (isLinuxLauncher )).stderr (outStream );
399+ matlabLauncher = matlabLauncher .cmds (constructDefaultMatlabCommand (isLinuxLauncher , env )).stderr (outStream );
400400 } else {
401- matlabLauncher = matlabLauncher .cmds (constructMatlabCommandWithBatch ()).stdout (listener );
401+ matlabLauncher = matlabLauncher .cmds (constructMatlabCommandWithBatch (env )).stdout (listener );
402402 }
403403 } catch (MatlabVersionNotFoundException e ) {
404404 listener .getLogger ().println (e .getMessage ());
@@ -407,7 +407,7 @@ private int execMatlabCommand(Run<?, ?> build, FilePath workspace, Launcher laun
407407 return matlabLauncher .join ();
408408 }
409409
410- public List <String > constructMatlabCommandWithBatch () {
410+ public List <String > constructMatlabCommandWithBatch (EnvVars env ) {
411411 final String testRunMode = this .getTestRunTypeList ().getDescriptor ().getDisplayName ();
412412 final String runCommand ;
413413 final List <String > matlabDefaultArgs ;
@@ -421,23 +421,23 @@ public List<String> constructMatlabCommandWithBatch() {
421421 + getTestRunTypeList ().getBooleanByName ("taCoberturaChkBx" ) + "))" ;
422422 } else {
423423
424- runCommand = this .getTestRunTypeList ().getStringByName ("customMatlabCommand" );
424+ runCommand = env . expand ( this .getTestRunTypeList ().getStringByName ("customMatlabCommand" ) );
425425 }
426426
427427 matlabDefaultArgs =
428- Arrays .asList (this .localMatlab + File .separator + "bin" + File .separator + "matlab" ,
428+ Arrays .asList (env . expand ( this .localMatlab ) + File .separator + "bin" + File .separator + "matlab" ,
429429 "-batch" , runCommand );
430430
431431 return matlabDefaultArgs ;
432432 }
433433
434- public List <String > constructDefaultMatlabCommand (boolean isLinuxLauncher ) {
434+ public List <String > constructDefaultMatlabCommand (boolean isLinuxLauncher , EnvVars env ) {
435435 final List <String > matlabDefaultArgs = new ArrayList <String >();
436- Collections .addAll (matlabDefaultArgs , getPreRunnerSwitches ());
436+ Collections .addAll (matlabDefaultArgs , getPreRunnerSwitches (env ));
437437 if (!isLinuxLauncher ) {
438438 matlabDefaultArgs .add ("-noDisplayDesktop" );
439439 }
440- Collections .addAll (matlabDefaultArgs , getRunnerSwitch ());
440+ Collections .addAll (matlabDefaultArgs , getRunnerSwitch (env ));
441441 if (!isLinuxLauncher ) {
442442 matlabDefaultArgs .add ("-wait" );
443443 }
@@ -446,9 +446,9 @@ public List<String> constructDefaultMatlabCommand(boolean isLinuxLauncher) {
446446 }
447447
448448
449- private String [] getPreRunnerSwitches () {
449+ private String [] getPreRunnerSwitches (EnvVars env ) {
450450 String [] preRunnerSwitches =
451- {this .localMatlab + File .separator + "bin" + File .separator + "matlab" , "-nosplash" ,
451+ {env . expand ( this .localMatlab ) + File .separator + "bin" + File .separator + "matlab" , "-nosplash" ,
452452 "-nodesktop" , "-noAppIcon" };
453453 return preRunnerSwitches ;
454454 }
@@ -458,7 +458,7 @@ private String[] getPostRunnerSwitches() {
458458 return postRunnerSwitch ;
459459 }
460460
461- private String [] getRunnerSwitch () {
461+ private String [] getRunnerSwitch (EnvVars env ) {
462462 final String runCommand ;
463463 final String testRunMode = this .getTestRunTypeList ().getDescriptor ().getDisplayName ();
464464 if (!testRunMode .equalsIgnoreCase (
@@ -471,7 +471,7 @@ private String[] getRunnerSwitch() {
471471 + getTestRunTypeList ().getBooleanByName ("taCoberturaChkBx" )
472472 + ")),catch e,disp(getReport(e,'extended')),exit(1),end" ;
473473 } else {
474- runCommand = "try,eval(\" " + this .getTestRunTypeList ().getStringByName ("customMatlabCommand" ).replaceAll ("\" " ,"\" \" " )
474+ runCommand = "try,eval(\" " + env . expand ( this .getTestRunTypeList ().getStringByName ("customMatlabCommand" ).replaceAll ("\" " ,"\" \" " ) )
475475 + "\" ),catch e,disp(getReport(e,'extended')),exit(1),end,exit" ;
476476 }
477477
0 commit comments