Skip to content

Commit

Permalink
Merge pull request #10286 from gradle/devisnk/make-detached-config-na…
Browse files Browse the repository at this point in the history
…me-thread-safe

Use AtomicInteger for detached configuration name counter
  • Loading branch information
big-guy committed Aug 16, 2019
2 parents 2f5491c + 3318948 commit 7d3a5fb
Showing 1 changed file with 3 additions and 2 deletions.
Expand Up @@ -57,6 +57,7 @@

import java.util.Collection;
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;

public class DefaultConfigurationContainer extends AbstractValidatingNamedDomainObjectContainer<Configuration>
implements ConfigurationContainerInternal, ConfigurationsProvider {
Expand All @@ -78,7 +79,7 @@ public class DefaultConfigurationContainer extends AbstractValidatingNamedDomain
private final ProjectStateRegistry projectStateRegistry;
private final DocumentationRegistry documentationRegistry;

private int detachedConfigurationDefaultNameCounter = 1;
private final AtomicInteger detachedConfigurationDefaultNameCounter = new AtomicInteger(1);
private final Factory<ResolutionStrategyInternal> resolutionStrategyFactory;
private final DefaultRootComponentMetadataBuilder rootComponentMetadataBuilder;
private final DomainObjectCollectionFactory domainObjectCollectionFactory;
Expand Down Expand Up @@ -160,7 +161,7 @@ protected UnknownDomainObjectException createNotFoundException(String name) {

@Override
public ConfigurationInternal detachedConfiguration(Dependency... dependencies) {
String name = DETACHED_CONFIGURATION_DEFAULT_NAME + detachedConfigurationDefaultNameCounter++;
String name = DETACHED_CONFIGURATION_DEFAULT_NAME + detachedConfigurationDefaultNameCounter.getAndIncrement();
DetachedConfigurationsProvider detachedConfigurationsProvider = new DetachedConfigurationsProvider();
DefaultConfiguration detachedConfiguration = instantiator.newInstance(DefaultConfiguration.class,
context, name, detachedConfigurationsProvider, resolver,
Expand Down

0 comments on commit 7d3a5fb

Please sign in to comment.