/*
This file is part of Delivery Pipeline Plugin.
Delivery Pipeline Plugin is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Delivery Pipeline Plugin is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Delivery Pipeline Plugin.
If not, see <http://www.gnu.org/licenses/>.
*/
package se.diabol.jenkins.workflow.step;
import com.google.inject.Inject;
import hudson.model.InvisibleAction;
import org.jenkinsci.plugins.workflow.actions.LabelAction;
import org.jenkinsci.plugins.workflow.graph.FlowNode;
import org.jenkinsci.plugins.workflow.steps.AbstractStepExecutionImpl;
import org.jenkinsci.plugins.workflow.steps.StepContextParameter;
public class TaskStepExecution extends AbstractStepExecutionImpl {
@StepContextParameter
private transient FlowNode node;
@Inject(optional = true)
private transient TaskStep step;
@Override
public boolean start() throws Exception {
node.addAction(new LabelAction(step.name));
node.addAction(new TaskActionImpl(step.name));
getContext().onSuccess(null);
return false;
}
@Override
public void stop(Throwable throwable) throws Exception {
}
@Override
public void onResume() {
super.onResume();
}
private static final class TaskActionImpl extends InvisibleAction implements TaskAction {
private final String taskName;
TaskActionImpl(String taskName) {
this.taskName = taskName;
}
@Override
public String getTaskName() {
return taskName;
}
}
}