use of org.gradle.tooling.internal.consumer.converters.ConsumerTargetTypeProvider in project gradle by gradle.
the class InternalBuildActionAdapter method execute.
/**
* This is used by providers 1.8-rc-1 to 4.3
*/
public T execute(final InternalBuildController buildController) {
ProtocolToModelAdapter protocolToModelAdapter = new ProtocolToModelAdapter(new ConsumerTargetTypeProvider());
BuildController buildControllerAdapter = new BuildControllerAdapter(protocolToModelAdapter, new InternalBuildControllerAdapter() {
@Override
public BuildResult<?> getModel(Object target, ModelIdentifier modelIdentifier, Object parameter) {
return buildController.getModel(target, modelIdentifier);
}
}, new ModelMapping(), rootDir);
buildControllerAdapter = new BuildControllerWithoutParameterSupport(versionDetails, buildControllerAdapter);
if (!versionDetails.maySupportModel(BuildInvocations.class)) {
buildControllerAdapter = new BuildInvocationsAdapterController(protocolToModelAdapter, buildControllerAdapter);
}
return action.execute(buildControllerAdapter);
}
use of org.gradle.tooling.internal.consumer.converters.ConsumerTargetTypeProvider in project gradle by gradle.
the class InternalBuildActionAdapter method execute.
/**
* This is used by providers 1.8-rc-1 to 4.3
*/
@Override
public T execute(final org.gradle.tooling.internal.protocol.InternalBuildController buildController) {
ProtocolToModelAdapter protocolToModelAdapter = new ProtocolToModelAdapter(new ConsumerTargetTypeProvider());
BuildController buildControllerAdapter = new BuildControllerWithoutParameterSupport(buildController, protocolToModelAdapter, new ModelMapping(), rootDir, versionDetails);
return action.execute(buildControllerAdapter);
}
use of org.gradle.tooling.internal.consumer.converters.ConsumerTargetTypeProvider in project gradle by gradle.
the class InternalBuildActionAdapter method execute.
/**
* This is used by providers 4.4 and later
*/
public T execute(final InternalBuildControllerVersion2 buildController) {
ProtocolToModelAdapter protocolToModelAdapter = new ProtocolToModelAdapter(new ConsumerTargetTypeProvider());
BuildController buildControllerAdapter = new BuildControllerAdapter(protocolToModelAdapter, new InternalBuildControllerAdapter() {
@Override
public BuildResult<?> getModel(Object target, ModelIdentifier modelIdentifier, Object parameter) {
return buildController.getModel(target, modelIdentifier, parameter);
}
}, new ModelMapping(), rootDir);
return action.execute(buildControllerAdapter);
}
use of org.gradle.tooling.internal.consumer.converters.ConsumerTargetTypeProvider in project gradle by gradle.
the class DefaultToolingImplementationLoader method create.
@Override
public ConsumerConnection create(Distribution distribution, ProgressLoggerFactory progressLoggerFactory, InternalBuildProgressListener progressListener, ConnectionParameters connectionParameters, BuildCancellationToken cancellationToken) {
LOGGER.debug("Using tooling provider from {}", distribution.getDisplayName());
ClassLoader serviceClassLoader = createImplementationClassLoader(distribution, progressLoggerFactory, progressListener, connectionParameters, cancellationToken);
ServiceLocator serviceLocator = new DefaultServiceLocator(serviceClassLoader);
try {
Factory<ConnectionVersion4> factory = serviceLocator.findFactory(ConnectionVersion4.class);
if (factory == null) {
return new NoToolingApiConnection(distribution);
}
ConnectionVersion4 connection = factory.create();
ProtocolToModelAdapter adapter = new ProtocolToModelAdapter(new ConsumerTargetTypeProvider());
ModelMapping modelMapping = new ModelMapping();
if (connection instanceof InternalStopWhenIdleConnection) {
return createConnection(new StopWhenIdleConsumerConnection(connection, modelMapping, adapter), connectionParameters);
} else if (connection instanceof InternalInvalidatableVirtualFileSystemConnection) {
return createConnection(new NotifyDaemonsAboutChangedPathsConsumerConnection(connection, modelMapping, adapter), connectionParameters);
} else if (connection instanceof InternalPhasedActionConnection) {
return createConnection(new PhasedActionAwareConsumerConnection(connection, modelMapping, adapter), connectionParameters);
} else if (connection instanceof InternalParameterAcceptingConnection) {
return createConnection(new ParameterAcceptingConsumerConnection(connection, modelMapping, adapter), connectionParameters);
} else if (connection instanceof InternalTestExecutionConnection) {
return createConnection(new TestExecutionConsumerConnection(connection, modelMapping, adapter), connectionParameters);
} else {
return new UnsupportedOlderVersionConnection(connection, adapter);
}
} catch (UnsupportedVersionException e) {
throw e;
} catch (Throwable t) {
throw new GradleConnectionException(String.format("Could not create an instance of Tooling API implementation using the specified %s.", distribution.getDisplayName()), t);
}
}
Aggregations