package org.jenkinsci.plugins.workflow.testMetaStep; import com.google.inject.Inject; import hudson.Extension; import hudson.model.TaskListener; import org.jenkinsci.plugins.workflow.DSLTest; import org.jenkinsci.plugins.workflow.steps.AbstractStepDescriptorImpl; import org.jenkinsci.plugins.workflow.steps.AbstractStepImpl; import org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution; import org.jenkinsci.plugins.workflow.steps.StepContextParameter; import org.kohsuke.stapler.DataBoundConstructor; /** * @author Andrew Bayer * @see DSLTest */ public class MonomorphicWithSymbolStep extends AbstractStepImpl { public final MonomorphicDataWithSymbol data; @DataBoundConstructor public MonomorphicWithSymbolStep(MonomorphicDataWithSymbol data) { this.data = data; } private static final class Execution extends AbstractSynchronousNonBlockingStepExecution<Void> { @Inject private transient MonomorphicWithSymbolStep step; @StepContextParameter private transient TaskListener listener; @Override protected Void run() throws Exception { listener.getLogger().println(step.data.getArgs()); return null; } private static final long serialVersionUID = 1L; } @Extension public static final class DescriptorImpl extends AbstractStepDescriptorImpl { public DescriptorImpl() { super(Execution.class); } @Override public String getFunctionName() { return "monomorphWithSymbolStep"; } @Override public String getDisplayName() { return "Testing monomorphic single parameter with a symbol."; } } }