Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[JENKINS-30595] Implemented API.
  • Loading branch information
jglick committed Nov 2, 2015
1 parent b8f6a22 commit 1505793
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 4 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -108,7 +108,7 @@
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>scm-api</artifactId>
<version>0.3-beta-1</version>
<version>0.3-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
Expand Down
33 changes: 30 additions & 3 deletions src/main/java/jenkins/branch/BranchProjectFactory.java
Expand Up @@ -25,12 +25,14 @@

import edu.umd.cs.findbugs.annotations.CheckForNull;
import edu.umd.cs.findbugs.annotations.NonNull;
import hudson.ExtensionPoint;
import hudson.BulkChange;
import hudson.Extension;
import hudson.ExtensionPoint;
import hudson.XmlFile;
import hudson.model.AbstractDescribableImpl;
import hudson.model.Descriptor;
import hudson.model.Item;
import hudson.model.ItemGroup;
import hudson.model.Job;
import hudson.model.JobProperty;
import hudson.model.Project;
Expand All @@ -40,13 +42,16 @@
import hudson.tasks.BuildWrapper;
import hudson.tasks.Publisher;
import hudson.util.DescribableList;
import jenkins.scm.api.SCMRevision;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import jenkins.scm.api.SCMHead;
import jenkins.scm.api.SCMHead.HeadByItem;
import jenkins.scm.api.SCMRevision;
import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.DoNotUse;

/**
* Creates instances of the branch projects for a specific {@link Branch} and also provides some utility methods for
Expand Down Expand Up @@ -230,4 +235,26 @@ public P decorate(P project) {
return project;
}

@Restricted(DoNotUse.class)
@Extension
public static class HeadByItemImpl extends HeadByItem {

/** {@inheritDoc} */
@SuppressWarnings({"unchecked", "rawtypes"})
@Override
public SCMHead getHead(Item item) {
if (item instanceof Job) {
ItemGroup<?> parent = item.getParent();
if (parent instanceof MultiBranchProject) {
BranchProjectFactory projectFactory = ((MultiBranchProject) parent).getProjectFactory();
if (projectFactory.isProject(item)) {
return projectFactory.getBranch((Job) item).getHead();
}
}
}
return null;
}

}

}

0 comments on commit 1505793

Please sign in to comment.