Search in sources :

Example 1 with RootBuildLifecycleListener

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();
    }
}
Also used : GradleLauncherFactory(org.gradle.initialization.GradleLauncherFactory) GradleBuildController(org.gradle.internal.invocation.GradleBuildController) GradleLauncher(org.gradle.initialization.GradleLauncher) RootBuildLifecycleListener(org.gradle.initialization.RootBuildLifecycleListener) ListenerManager(org.gradle.internal.event.ListenerManager)

Example 2 with RootBuildLifecycleListener

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;
    }
}
Also used : GradleInternal(org.gradle.api.internal.GradleInternal) BuildResult(org.gradle.BuildResult) DefaultDeploymentRegistry(org.gradle.deployment.internal.DefaultDeploymentRegistry) RootBuildLifecycleListener(org.gradle.initialization.RootBuildLifecycleListener) InternalBuildAdapter(org.gradle.internal.InternalBuildAdapter)

Aggregations

RootBuildLifecycleListener (org.gradle.initialization.RootBuildLifecycleListener)2 BuildResult (org.gradle.BuildResult)1 GradleInternal (org.gradle.api.internal.GradleInternal)1 DefaultDeploymentRegistry (org.gradle.deployment.internal.DefaultDeploymentRegistry)1 GradleLauncher (org.gradle.initialization.GradleLauncher)1 GradleLauncherFactory (org.gradle.initialization.GradleLauncherFactory)1 InternalBuildAdapter (org.gradle.internal.InternalBuildAdapter)1 ListenerManager (org.gradle.internal.event.ListenerManager)1 GradleBuildController (org.gradle.internal.invocation.GradleBuildController)1