Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ import org.gradle.api.internal.tasks.TaskExecutionAccessChecker
import org.gradle.api.internal.tasks.execution.TaskExecutionAccessListener
import org.gradle.execution.ExecutionAccessChecker
import org.gradle.execution.ExecutionAccessListener
import org.gradle.internal.build.BuildModelControllerServices
import org.gradle.internal.build.BuildToolingModelControllerFactory
import org.gradle.internal.buildoption.InternalOptions
import org.gradle.internal.buildtree.BuildModelParameters
import org.gradle.internal.buildtree.BuildTreeModelControllerServices
Expand Down Expand Up @@ -63,8 +65,8 @@ class ConfigurationCacheServices : AbstractGradleModuleServices() {
registration.run {
add(BuildNameProvider::class.java)
add(ConfigurationCacheKey::class.java)
add(DefaultBuildModelControllerServices::class.java)
add(DefaultBuildToolingModelControllerFactory::class.java)
add(BuildModelControllerServices::class.java, DefaultBuildModelControllerServices::class.java)
add(BuildToolingModelControllerFactory::class.java, DefaultBuildToolingModelControllerFactory::class.java)
add(DeprecatedFeaturesListener::class.java)
add(InputTrackingState::class.java)
add(InstrumentedExecutionAccessListener::class.java)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,16 @@ import org.gradle.api.internal.artifacts.ivyservice.projectmodule.LocalComponent
import org.gradle.api.internal.configuration.DefaultBuildFeatures
import org.gradle.api.logging.LogLevel
import org.gradle.execution.selection.BuildTaskSelector
import org.gradle.initialization.EnvironmentChangeTracker
import org.gradle.initialization.StartParameterBuildOptions
import org.gradle.internal.build.BuildStateRegistry
import org.gradle.internal.buildoption.DefaultInternalOptions
import org.gradle.internal.buildoption.InternalFlag
import org.gradle.internal.buildtree.BuildActionModelRequirements
import org.gradle.internal.buildtree.BuildModelParameters
import org.gradle.internal.buildtree.BuildTreeLifecycleControllerFactory
import org.gradle.internal.buildtree.BuildTreeModelControllerServices
import org.gradle.internal.buildtree.BuildTreeModelSideEffectExecutor
import org.gradle.internal.buildtree.BuildTreeWorkGraphPreparer
import org.gradle.internal.buildtree.DefaultBuildTreeModelSideEffectExecutor
import org.gradle.internal.buildtree.DefaultBuildTreeWorkGraphPreparer
Expand All @@ -39,6 +42,7 @@ import org.gradle.internal.cc.base.logger
import org.gradle.internal.cc.base.services.ConfigurationCacheEnvironmentChangeTracker
import org.gradle.internal.cc.impl.fingerprint.ConfigurationCacheFingerprintController
import org.gradle.internal.cc.impl.initialization.ConfigurationCacheInjectedClasspathInstrumentationStrategy
import org.gradle.internal.cc.impl.initialization.ConfigurationCacheProblemsListener
import org.gradle.internal.cc.impl.initialization.ConfigurationCacheStartParameter
import org.gradle.internal.cc.impl.initialization.DefaultConfigurationCacheProblemsListener
import org.gradle.internal.cc.impl.initialization.InstrumentedExecutionAccessListenerRegistry
Expand All @@ -50,12 +54,14 @@ import org.gradle.internal.cc.impl.services.DefaultBuildModelParameters
import org.gradle.internal.cc.impl.services.DefaultDeferredRootBuildGradle
import org.gradle.internal.cc.impl.services.VintageEnvironmentChangeTracker
import org.gradle.internal.configuration.problems.DefaultProblemFactory
import org.gradle.internal.configuration.problems.ProblemFactory
import org.gradle.internal.scripts.ProjectScopedScriptResolution
import org.gradle.internal.serialize.codecs.core.jos.JavaSerializationEncodingLookup
import org.gradle.internal.service.Provides
import org.gradle.internal.service.ServiceRegistration
import org.gradle.internal.service.ServiceRegistrationProvider
import org.gradle.internal.snapshot.ValueSnapshotter
import org.gradle.plugin.use.resolve.service.internal.InjectedClasspathInstrumentationStrategy
import org.gradle.tooling.provider.model.internal.ToolingModelParameterCarrier
import org.gradle.util.internal.IncubationLogger

Expand Down Expand Up @@ -230,29 +236,29 @@ class DefaultBuildTreeModelControllerServices : BuildTreeModelControllerServices
registration.add(JavaSerializationEncodingLookup::class.java)

// This was originally only for the configuration cache, but now used for configuration cache and problems reporting
registration.add(DefaultProblemFactory::class.java)
registration.add(ProblemFactory::class.java, DefaultProblemFactory::class.java)

if (modelParameters.isConfigurationCache) {
registration.add(ConfigurationCacheBuildTreeLifecycleControllerFactory::class.java)
registration.add(BuildTreeLifecycleControllerFactory::class.java, ConfigurationCacheBuildTreeLifecycleControllerFactory::class.java)
registration.add(ConfigurationCacheStartParameter::class.java)
registration.add(ConfigurationCacheClassLoaderScopeRegistryListener::class.java)
registration.add(ConfigurationCacheInjectedClasspathInstrumentationStrategy::class.java)
registration.add(InjectedClasspathInstrumentationStrategy::class.java, ConfigurationCacheInjectedClasspathInstrumentationStrategy::class.java)
registration.add(ConfigurationCacheEnvironmentChangeTracker::class.java)
registration.add(DefaultConfigurationCacheProblemsListener::class.java)
registration.add(ConfigurationCacheProblemsListener::class.java, DefaultConfigurationCacheProblemsListener::class.java)
registration.add(ConfigurationCacheProblems::class.java)
registration.add(DefaultConfigurationCache::class.java)
registration.add(BuildTreeConfigurationCache::class.java, DefaultConfigurationCache::class.java)
registration.add(InstrumentedExecutionAccessListenerRegistry::class.java)
registration.add(ConfigurationCacheFingerprintController::class.java)
registration.addProvider(ConfigurationCacheBuildTreeProvider())
registration.add(ConfigurationCacheBuildTreeModelSideEffectExecutor::class.java)
registration.add(DefaultDeferredRootBuildGradle::class.java)
} else {
registration.add(VintageInjectedClasspathInstrumentationStrategy::class.java)
registration.add(VintageBuildTreeLifecycleControllerFactory::class.java)
registration.add(VintageEnvironmentChangeTracker::class.java)
registration.add(InjectedClasspathInstrumentationStrategy::class.java, VintageInjectedClasspathInstrumentationStrategy::class.java)
registration.add(BuildTreeLifecycleControllerFactory::class.java, VintageBuildTreeLifecycleControllerFactory::class.java)
registration.add(EnvironmentChangeTracker::class.java, VintageEnvironmentChangeTracker::class.java)
registration.add(ProjectScopedScriptResolution::class.java, ProjectScopedScriptResolution.NO_OP)
registration.addProvider(VintageBuildTreeProvider())
registration.add(DefaultBuildTreeModelSideEffectExecutor::class.java)
registration.add(BuildTreeModelSideEffectExecutor::class.java, DefaultBuildTreeModelSideEffectExecutor::class.java)
}
if (modelParameters.isIntermediateModelCache) {
registration.addProvider(ConfigurationCacheModelProvider())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ import org.gradle.internal.service.scopes.ServiceScope


@ServiceScope(Scope.BuildTree::class)
@ListenerService
interface ConfigurationCacheProblemsListener : ExecutionAccessListener, TaskExecutionAccessListener, BuildScopeListenerRegistrationListener, ExternalProcessStartedListener


@ListenerService
class DefaultConfigurationCacheProblemsListener internal constructor(
private val problems: ProblemsListener,
private val problemFactory: ProblemFactory,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,11 @@ import org.gradle.internal.cc.impl.InstrumentedExecutionAccessListener
import org.gradle.internal.classpath.InstrumentedExecutionAccess
import org.gradle.internal.concurrent.Stoppable
import org.gradle.internal.service.scopes.ListenerService
import org.gradle.internal.service.scopes.Scope
import org.gradle.internal.service.scopes.ServiceScope


@ServiceScope(Scope.BuildTree::class)
@ListenerService
internal
class InstrumentedExecutionAccessListenerRegistry(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,11 @@ package org.gradle.internal.cc.impl.services
import org.gradle.internal.cc.impl.models.BuildTreeModelSideEffectStore
import org.gradle.internal.buildtree.BuildTreeModelSideEffect
import org.gradle.internal.buildtree.BuildTreeModelSideEffectExecutor
import org.gradle.internal.service.scopes.Scope
import org.gradle.internal.service.scopes.ServiceScope


@ServiceScope(Scope.BuildTree::class)
internal
class ConfigurationCacheBuildTreeModelSideEffectExecutor : BuildTreeModelSideEffectExecutor {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ interface DeferredRootBuildGradle {
}


@ServiceScope(Scope.BuildTree::class)
internal
class DefaultDeferredRootBuildGradle : DeferredRootBuildGradle {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@ package org.gradle.internal.configuration.problems

import org.gradle.internal.service.scopes.EventScope
import org.gradle.internal.service.scopes.Scope
import org.gradle.internal.service.scopes.ServiceScope


@ServiceScope(Scope.BuildTree::class)
@EventScope(Scope.BuildTree::class)
interface ProblemFactory {
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ class ServiceScopeValidatorWorkarounds {
"org.gradle.cache.internal.ProducerGuard",
"org.gradle.internal.typeconversion.NotationParser",

// Avoid annotating services published as public libraries
// build-cache-base:
"org.gradle.caching.internal.origin.OriginMetadataFactory",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💅 would be nice to have a comment describing the reason for suppression


// It's supposed to be only in the Settings scope
// However, ProjectBuilderImpl does not instantiate that scope at all, while still requiring the service
// Because of this, it artificially puts it into the Build-scope to make it available
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@

import org.gradle.internal.enterprise.GradleEnterprisePluginService;
import org.gradle.internal.enterprise.GradleEnterprisePluginServiceRef;
import org.gradle.internal.service.scopes.Scope;
import org.gradle.internal.service.scopes.ServiceScope;

@ServiceScope(Scope.BuildTree.class)
public interface GradleEnterprisePluginServiceRefInternal extends GradleEnterprisePluginServiceRef {

void set(GradleEnterprisePluginService service);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,10 @@
package org.gradle.api.problems.internal;

import org.gradle.api.problems.Problems;
import org.gradle.internal.service.scopes.Scope;
import org.gradle.internal.service.scopes.ServiceScope;

@ServiceScope(Scope.BuildTree.class)
public interface InternalProblems extends Problems {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,13 @@
package org.gradle.api.problems.internal;

import org.gradle.api.problems.Problem;
import org.gradle.internal.service.scopes.Scope;
import org.gradle.internal.service.scopes.ServiceScope;

import java.io.File;
import java.util.List;

@ServiceScope(Scope.BuildTree.class)
public interface ProblemReportCreator {
/**
* Stores a new problem in a temporary file that will be added to the final report when #createProblem is called.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,14 @@
package org.gradle.problems.buildtree;

import com.google.common.base.Supplier;
import org.gradle.internal.service.scopes.Scope;
import org.gradle.internal.service.scopes.ServiceScope;
import org.gradle.problems.ProblemDiagnostics;

import javax.annotation.Nullable;
import java.util.List;

@ServiceScope(Scope.BuildTree.class)
public interface ProblemStream {
/**
* Returns diagnostics based on the state of the calling thread.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
package org.gradle.tooling.internal.provider.runner;

import org.gradle.internal.build.event.BuildEventListenerFactory;
import org.gradle.internal.buildtree.BuildActionRunner;
import org.gradle.internal.service.ServiceRegistration;
import org.gradle.internal.service.scopes.AbstractGradleModuleServices;

Expand All @@ -29,9 +30,9 @@ public void registerGlobalServices(ServiceRegistration registration) {
@Override
public void registerBuildTreeServices(ServiceRegistration registration) {
registration.add(BuildControllerFactory.class);
registration.add(BuildModelActionRunner.class);
registration.add(TestExecutionRequestActionRunner.class);
registration.add(ClientProvidedBuildActionRunner.class);
registration.add(ClientProvidedPhasedActionRunner.class);
registration.add(BuildActionRunner.class, BuildModelActionRunner.class);
registration.add(BuildActionRunner.class, TestExecutionRequestActionRunner.class);
registration.add(BuildActionRunner.class, ClientProvidedBuildActionRunner.class);
registration.add(BuildActionRunner.class, ClientProvidedPhasedActionRunner.class);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@
import org.gradle.cache.internal.FileContentCacheFactory;
import org.gradle.internal.FileUtils;
import org.gradle.internal.serialize.ListSerializer;
import org.gradle.internal.service.scopes.Scope;
import org.gradle.internal.service.scopes.ServiceScope;
import org.slf4j.Logger;

import java.io.File;
Expand All @@ -48,6 +50,7 @@
* Inspects a classpath to find annotation processors contained in it. If several versions of the same annotation processor are found,
* the first one is returned, mimicking the behavior of {@link java.util.ServiceLoader}.
*/
@ServiceScope(Scope.BuildTree.class)
public class AnnotationProcessorDetector {

public static final String PROCESSOR_DECLARATION = "META-INF/services/javax.annotation.processing.Processor";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,9 @@
import org.gradle.api.internal.artifacts.ivyservice.moduleconverter.dependencies.LocalVariantGraphResolveStateBuilder;
import org.gradle.api.internal.artifacts.ivyservice.projectmodule.DefaultProjectLocalComponentProvider;
import org.gradle.api.internal.artifacts.ivyservice.projectmodule.DefaultProjectPublicationRegistry;
import org.gradle.api.internal.artifacts.ivyservice.projectmodule.LocalComponentProvider;
import org.gradle.api.internal.artifacts.ivyservice.projectmodule.ProjectArtifactResolver;
import org.gradle.api.internal.artifacts.ivyservice.projectmodule.ProjectPublicationRegistry;
import org.gradle.api.internal.artifacts.ivyservice.resolveengine.artifact.VariantArtifactSetCache;
import org.gradle.api.internal.artifacts.ivyservice.resolveengine.result.AdhocHandlingComponentResultSerializer;
import org.gradle.api.internal.artifacts.ivyservice.resolveengine.result.AttributeContainerSerializer;
Expand All @@ -71,6 +73,7 @@
import org.gradle.api.internal.filestore.ArtifactIdentifierFileStore;
import org.gradle.api.internal.filestore.DefaultArtifactIdentifierFileStore;
import org.gradle.api.internal.filestore.TwoStageArtifactIdentifierFileStore;
import org.gradle.api.internal.project.HoldsProjectState;
import org.gradle.initialization.layout.BuildLayout;
import org.gradle.internal.component.external.model.ModuleComponentGraphResolveStateFactory;
import org.gradle.internal.component.local.model.LocalComponentGraphResolveStateFactory;
Expand Down Expand Up @@ -114,8 +117,8 @@ void configure(ServiceRegistration registration) {
registration.add(ThisBuildTreeOnlyComponentResultSerializer.class);
registration.add(AdhocHandlingComponentResultSerializer.class);
registration.add(ConnectionFailureRepositoryDisabler.class);
registration.add(DefaultProjectLocalComponentProvider.class);
registration.add(DefaultProjectPublicationRegistry.class);
registration.add(LocalComponentProvider.class, DefaultProjectLocalComponentProvider.class);
registration.add(ProjectPublicationRegistry.class, HoldsProjectState.class, DefaultProjectPublicationRegistry.class);
registration.add(LocalVariantGraphResolveStateBuilder.class, DefaultLocalVariantGraphResolveStateBuilder.class);
registration.add(ResolvedVariantCache.class);
registration.add(VariantArtifactSetCache.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,12 @@
import org.gradle.internal.serialize.Decoder;
import org.gradle.internal.serialize.Encoder;
import org.gradle.internal.serialize.Serializer;
import org.gradle.internal.service.scopes.Scope;
import org.gradle.internal.service.scopes.ServiceScope;

import java.io.IOException;

@ServiceScope(Scope.BuildTree.class)
public class CapabilitySelectorSerializer implements Serializer<CapabilitySelector> {

private static final int SPECIFIC_CAPABILITY_SELECTOR = 1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@
*/
package org.gradle.api.internal.artifacts.ivyservice.modulecache;

import org.gradle.internal.service.scopes.Scope;
import org.gradle.internal.service.scopes.ServiceScope;

@ServiceScope(Scope.BuildTree.class)
public class ModuleRepositoryCacheProvider {
private final ModuleRepositoryCaches caches;
private final ModuleRepositoryCaches inMemoryCaches;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@

import org.gradle.api.artifacts.component.ProjectComponentIdentifier;
import org.gradle.internal.component.local.model.LocalComponentGraphResolveState;
import org.gradle.internal.service.scopes.Scope;
import org.gradle.internal.service.scopes.ServiceScope;
import org.gradle.util.Path;

import javax.annotation.concurrent.ThreadSafe;
Expand All @@ -27,6 +29,7 @@
* <p>In general, you should be using {@link LocalComponentRegistry} instead of this type, as it is scoped
* to a build and will call the appropriate method on this provider.</p>
*/
@ServiceScope(Scope.BuildTree.class)
@ThreadSafe
public interface BuildTreeLocalComponentProvider {
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,16 @@
package org.gradle.api.internal.artifacts.ivyservice.projectmodule;

import org.gradle.internal.component.local.model.LocalComponentGraphResolveState;
import org.gradle.internal.service.scopes.Scope;
import org.gradle.internal.service.scopes.ServiceScope;
import org.gradle.util.Path;

import java.util.function.Function;

/**
* A cache for {@link LocalComponentGraphResolveState} instances.
*/
@ServiceScope(Scope.BuildTree.class)
public interface LocalComponentCache {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@

import org.gradle.api.internal.project.ProjectState;
import org.gradle.internal.component.local.model.LocalComponentGraphResolveState;
import org.gradle.internal.service.scopes.Scope;
import org.gradle.internal.service.scopes.ServiceScope;

import javax.annotation.concurrent.ThreadSafe;

Expand All @@ -25,6 +27,7 @@
*
* <p>In general, you should be using {@link LocalComponentRegistry} instead of this type.</p>
*/
@ServiceScope(Scope.BuildTree.class)
@ThreadSafe
public interface LocalComponentProvider {
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@

import org.gradle.api.artifacts.component.BuildIdentifier;
import org.gradle.api.internal.project.ProjectIdentity;
import org.gradle.internal.service.scopes.Scope;
import org.gradle.internal.service.scopes.ServiceScope;
import org.gradle.util.Path;

import javax.annotation.concurrent.ThreadSafe;
Expand All @@ -30,6 +32,7 @@
*
* The information is gathered from multiple sources ({@code publishing.publications} container, etc.).
*/
@ServiceScope(Scope.BuildTree.class)
@ThreadSafe
public interface ProjectPublicationRegistry {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,14 @@
import org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.ResolvedGraphComponent;
import org.gradle.internal.serialize.Decoder;
import org.gradle.internal.serialize.Encoder;
import org.gradle.internal.service.scopes.Scope;
import org.gradle.internal.service.scopes.ServiceScope;

/**
* A {@link ComponentResultSerializer} that determines whether to fully serialize a component
* depending on if it is adhoc or not.
*/
@ServiceScope(Scope.BuildTree.class)
public class AdhocHandlingComponentResultSerializer implements ComponentResultSerializer {

private final ThisBuildTreeOnlyComponentResultSerializer thisBuildTreeOnlyComponentResultSerializer;
Expand Down
Loading
Loading