Skip to content

Commit

Permalink
Merge pull request #9 from jglick/Snippetizer-JENKINS-31831
Browse files Browse the repository at this point in the history
[JENKINS-31831] Show Pipeline Groovy link on multibranch projects
  • Loading branch information
jglick committed May 23, 2016
2 parents 651b566 + 9442dc1 commit 4524135
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 8 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -74,7 +74,7 @@ THE SOFTWARE.
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>workflow-cps</artifactId>
<version>1.15</version>
<version>2.3</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
Expand Down
Expand Up @@ -33,14 +33,12 @@
import hudson.model.TaskListener;
import hudson.scm.SCM;
import java.util.List;
import javax.inject.Inject;
import jenkins.branch.Branch;
import jenkins.scm.api.SCMHead;
import jenkins.scm.api.SCMRevision;
import jenkins.scm.api.SCMRevisionAction;
import jenkins.scm.api.SCMSource;
import org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition;
import org.jenkinsci.plugins.workflow.cps.Snippetizer;
import org.jenkinsci.plugins.workflow.flow.FlowDefinition;
import org.jenkinsci.plugins.workflow.flow.FlowDefinitionDescriptor;
import org.jenkinsci.plugins.workflow.flow.FlowExecution;
Expand Down Expand Up @@ -89,8 +87,6 @@ class SCMBinder extends FlowDefinition {

@Extension public static class DescriptorImpl extends FlowDefinitionDescriptor {

@Inject public Snippetizer snippetizer;

@Override public String getDisplayName() {
return "Pipeline script from " + WorkflowMultiBranchProject.SCRIPT;
}
Expand Down
Expand Up @@ -25,19 +25,25 @@
package org.jenkinsci.plugins.workflow.multibranch;

import hudson.Extension;
import hudson.model.Action;
import hudson.model.Descriptor;
import hudson.model.Item;
import hudson.model.ItemGroup;
import hudson.model.TaskListener;
import hudson.model.TopLevelItem;
import hudson.scm.SCMDescriptor;
import java.io.IOException;
import java.util.Collection;
import java.util.Collections;
import java.util.logging.Level;
import java.util.logging.Logger;
import jenkins.branch.BranchProjectFactory;
import jenkins.branch.MultiBranchProject;
import jenkins.branch.MultiBranchProjectDescriptor;
import jenkins.model.TransientActionFactory;
import jenkins.scm.api.SCMSource;
import jenkins.scm.api.SCMSourceCriteria;
import org.jenkinsci.plugins.workflow.cps.Snippetizer;
import org.jenkinsci.plugins.workflow.job.WorkflowJob;
import org.jenkinsci.plugins.workflow.job.WorkflowRun;

Expand Down Expand Up @@ -103,4 +109,20 @@ public String getIconFilePathPattern() {

}

@Extension public static class PerFolderAdder extends TransientActionFactory<WorkflowMultiBranchProject> {

@Override public Class<WorkflowMultiBranchProject> type() {
return WorkflowMultiBranchProject.class;
}

@Override public Collection<? extends Action> createFor(WorkflowMultiBranchProject target) {
if (target.hasPermission(Item.EXTENDED_READ)) {
return Collections.singleton(new Snippetizer.LocalAction());
} else {
return Collections.emptySet();
}
}

}

}
Expand Up @@ -25,13 +25,20 @@
package org.jenkinsci.plugins.workflow.multibranch;

import hudson.Extension;
import hudson.model.Action;
import hudson.model.Item;
import hudson.model.ItemGroup;
import java.util.Collection;
import java.util.Collections;
import java.util.Map;
import jenkins.branch.MultiBranchProject;
import jenkins.branch.MultiBranchProjectFactory;
import jenkins.branch.MultiBranchProjectFactoryDescriptor;
import jenkins.branch.OrganizationFolder;
import jenkins.model.TransientActionFactory;
import jenkins.scm.api.SCMSource;
import jenkins.scm.api.SCMSourceCriteria;
import org.jenkinsci.plugins.workflow.cps.Snippetizer;
import static org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject.CRITERIA;
import org.kohsuke.stapler.DataBoundConstructor;

Expand Down Expand Up @@ -59,4 +66,20 @@ public class WorkflowMultiBranchProjectFactory extends MultiBranchProjectFactory

}

@Extension public static class PerFolderAdder extends TransientActionFactory<OrganizationFolder> {

@Override public Class<OrganizationFolder> type() {
return OrganizationFolder.class;
}

@Override public Collection<? extends Action> createFor(OrganizationFolder target) {
if (target.getProjectFactories().get(WorkflowMultiBranchProjectFactory.class) != null && target.hasPermission(Item.EXTENDED_READ)) {
return Collections.singleton(new Snippetizer.LocalAction());
} else {
return Collections.emptySet();
}
}

}

}
Expand Up @@ -24,6 +24,4 @@ THE SOFTWARE.
-->

<?jelly escape-by-default='true'?>
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler">
<st:include it="${descriptor.snippetizer}" page="block.jelly"/>
</j:jelly>
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler"/>

0 comments on commit 4524135

Please sign in to comment.