package org.jenkinsci.plugins.ghprb.jobdsl; import javaposse.jobdsl.dsl.Context; import javaposse.jobdsl.plugin.ContextExtensionPoint; import org.jenkinsci.plugins.ghprb.extensions.GhprbExtension; import org.jenkinsci.plugins.ghprb.extensions.status.GhprbSimpleStatus; import org.jenkinsci.plugins.ghprb.extensions.comments.GhprbBuildStatus; import java.util.ArrayList; import java.util.List; class GhprbExtensionContext implements Context { List<GhprbExtension> extensions = new ArrayList<GhprbExtension>(); /** * Updates the commit status during the build. */ void commitStatus(Runnable closure) { GhprbSimpleStatusContext context = new GhprbSimpleStatusContext(); ContextExtensionPoint.executeInContext(closure, context); extensions.add(new GhprbSimpleStatus( context.showMatrixStatus, context.context, context.statusUrl, context.triggeredStatus, context.startedStatus, context.addTestResults, context.completedStatus )); } /** * Adds build result messages */ void buildStatus(Runnable closure) { GhprbBuildStatusContext context = new GhprbBuildStatusContext(); ContextExtensionPoint.executeInContext(closure, context); extensions.add(new GhprbBuildStatus( context.completedStatus )); } }