@Override public void run(ToolingApiOperation runnable, IProgressMonitor monitor) throws CoreException { run(runnable, GradleConnector.newCancellationTokenSource(), monitor); }
@Override public SynchronizationResult synchronize(IProgressMonitor monitor) { return synchronize(NewProjectHandler.IMPORT_AND_MERGE, GradleConnector.newCancellationTokenSource(), monitor); }
@Override public void init(InitializationContext context, IProgressMonitor monitor) { // TODO (donat) add required model declarations to the project configurator extension point GradleBuild gradleBuild = context.getGradleBuild(); this.gradleBuild = (DefaultGradleBuild) gradleBuild; Collection<EclipseProject> eclipseProjects = ModelProviderUtil.fetchAllEclipseProjects(this.gradleBuild, GradleConnector.newCancellationTokenSource(), FetchStrategy.LOAD_IF_NOT_CACHED, monitor); this.locationToProject = eclipseProjects.stream().collect(Collectors.toMap(p -> p.getProjectDirectory(), p -> p)); }
@Override public <T> T withConnection(Function<ProjectConnection, ? extends T> action, IProgressMonitor monitor) throws Exception { Preconditions.checkNotNull(action); monitor = monitor != null ? monitor : new NullProgressMonitor(); GradleConnectionOperation<T> operation = new GradleConnectionOperation<>(action); try { CorePlugin.operationManager().run(operation, GradleConnector.newCancellationTokenSource(), monitor); return operation.result; } catch (CoreException e) { if (e.getStatus().getException() instanceof Exception) { throw (Exception) e.getStatus().getException(); } else { throw e; } } }