use of org.gradle.initialization.RootBuildLifecycleListener in project gradle by gradle.
the class InProcessBuildActionExecuter method execute.
public Object execute(BuildAction action, BuildRequestContext buildRequestContext, BuildActionParameters actionParameters, ServiceRegistry contextServices) {
GradleLauncherFactory gradleLauncherFactory = contextServices.get(GradleLauncherFactory.class);
GradleLauncher gradleLauncher = gradleLauncherFactory.newInstance(action.getStartParameter(), buildRequestContext, contextServices);
GradleBuildController buildController = new GradleBuildController(gradleLauncher);
checkDeprecations(action.getStartParameter());
try {
RootBuildLifecycleListener buildLifecycleListener = contextServices.get(ListenerManager.class).getBroadcaster(RootBuildLifecycleListener.class);
buildLifecycleListener.afterStart();
try {
buildActionRunner.run(action, buildController);
return buildController.getResult();
} finally {
buildLifecycleListener.beforeComplete();
}
} finally {
buildController.stop();
}
}
use of org.gradle.initialization.RootBuildLifecycleListener in project gradle by gradle.
the class DefaultRootBuildState method run.
@Override
public <T> T run(Function<? super BuildTreeLifecycleController, T> action) {
if (completed) {
throw new IllegalStateException("Cannot run more than one action for a build.");
}
try {
RootBuildLifecycleListener buildLifecycleListener = listenerManager.getBroadcaster(RootBuildLifecycleListener.class);
buildLifecycleListener.afterStart();
try {
GradleInternal gradle = getBuildController().getGradle();
DefaultDeploymentRegistry deploymentRegistry = gradle.getServices().get(DefaultDeploymentRegistry.class);
gradle.addBuildListener(new InternalBuildAdapter() {
@Override
public void buildFinished(BuildResult result) {
deploymentRegistry.buildFinished(result);
}
});
return action.apply(buildTreeLifecycleController);
} finally {
buildLifecycleListener.beforeComplete();
}
} finally {
completed = true;
}
}
Aggregations