Search in sources :

Example 6 with CompositeStoppable

use of org.gradle.internal.concurrent.CompositeStoppable in project gradle by gradle.

the class DefaultGradleUserHomeScopeServiceRegistry method close.

@Override
public void close() {
    CompositeStoppable stoppable = new CompositeStoppable();
    lock.lock();
    try {
        for (Map.Entry<File, Services> entry : servicesForHomeDir.entrySet()) {
            Services services = entry.getValue();
            if (services.count != 0) {
                throw new IllegalStateException("Services for Gradle user home directory '" + entry.getKey() + "' have not been released.");
            }
            stoppable.add(services.registry);
        }
        servicesForHomeDir.clear();
    } finally {
        lock.unlock();
    }
    stoppable.stop();
}
Also used : Map(java.util.Map) HashMap(java.util.HashMap) File(java.io.File) CompositeStoppable(org.gradle.internal.concurrent.CompositeStoppable)

Aggregations

CompositeStoppable (org.gradle.internal.concurrent.CompositeStoppable)6 Stoppable (org.gradle.internal.concurrent.Stoppable)5 BuildActionParameters (org.gradle.launcher.exec.BuildActionParameters)3 DefaultBuildActionParameters (org.gradle.launcher.exec.DefaultBuildActionParameters)3 File (java.io.File)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 StartParameter (org.gradle.StartParameter)1 SessionLifecycleListener (org.gradle.initialization.SessionLifecycleListener)1 AsyncStoppable (org.gradle.internal.concurrent.AsyncStoppable)1 ListenerManager (org.gradle.internal.event.ListenerManager)1 ServiceRegistry (org.gradle.internal.service.ServiceRegistry)1 BuildSessionScopeServices (org.gradle.internal.service.scopes.BuildSessionScopeServices)1 CrossBuildSessionScopeServices (org.gradle.internal.service.scopes.CrossBuildSessionScopeServices)1 GradleUserHomeScopeServiceRegistry (org.gradle.internal.service.scopes.GradleUserHomeScopeServiceRegistry)1