Skip to content

Commit

Permalink
[JENKINS-31128] Added the posibility to run with Matrix projects
Browse files Browse the repository at this point in the history
  • Loading branch information
MadsNielsen authored and Thierry Lacour committed Oct 30, 2015
1 parent 146fefe commit 80d066a
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 9 deletions.
12 changes: 6 additions & 6 deletions pom.xml
Expand Up @@ -3,7 +3,7 @@
<parent>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>plugin</artifactId>
<version>1.580</version>
<version>1.580</version> <!-- Do not forget to update the test harness dependency! -->
</parent>

<url>http://wiki.jenkins-ci.org/display/JENKINS/Pretested+Integration+Plugin</url>
Expand Down Expand Up @@ -471,14 +471,14 @@
<version>1.37</version>
<optional>true</optional>
</dependency>

<!--
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>matrix-project</artifactId>
<version>1.4</version>
<scope>test</scope>
<version>1.3</version>
<optional>true</optional>
</dependency>

-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
Expand All @@ -495,7 +495,7 @@
<dependency>
<groupId>org.jenkins-ci.main</groupId>
<artifactId>jenkins-test-harness</artifactId>
<version>1.532</version>
<version>1.580</version>
<scope>test</scope>
</dependency>
<dependency>
Expand Down
Expand Up @@ -29,6 +29,8 @@ public class PretestedIntegrationBuildWrapper extends BuildWrapper {
public static final String LOG_PREFIX = "[PREINT] ";
public final AbstractSCMBridge scmBridge;



@DataBoundConstructor
public PretestedIntegrationBuildWrapper(final AbstractSCMBridge scmBridge) {
this.scmBridge = scmBridge;
Expand Down
Expand Up @@ -3,6 +3,8 @@
import hudson.AbortException;
import hudson.Extension;
import hudson.Launcher;
import hudson.matrix.MatrixConfiguration;
import hudson.matrix.MatrixProject;
import hudson.model.AbstractBuild;
import hudson.model.AbstractProject;
import hudson.model.BuildListener;
Expand All @@ -27,13 +29,20 @@ public class PretestedIntegrationPostCheckout extends Recorder {
public PretestedIntegrationPostCheckout() {
}

private AbstractSCMBridge getScmBridge(AbstractBuild<?, ?> build) throws AbortException {
if (build.getProject() instanceof FreeStyleProject) {
private AbstractSCMBridge getScmBridge(AbstractBuild<?, ?> build) throws AbortException {
AbstractProject<?,?> proj = build.getProject();


if (proj instanceof FreeStyleProject) {
FreeStyleProject p = (FreeStyleProject) build.getProject();
PretestedIntegrationBuildWrapper wrapper = p.getBuildWrappersList().get(PretestedIntegrationBuildWrapper.class);
return wrapper.scmBridge;
} else if(proj instanceof MatrixConfiguration) {
MatrixProject p = ((MatrixConfiguration)proj).getParent();
PretestedIntegrationBuildWrapper wrapper = p.getBuildWrappersList().get(PretestedIntegrationBuildWrapper.class);
return wrapper.scmBridge;
} else {
throw new AbortException("Not supported for non-FreeStyle projects");
throw new AbortException("Unsupported job type.");
}
}

Expand Down

0 comments on commit 80d066a

Please sign in to comment.