Search in sources :

Example 1 with InstantiatorBackedObjectFactory

use of org.gradle.api.internal.model.InstantiatorBackedObjectFactory in project gradle by gradle.

the class DefaultExecActionFactory method root.

// Do not use this. It's here because some of the services this type needs are not easily accessed in certain cases and will be removed ay some point. Use one of the other methods instead
@Deprecated
public static DefaultExecActionFactory root(File gradleUserHome) {
    requireNonNull(gradleUserHome, "gradleUserHome");
    Factory<PatternSet> patternSetFactory = PatternSets.getNonCachingPatternSetFactory();
    FileResolver resolver = new DefaultFileLookup().getFileResolver();
    DefaultFileCollectionFactory fileCollectionFactory = new DefaultFileCollectionFactory(resolver, DefaultTaskDependencyFactory.withNoAssociatedProject(), new DefaultDirectoryFileTreeFactory(), patternSetFactory, PropertyHost.NO_OP, FileSystems.getDefault());
    GradleUserHomeDirProvider userHomeDirProvider = () -> gradleUserHome;
    TemporaryFileProvider temporaryFileProvider = new GradleUserHomeTemporaryFileProvider(userHomeDirProvider);
    return of(resolver, fileCollectionFactory, new InstantiatorBackedObjectFactory(DirectInstantiator.INSTANCE), new DefaultExecutorFactory(), new DefaultBuildCancellationToken(), temporaryFileProvider);
}
Also used : InstantiatorBackedObjectFactory(org.gradle.api.internal.model.InstantiatorBackedObjectFactory) DefaultFileLookup(org.gradle.api.internal.file.DefaultFileLookup) GradleUserHomeDirProvider(org.gradle.initialization.GradleUserHomeDirProvider) DefaultBuildCancellationToken(org.gradle.initialization.DefaultBuildCancellationToken) DefaultDirectoryFileTreeFactory(org.gradle.api.internal.file.collections.DefaultDirectoryFileTreeFactory) GradleUserHomeTemporaryFileProvider(org.gradle.api.internal.file.temp.GradleUserHomeTemporaryFileProvider) TemporaryFileProvider(org.gradle.api.internal.file.temp.TemporaryFileProvider) GradleUserHomeTemporaryFileProvider(org.gradle.api.internal.file.temp.GradleUserHomeTemporaryFileProvider) FileResolver(org.gradle.api.internal.file.FileResolver) PatternSet(org.gradle.api.tasks.util.PatternSet) DefaultFileCollectionFactory(org.gradle.api.internal.file.DefaultFileCollectionFactory) DefaultExecutorFactory(org.gradle.internal.concurrent.DefaultExecutorFactory)

Example 2 with InstantiatorBackedObjectFactory

use of org.gradle.api.internal.model.InstantiatorBackedObjectFactory in project gradle by gradle.

the class DefaultScript method init.

@Override
public void init(final Object target, ServiceRegistry services) {
    super.init(target, services);
    this.scriptServices = services;
    loggingManager = services.get(LoggingManager.class);
    if (target instanceof HasScriptServices) {
        HasScriptServices scriptServices = (HasScriptServices) target;
        fileOperations = scriptServices.getFileOperations();
        processOperations = scriptServices.getProcessOperations();
    } else {
        Instantiator instantiator = services.get(Instantiator.class);
        FileLookup fileLookup = services.get(FileLookup.class);
        FileCollectionFactory fileCollectionFactory = services.get(FileCollectionFactory.class);
        File sourceFile = getScriptSource().getResource().getLocation().getFile();
        if (sourceFile != null) {
            FileResolver resolver = fileLookup.getFileResolver(sourceFile.getParentFile());
            FileCollectionFactory fileCollectionFactoryWithBase = fileCollectionFactory.withResolver(resolver);
            fileOperations = DefaultFileOperations.createSimple(resolver, fileCollectionFactoryWithBase, services);
            processOperations = services.get(ExecFactory.class).forContext().withFileResolver(resolver).withFileCollectionFactory(fileCollectionFactoryWithBase).withInstantiator(instantiator).withObjectFactory(new InstantiatorBackedObjectFactory(instantiator)).build();
        } else {
            fileOperations = DefaultFileOperations.createSimple(fileLookup.getFileResolver(), fileCollectionFactory, services);
            processOperations = services.get(ExecFactory.class);
        }
    }
    providerFactory = services.get(ProviderFactory.class);
}
Also used : ExecFactory(org.gradle.process.internal.ExecFactory) InstantiatorBackedObjectFactory(org.gradle.api.internal.model.InstantiatorBackedObjectFactory) ProviderFactory(org.gradle.api.provider.ProviderFactory) LoggingManager(org.gradle.api.logging.LoggingManager) Instantiator(org.gradle.internal.reflect.Instantiator) FileResolver(org.gradle.api.internal.file.FileResolver) FileLookup(org.gradle.api.internal.file.FileLookup) File(java.io.File) HasScriptServices(org.gradle.api.internal.file.HasScriptServices) FileCollectionFactory(org.gradle.api.internal.file.FileCollectionFactory)

Aggregations

FileResolver (org.gradle.api.internal.file.FileResolver)2 InstantiatorBackedObjectFactory (org.gradle.api.internal.model.InstantiatorBackedObjectFactory)2 File (java.io.File)1 DefaultFileCollectionFactory (org.gradle.api.internal.file.DefaultFileCollectionFactory)1 DefaultFileLookup (org.gradle.api.internal.file.DefaultFileLookup)1 FileCollectionFactory (org.gradle.api.internal.file.FileCollectionFactory)1 FileLookup (org.gradle.api.internal.file.FileLookup)1 HasScriptServices (org.gradle.api.internal.file.HasScriptServices)1 DefaultDirectoryFileTreeFactory (org.gradle.api.internal.file.collections.DefaultDirectoryFileTreeFactory)1 GradleUserHomeTemporaryFileProvider (org.gradle.api.internal.file.temp.GradleUserHomeTemporaryFileProvider)1 TemporaryFileProvider (org.gradle.api.internal.file.temp.TemporaryFileProvider)1 LoggingManager (org.gradle.api.logging.LoggingManager)1 ProviderFactory (org.gradle.api.provider.ProviderFactory)1 PatternSet (org.gradle.api.tasks.util.PatternSet)1 DefaultBuildCancellationToken (org.gradle.initialization.DefaultBuildCancellationToken)1 GradleUserHomeDirProvider (org.gradle.initialization.GradleUserHomeDirProvider)1 DefaultExecutorFactory (org.gradle.internal.concurrent.DefaultExecutorFactory)1 Instantiator (org.gradle.internal.reflect.Instantiator)1 ExecFactory (org.gradle.process.internal.ExecFactory)1