public void execute(BuildExecutionContext context) {
    GradleInternal gradle = context.getGradle();
    TaskGraphExecuter taskGraph = gradle.getTaskGraph();
    if (gradle.getStartParameter().isContinueOnFailure()) {
      taskGraph.useFailureHandler(new ContinueOnFailureHandler());
    }

    taskGraph.addTaskExecutionGraphListener(new BindAllReferencesOfProjectsToExecuteListener());
    taskGraph.execute();
  }