Skip to content

Commit a35f1fe

Browse files
committed
[FIXED JENKINS-23599] - Substitute Matrix Axis values in PerforceSCM
Behavior: * MatrixConfiguration: Inject Values * MatrixProject: Inject the first value or empty string if it is not available Signed-off-by: Oleg Nenashev <o.v.nenashev@gmail.com>
1 parent bd0d0cf commit a35f1fe

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

src/main/java/hudson/plugins/perforce/utils/MacroStringHelper.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@
2525
package hudson.plugins.perforce.utils;
2626

2727
import hudson.EnvVars;
28+
import hudson.matrix.Axis;
29+
import hudson.matrix.MatrixConfiguration;
30+
import hudson.matrix.MatrixProject;
2831
import hudson.model.AbstractBuild;
2932
import hudson.model.AbstractProject;
3033
import hudson.model.Hudson;
@@ -39,6 +42,7 @@
3942
import java.io.IOException;
4043
import java.util.HashMap;
4144
import java.util.Map;
45+
import java.util.Map.Entry;
4246
import java.util.TreeMap;
4347
import java.util.logging.Level;
4448
import java.util.logging.Logger;
@@ -377,5 +381,17 @@ private static void getDefaultSubstitutions(
377381
}
378382
}
379383
}
384+
385+
// Handle Matrix Axes
386+
if (project instanceof MatrixConfiguration) {
387+
MatrixConfiguration matrixConfiguration = (MatrixConfiguration) project;
388+
subst.putAll(matrixConfiguration.getCombination());
389+
}
390+
if (project instanceof MatrixProject) {
391+
MatrixProject matrixProject = (MatrixProject) project;
392+
for (Axis axis : matrixProject.getAxes()) {
393+
subst.put(axis.name, axis.size() >0 ? axis.value(0) : "");
394+
}
395+
}
380396
}
381397
}

0 commit comments

Comments
 (0)