Search in sources :

Example 6 with Sync

use of org.gradle.api.tasks.Sync in project gradle by gradle.

the class ApplicationPlugin method configureInstallTask.

private void configureInstallTask(Task installTask) {
    installTask.doFirst(new Action<Task>() {

        @Override
        public void execute(Task task) {
            Sync sync = (Sync) task;
            if (sync.getDestinationDir().isDirectory()) {
                if (!new File(sync.getDestinationDir(), "lib").isDirectory() || !new File(sync.getDestinationDir(), "bin").isDirectory()) {
                    throw new GradleException("The specified installation directory \'" + sync.getDestinationDir() + "\' is neither empty nor does it contain an installation for \'" + pluginConvention.getApplicationName() + "\'.\n" + "If you really want to install to this directory, delete it and run the install task again.\n" + "Alternatively, choose a different installation directory.");
                }
            }
        }
    });
    installTask.doLast(new Action<Task>() {

        @Override
        public void execute(Task task) {
            Sync sync = (Sync) task;
            HashMap<String, Object> args = new HashMap<String, Object>();
            args.put("file", "" + sync.getDestinationDir().getAbsolutePath() + "/bin/" + pluginConvention.getApplicationName());
            args.put("perm", "ugo+x");
            project.getAnt().invokeMethod("chmod", args);
        }
    });
}
Also used : Task(org.gradle.api.Task) HashMap(java.util.HashMap) GradleException(org.gradle.api.GradleException) Sync(org.gradle.api.tasks.Sync) File(java.io.File)

Example 7 with Sync

use of org.gradle.api.tasks.Sync in project gradle by gradle.

the class PlayDistributionPlugin method createDistributionZipTasks.

@Mutate
void createDistributionZipTasks(ModelMap<Task> tasks, @Path("buildDir") final File buildDir, PlayDistributionContainer distributions) {
    for (final PlayDistribution distribution : distributions.withType(PlayDistribution.class)) {
        String capitalizedDistName = StringUtils.capitalize(distribution.getName());
        final String stageTaskName = "stage" + capitalizedDistName + "Dist";
        final File stageDir = new File(buildDir, "stage");
        final String baseName = StringUtils.isNotEmpty(distribution.getBaseName()) ? distribution.getBaseName() : distribution.getName();
        tasks.create(stageTaskName, Sync.class, new Action<Sync>() {

            @Override
            public void execute(Sync sync) {
                sync.setDescription("Copies the '" + distribution.getName() + "' distribution to a staging directory.");
                sync.setDestinationDir(stageDir);
                CopySpecInternal baseSpec = sync.getRootSpec().addChild();
                baseSpec.into(baseName);
                baseSpec.with(distribution.getContents());
            }
        });
        tasks.named(STAGE_LIFECYCLE_TASK_NAME, new Action<Task>() {

            @Override
            public void execute(Task task) {
                task.dependsOn(stageTaskName);
            }
        });
        final Task stageTask = tasks.get(stageTaskName);
        final String distributionZipTaskName = "create" + capitalizedDistName + "ZipDist";
        tasks.create(distributionZipTaskName, Zip.class, new Action<Zip>() {

            @Override
            public void execute(final Zip zip) {
                zip.setDescription("Packages the '" + distribution.getName() + "' distribution as a zip file.");
                zip.setBaseName(baseName);
                zip.setDestinationDir(new File(buildDir, "distributions"));
                zip.from(stageTask);
            }
        });
        final String distributionTarTaskName = "create" + capitalizedDistName + "TarDist";
        tasks.create(distributionTarTaskName, Tar.class, new Action<Tar>() {

            @Override
            public void execute(final Tar tar) {
                tar.setDescription("Packages the '" + distribution.getName() + "' distribution as a tar file.");
                tar.setBaseName(baseName);
                tar.setDestinationDir(new File(buildDir, "distributions"));
                tar.from(stageTask);
            }
        });
        tasks.named(distributionTarTaskName, DistributionArchiveRules.class);
        tasks.named(distributionZipTaskName, DistributionArchiveRules.class);
        tasks.named(DIST_LIFECYCLE_TASK_NAME, new Action<Task>() {

            @Override
            public void execute(Task task) {
                task.dependsOn(distributionZipTaskName, distributionTarTaskName);
            }
        });
    }
}
Also used : Zip(org.gradle.api.tasks.bundling.Zip) AbstractArchiveTask(org.gradle.api.tasks.bundling.AbstractArchiveTask) Task(org.gradle.api.Task) Tar(org.gradle.api.tasks.bundling.Tar) PlayDistribution(org.gradle.play.distribution.PlayDistribution) DefaultPlayDistribution(org.gradle.play.internal.distribution.DefaultPlayDistribution) CopySpecInternal(org.gradle.api.internal.file.copy.CopySpecInternal) Sync(org.gradle.api.tasks.Sync) File(java.io.File) Mutate(org.gradle.model.Mutate)

Example 8 with Sync

use of org.gradle.api.tasks.Sync in project spring-boot by spring-projects.

the class AsciidoctorConventions method createSyncDocumentationSourceTask.

private Sync createSyncDocumentationSourceTask(Project project, AbstractAsciidoctorTask asciidoctorTask) {
    Sync syncDocumentationSource = project.getTasks().create("syncDocumentationSourceFor" + StringUtils.capitalize(asciidoctorTask.getName()), Sync.class);
    File syncedSource = new File(project.getBuildDir(), "docs/src/" + asciidoctorTask.getName());
    syncDocumentationSource.setDestinationDir(syncedSource);
    syncDocumentationSource.from("src/docs/");
    asciidoctorTask.dependsOn(syncDocumentationSource);
    asciidoctorTask.getInputs().dir(syncedSource).withPathSensitivity(PathSensitivity.RELATIVE).withPropertyName("synced source");
    asciidoctorTask.setSourceDir(project.relativePath(new File(syncedSource, "asciidoc/")));
    return syncDocumentationSource;
}
Also used : Sync(org.gradle.api.tasks.Sync) File(java.io.File)

Example 9 with Sync

use of org.gradle.api.tasks.Sync in project gradle by gradle.

the class GradleBuildDocumentationPlugin method applyConventions.

private void applyConventions(Project project, TaskContainer tasks, ObjectFactory objects, ProjectLayout layout, GradleDocumentationExtension extension) {
    TaskProvider<Sync> stageDocs = tasks.register("stageDocs", Sync.class, task -> {
        // release notes goes in the root of the docs
        task.from(extension.getReleaseNotes().getRenderedDocumentation());
        // DSL reference goes into dsl/
        task.from(extension.getDslReference().getRenderedDocumentation(), sub -> sub.into("dsl"));
        // Javadocs reference goes into javadoc/
        task.from(extension.getJavadocs().getRenderedDocumentation(), sub -> sub.into("javadoc"));
        // User manual goes into userguide/ (for historical reasons)
        task.from(extension.getUserManual().getRenderedDocumentation(), sub -> sub.into("userguide"));
        task.into(extension.getDocumentationRenderedRoot());
    });
    extension.getSourceRoot().convention(layout.getProjectDirectory().dir("src/docs"));
    extension.getDocumentationRenderedRoot().convention(layout.getBuildDirectory().dir("docs"));
    extension.getStagingRoot().convention(layout.getBuildDirectory().dir("working"));
    ConfigurableFileTree css = objects.fileTree();
    css.from(extension.getSourceRoot().dir("css"));
    css.include("*.css");
    extension.getCssFiles().from(css);
    extension.getRenderedDocumentation().from(stageDocs);
    Configuration runtimeClasspath = project.getConfigurations().getByName("runtimeClasspath");
    Configuration sourcesPath = project.getConfigurations().create("sourcesPath");
    sourcesPath.attributes(a -> {
        a.attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.class, Usage.JAVA_RUNTIME));
        a.attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.class, Category.DOCUMENTATION));
        a.attribute(DocsType.DOCS_TYPE_ATTRIBUTE, objects.named(DocsType.class, "gradle-source-folders"));
    });
    sourcesPath.setCanBeConsumed(false);
    sourcesPath.setCanBeResolved(true);
    sourcesPath.setVisible(false);
    sourcesPath.extendsFrom(runtimeClasspath);
    extension.getClasspath().from(runtimeClasspath);
    extension.getDocumentedSource().from(sourcesPath.getIncoming().artifactView(v -> v.lenient(true)).getFiles().getAsFileTree().matching(f -> {
        // Filter out any non-public APIs
        f.include(PublicApi.INSTANCE.getIncludes());
        f.exclude(PublicApi.INSTANCE.getExcludes());
    }));
}
Also used : PublicApi(gradlebuild.basics.PublicApi) Action(org.gradle.api.Action) Project(org.gradle.api.Project) Category(org.gradle.api.attributes.Category) DocsType(org.gradle.api.attributes.DocsType) ConfigurableFileTree(org.gradle.api.file.ConfigurableFileTree) Configuration(org.gradle.api.artifacts.Configuration) ProviderFactory(org.gradle.api.provider.ProviderFactory) Task(org.gradle.api.Task) ProjectLayout(org.gradle.api.file.ProjectLayout) Sync(org.gradle.api.tasks.Sync) ObjectFactory(org.gradle.api.model.ObjectFactory) TaskContainer(org.gradle.api.tasks.TaskContainer) TaskProvider(org.gradle.api.tasks.TaskProvider) PathSensitivity(org.gradle.api.tasks.PathSensitivity) Exec(org.gradle.api.tasks.Exec) Collections(java.util.Collections) Plugin(org.gradle.api.Plugin) Test(org.gradle.api.tasks.testing.Test) Usage(org.gradle.api.attributes.Usage) Usage(org.gradle.api.attributes.Usage) Category(org.gradle.api.attributes.Category) Configuration(org.gradle.api.artifacts.Configuration) ConfigurableFileTree(org.gradle.api.file.ConfigurableFileTree) DocsType(org.gradle.api.attributes.DocsType) Sync(org.gradle.api.tasks.Sync)

Example 10 with Sync

use of org.gradle.api.tasks.Sync in project rest.li by linkedin.

the class PegasusPlugin method configureDataTemplateGeneration.

@SuppressWarnings("deprecation")
protected GenerateDataTemplateTask configureDataTemplateGeneration(Project project, SourceSet sourceSet) {
    File dataSchemaDir = project.file(getDataSchemaPath(project, sourceSet));
    File generatedDataTemplateDir = project.file(getGeneratedDirPath(project, sourceSet, DATA_TEMPLATE_GEN_TYPE) + File.separatorChar + "java");
    File publishableSchemasBuildDir = project.file(project.getBuildDir().getAbsolutePath() + File.separatorChar + sourceSet.getName() + "Schemas");
    File publishableLegacySchemasBuildDir = project.file(project.getBuildDir().getAbsolutePath() + File.separatorChar + sourceSet.getName() + "LegacySchemas");
    File publishableExtensionSchemasBuildDir = project.file(project.getBuildDir().getAbsolutePath() + File.separatorChar + sourceSet.getName() + "ExtensionSchemas");
    // generate data template source files from data schema
    GenerateDataTemplateTask generateDataTemplatesTask = project.getTasks().create(sourceSet.getTaskName("generate", "dataTemplate"), GenerateDataTemplateTask.class, task -> {
        task.setInputDir(dataSchemaDir);
        task.setDestinationDir(generatedDataTemplateDir);
        task.setResolverPath(getDataModelConfig(project, sourceSet));
        task.setCodegenClasspath(project.getConfigurations().getByName(PEGASUS_PLUGIN_CONFIGURATION));
        if (isPropertyTrue(project, ENABLE_ARG_FILE)) {
            task.setEnableArgFile(true);
        }
        if (isPropertyTrue(project, CODE_GEN_PATH_CASE_SENSITIVE)) {
            task.setGenerateLowercasePath(false);
        }
        task.onlyIf(t -> {
            if (task.getInputDir().exists()) {
                @SuppressWarnings("unchecked") Map<String, PegasusOptions> pegasusOptions = (Map<String, PegasusOptions>) project.getExtensions().getExtraProperties().get("pegasus");
                return pegasusOptions.get(sourceSet.getName()).hasGenerationMode(PegasusOptions.GenerationMode.PEGASUS);
            }
            return false;
        });
        task.doFirst(new CacheableAction<>(t -> deleteGeneratedDir(project, sourceSet, DATA_TEMPLATE_GEN_TYPE)));
    });
    // TODO: Tighten the types so that _generateSourcesJarTask must be of type Jar.
    ((Jar) _generateSourcesJarTask).from(generateDataTemplatesTask.getDestinationDir());
    _generateSourcesJarTask.dependsOn(generateDataTemplatesTask);
    _generateJavadocTask.source(generateDataTemplatesTask.getDestinationDir());
    _generateJavadocTask.setClasspath(_generateJavadocTask.getClasspath().plus(project.getConfigurations().getByName("dataTemplateCompile")).plus(generateDataTemplatesTask.getResolverPath()));
    _generateJavadocTask.dependsOn(generateDataTemplatesTask);
    // Add extra dependencies for data model compilation
    project.getDependencies().add("dataTemplateCompile", "com.google.code.findbugs:jsr305:3.0.2");
    // create new source set for generated java source and class files
    String targetSourceSetName = getGeneratedSourceSetName(sourceSet, DATA_TEMPLATE_GEN_TYPE);
    SourceSetContainer sourceSets = project.getConvention().getPlugin(JavaPluginConvention.class).getSourceSets();
    SourceSet targetSourceSet = sourceSets.create(targetSourceSetName, ss -> {
        ss.java(sourceDirectorySet -> sourceDirectorySet.srcDir(generatedDataTemplateDir));
        ss.setCompileClasspath(getDataModelConfig(project, sourceSet).plus(project.getConfigurations().getByName("dataTemplateCompile")));
    });
    // idea plugin needs to know about new generated java source directory and its dependencies
    addGeneratedDir(project, targetSourceSet, Arrays.asList(getDataModelConfig(project, sourceSet), project.getConfigurations().getByName("dataTemplateCompile")));
    // Set source compatibility to 1.8 as the data-templates now generate code with Java 8 features.
    JavaCompile compileTask = project.getTasks().withType(JavaCompile.class).getByName(targetSourceSet.getCompileJavaTaskName());
    compileTask.doFirst(new CacheableAction<>(task -> {
        ((JavaCompile) task).setSourceCompatibility("1.8");
        ((JavaCompile) task).setTargetCompatibility("1.8");
    }));
    // make sure that java source files have been generated before compiling them
    compileTask.dependsOn(generateDataTemplatesTask);
    // Dummy task to maintain backward compatibility
    // TODO: Delete this task once use cases have had time to reference the new task
    Task destroyStaleFiles = project.getTasks().create(sourceSet.getName() + "DestroyStaleFiles", Delete.class);
    destroyStaleFiles.onlyIf(task -> {
        project.getLogger().lifecycle("{} task is a NO-OP task.", task.getPath());
        return false;
    });
    // Dummy task to maintain backward compatibility, as this task was replaced by CopySchemas
    // TODO: Delete this task once use cases have had time to reference the new task
    Task copyPdscSchemasTask = project.getTasks().create(sourceSet.getName() + "CopyPdscSchemas", Copy.class);
    copyPdscSchemasTask.dependsOn(destroyStaleFiles);
    copyPdscSchemasTask.onlyIf(task -> {
        project.getLogger().lifecycle("{} task is a NO-OP task.", task.getPath());
        return false;
    });
    // Prepare schema files for publication by syncing schema folders.
    Task prepareSchemasForPublishTask = project.getTasks().create(sourceSet.getName() + "CopySchemas", Sync.class, task -> {
        task.from(dataSchemaDir, syncSpec -> DATA_TEMPLATE_FILE_SUFFIXES.forEach(suffix -> syncSpec.include("**/*" + suffix)));
        task.into(publishableSchemasBuildDir);
    });
    prepareSchemasForPublishTask.dependsOn(copyPdscSchemasTask);
    Collection<Task> dataTemplateJarDepends = new ArrayList<>();
    dataTemplateJarDepends.add(compileTask);
    dataTemplateJarDepends.add(prepareSchemasForPublishTask);
    // Convert all PDL files back to PDSC for publication
    // TODO: Remove this conversion permanently once translated PDSCs are no longer needed.
    Task prepareLegacySchemasForPublishTask = project.getTasks().create(sourceSet.getName() + "TranslateSchemas", TranslateSchemasTask.class, task -> {
        task.setInputDir(dataSchemaDir);
        task.setDestinationDir(publishableLegacySchemasBuildDir);
        task.setResolverPath(getDataModelConfig(project, sourceSet));
        task.setCodegenClasspath(project.getConfigurations().getByName(PEGASUS_PLUGIN_CONFIGURATION));
        task.setSourceFormat(SchemaFileType.PDL);
        task.setDestinationFormat(SchemaFileType.PDSC);
        task.setKeepOriginal(true);
        task.setSkipVerification(true);
        if (isPropertyTrue(project, ENABLE_ARG_FILE)) {
            task.setEnableArgFile(true);
        }
    });
    prepareLegacySchemasForPublishTask.dependsOn(destroyStaleFiles);
    dataTemplateJarDepends.add(prepareLegacySchemasForPublishTask);
    // extension schema directory
    File extensionSchemaDir = project.file(getExtensionSchemaPath(project, sourceSet));
    if (!SharedFileUtils.getSuffixedFiles(project, extensionSchemaDir, PDL_FILE_SUFFIX).isEmpty()) {
        // Validate extension schemas if extension schemas are provided.
        ValidateExtensionSchemaTask validateExtensionSchemaTask = project.getTasks().create(sourceSet.getTaskName("validate", "ExtensionSchemas"), ValidateExtensionSchemaTask.class, task -> {
            task.setInputDir(extensionSchemaDir);
            task.setResolverPath(getDataModelConfig(project, sourceSet).plus(project.files(getDataSchemaPath(project, sourceSet))));
            task.setClassPath(project.getConfigurations().getByName(PEGASUS_PLUGIN_CONFIGURATION));
            if (isPropertyTrue(project, ENABLE_ARG_FILE)) {
                task.setEnableArgFile(true);
            }
        });
        Task prepareExtensionSchemasForPublishTask = project.getTasks().create(sourceSet.getName() + "CopyExtensionSchemas", Sync.class, task -> {
            task.from(extensionSchemaDir, syncSpec -> syncSpec.include("**/*" + PDL_FILE_SUFFIX));
            task.into(publishableExtensionSchemasBuildDir);
        });
        prepareExtensionSchemasForPublishTask.dependsOn(validateExtensionSchemaTask);
        prepareExtensionSchemasForPublishTask.dependsOn(copyPdscSchemasTask);
        dataTemplateJarDepends.add(prepareExtensionSchemasForPublishTask);
    }
    // include pegasus files in the output of this SourceSet
    project.getTasks().withType(ProcessResources.class).getByName(targetSourceSet.getProcessResourcesTaskName(), it -> {
        it.from(prepareSchemasForPublishTask, copy -> copy.into("pegasus"));
        // TODO: Remove this permanently once translated PDSCs are no longer needed.
        it.from(prepareLegacySchemasForPublishTask, copy -> copy.into(TRANSLATED_SCHEMAS_DIR));
        Sync copyExtensionSchemasTask = project.getTasks().withType(Sync.class).findByName(sourceSet.getName() + "CopyExtensionSchemas");
        if (copyExtensionSchemasTask != null) {
            it.from(copyExtensionSchemasTask, copy -> copy.into("extensions"));
        }
    });
    // create data template jar file
    Jar dataTemplateJarTask = project.getTasks().create(sourceSet.getName() + "DataTemplateJar", Jar.class, task -> {
        task.dependsOn(dataTemplateJarDepends);
        task.from(targetSourceSet.getOutput());
        // FIXME change to #getArchiveAppendix().set(...); breaks backwards-compatibility before 5.1
        task.setAppendix(getAppendix(sourceSet, "data-template"));
        task.setDescription("Generate a data template jar");
    });
    // add the data model and date template jars to the list of project artifacts.
    if (!isTestSourceSet(sourceSet)) {
        project.getArtifacts().add("dataTemplate", dataTemplateJarTask);
    } else {
        project.getArtifacts().add("testDataTemplate", dataTemplateJarTask);
    }
    // include additional dependencies into the appropriate configuration used to compile the input source set
    // must include the generated data template classes and their dependencies the configuration
    String compileConfigName = isTestSourceSet(sourceSet) ? "testCompile" : "compile";
    Configuration compileConfig = project.getConfigurations().maybeCreate(compileConfigName);
    compileConfig.extendsFrom(getDataModelConfig(project, sourceSet), project.getConfigurations().getByName("dataTemplateCompile"));
    // FIXME change to #getArchiveFile(); breaks backwards-compatibility before 5.1
    project.getDependencies().add(compileConfigName, project.files(dataTemplateJarTask.getArchivePath()));
    // The below Action is only applied when the 'ivy-publish' is applied by the consumer.
    // If the consumer does not use ivy-publish, this is a noop.
    // this Action prepares the project applying the pegasus plugin to publish artifacts using these steps:
    // 1. Registers "feature variants" for pegasus-specific artifacts;
    // see https://docs.gradle.org/6.1/userguide/feature_variants.html
    // 2. Wires legacy configurations like `dataTemplateCompile` to auto-generated feature variant *Api and
    // *Implementation configurations for backwards compatibility.
    // 3. Configures the Ivy Publication to include auto-generated feature variant *Api and *Implementation
    // configurations and their dependencies.
    project.getPlugins().withType(IvyPublishPlugin.class, ivyPublish -> {
        if (!isAtLeastGradle61()) {
            throw new GradleException("Using the ivy-publish plugin with the pegasus plugin requires Gradle 6.1 or higher " + "at build time.  Please upgrade.");
        }
        JavaPluginExtension java = project.getExtensions().getByType(JavaPluginExtension.class);
        // create new capabilities per source set; automatically creates api and implementation configurations
        String featureName = mapSourceSetToFeatureName(targetSourceSet);
        try {
            /*
         reflection is required to preserve compatibility with Gradle 5.2.1 and below
         TODO once Gradle 5.3+ is required, remove reflection and replace with:
           java.registerFeature(featureName, featureSpec -> {
             featureSpec.usingSourceSet(targetSourceSet);
            });
        */
            Method registerFeature = JavaPluginExtension.class.getDeclaredMethod("registerFeature", String.class, Action.class);
            Action<?> /*<org.gradle.api.plugins.FeatureSpec>*/
            featureSpecAction = createFeatureVariantFromSourceSet(targetSourceSet);
            registerFeature.invoke(java, featureName, featureSpecAction);
        } catch (ReflectiveOperationException e) {
            throw new GradleException("Unable to register new feature variant", e);
        }
        // expose transitive dependencies to consumers via variant configurations
        Configuration featureConfiguration = project.getConfigurations().getByName(featureName);
        Configuration mainGeneratedDataTemplateApi = project.getConfigurations().getByName(targetSourceSet.getApiConfigurationName());
        featureConfiguration.extendsFrom(mainGeneratedDataTemplateApi);
        mainGeneratedDataTemplateApi.extendsFrom(getDataModelConfig(project, targetSourceSet), project.getConfigurations().getByName("dataTemplateCompile"));
        // Configure the existing IvyPublication
        // For backwards-compatibility, make the legacy dataTemplate/testDataTemplate configurations extend
        // their replacements, auto-created when we registered the new feature variant
        project.afterEvaluate(p -> {
            PublishingExtension publishing = p.getExtensions().getByType(PublishingExtension.class);
            // When configuring a Gradle Publication, use this value to find the name of the publication to configure.  Defaults to "ivy".
            String publicationName = p.getExtensions().getExtraProperties().getProperties().getOrDefault("PegasusPublicationName", "ivy").toString();
            IvyPublication ivyPublication = publishing.getPublications().withType(IvyPublication.class).getByName(publicationName);
            ivyPublication.configurations(configurations -> configurations.create(featureName, legacyConfiguration -> {
                legacyConfiguration.extend(p.getConfigurations().getByName(targetSourceSet.getApiElementsConfigurationName()).getName());
                legacyConfiguration.extend(p.getConfigurations().getByName(targetSourceSet.getRuntimeElementsConfigurationName()).getName());
            }));
        });
    });
    if (debug) {
        System.out.println("configureDataTemplateGeneration sourceSet " + sourceSet.getName());
        System.out.println(compileConfigName + ".allDependencies : " + project.getConfigurations().getByName(compileConfigName).getAllDependencies());
        System.out.println(compileConfigName + ".extendsFrom: " + project.getConfigurations().getByName(compileConfigName).getExtendsFrom());
        System.out.println(compileConfigName + ".transitive: " + project.getConfigurations().getByName(compileConfigName).isTransitive());
    }
    project.getTasks().getByName(sourceSet.getCompileJavaTaskName()).dependsOn(dataTemplateJarTask);
    return generateDataTemplatesTask;
}
Also used : CompatibilityLogChecker(com.linkedin.pegasus.gradle.internal.CompatibilityLogChecker) Arrays(java.util.Arrays) PublishRestModelTask(com.linkedin.pegasus.gradle.tasks.PublishRestModelTask) ValidateExtensionSchemaTask(com.linkedin.pegasus.gradle.tasks.ValidateExtensionSchemaTask) JavaPlugin(org.gradle.api.plugins.JavaPlugin) IdeaPlugin(org.gradle.plugins.ide.idea.IdeaPlugin) CheckSnapshotTask(com.linkedin.pegasus.gradle.tasks.CheckSnapshotTask) EclipsePlugin(org.gradle.plugins.ide.eclipse.EclipsePlugin) Task(org.gradle.api.Task) PublishingExtension(org.gradle.api.publish.PublishingExtension) Javadoc(org.gradle.api.tasks.javadoc.Javadoc) JavaBasePlugin(org.gradle.api.plugins.JavaBasePlugin) ConfigurationContainer(org.gradle.api.artifacts.ConfigurationContainer) TaskProvider(org.gradle.api.tasks.TaskProvider) Locale(java.util.Locale) Map(java.util.Map) TranslateSchemasTask(com.linkedin.pegasus.gradle.tasks.TranslateSchemasTask) CheckPegasusSnapshotTask(com.linkedin.pegasus.gradle.tasks.CheckPegasusSnapshotTask) Method(java.lang.reflect.Method) Path(java.nio.file.Path) GradleVersion(org.gradle.util.GradleVersion) IdeaModule(org.gradle.plugins.ide.idea.model.IdeaModule) Delete(org.gradle.api.tasks.Delete) Project(org.gradle.api.Project) Collection(java.util.Collection) ChangedFileReportTask(com.linkedin.pegasus.gradle.tasks.ChangedFileReportTask) Set(java.util.Set) IvyPublishPlugin(org.gradle.api.publish.ivy.plugins.IvyPublishPlugin) GeneratePegasusSnapshotTask(com.linkedin.pegasus.gradle.tasks.GeneratePegasusSnapshotTask) Collectors(java.util.stream.Collectors) IvyPublication(org.gradle.api.publish.ivy.IvyPublication) List(java.util.List) IdlOptions(com.linkedin.pegasus.gradle.PegasusOptions.IdlOptions) JavaPluginExtension(org.gradle.api.plugins.JavaPluginExtension) Pattern(java.util.regex.Pattern) ProcessResources(org.gradle.language.jvm.tasks.ProcessResources) GenerateRestClientTask(com.linkedin.pegasus.gradle.tasks.GenerateRestClientTask) GenerateRestModelTask(com.linkedin.pegasus.gradle.tasks.GenerateRestModelTask) HashMap(java.util.HashMap) Function(java.util.function.Function) FileCollection(org.gradle.api.file.FileCollection) TreeSet(java.util.TreeSet) ArrayList(java.util.ArrayList) SourceSet(org.gradle.api.tasks.SourceSet) HashSet(java.util.HashSet) Configuration(org.gradle.api.artifacts.Configuration) LifecycleBasePlugin(org.gradle.language.base.plugins.LifecycleBasePlugin) Sync(org.gradle.api.tasks.Sync) SourceSetContainer(org.gradle.api.tasks.SourceSetContainer) CheckRestModelTask(com.linkedin.pegasus.gradle.tasks.CheckRestModelTask) JavaCompile(org.gradle.api.tasks.compile.JavaCompile) Properties(java.util.Properties) Jar(org.gradle.api.tasks.bundling.Jar) Action(org.gradle.api.Action) Files(java.nio.file.Files) JavaPluginConvention(org.gradle.api.plugins.JavaPluginConvention) ValidateSchemaAnnotationTask(com.linkedin.pegasus.gradle.tasks.ValidateSchemaAnnotationTask) IOException(java.io.IOException) EclipseModel(org.gradle.plugins.ide.eclipse.model.EclipseModel) File(java.io.File) CheckIdlTask(com.linkedin.pegasus.gradle.tasks.CheckIdlTask) GenerateDataTemplateTask(com.linkedin.pegasus.gradle.tasks.GenerateDataTemplateTask) GenerateAvroSchemaTask(com.linkedin.pegasus.gradle.tasks.GenerateAvroSchemaTask) GradleException(org.gradle.api.GradleException) Collections(java.util.Collections) Plugin(org.gradle.api.Plugin) Copy(org.gradle.api.tasks.Copy) InputStream(java.io.InputStream) PublishRestModelTask(com.linkedin.pegasus.gradle.tasks.PublishRestModelTask) ValidateExtensionSchemaTask(com.linkedin.pegasus.gradle.tasks.ValidateExtensionSchemaTask) CheckSnapshotTask(com.linkedin.pegasus.gradle.tasks.CheckSnapshotTask) Task(org.gradle.api.Task) TranslateSchemasTask(com.linkedin.pegasus.gradle.tasks.TranslateSchemasTask) CheckPegasusSnapshotTask(com.linkedin.pegasus.gradle.tasks.CheckPegasusSnapshotTask) ChangedFileReportTask(com.linkedin.pegasus.gradle.tasks.ChangedFileReportTask) GeneratePegasusSnapshotTask(com.linkedin.pegasus.gradle.tasks.GeneratePegasusSnapshotTask) GenerateRestClientTask(com.linkedin.pegasus.gradle.tasks.GenerateRestClientTask) GenerateRestModelTask(com.linkedin.pegasus.gradle.tasks.GenerateRestModelTask) CheckRestModelTask(com.linkedin.pegasus.gradle.tasks.CheckRestModelTask) ValidateSchemaAnnotationTask(com.linkedin.pegasus.gradle.tasks.ValidateSchemaAnnotationTask) CheckIdlTask(com.linkedin.pegasus.gradle.tasks.CheckIdlTask) GenerateDataTemplateTask(com.linkedin.pegasus.gradle.tasks.GenerateDataTemplateTask) GenerateAvroSchemaTask(com.linkedin.pegasus.gradle.tasks.GenerateAvroSchemaTask) Configuration(org.gradle.api.artifacts.Configuration) ArrayList(java.util.ArrayList) JavaPluginExtension(org.gradle.api.plugins.JavaPluginExtension) SourceSetContainer(org.gradle.api.tasks.SourceSetContainer) SourceSet(org.gradle.api.tasks.SourceSet) JavaPluginConvention(org.gradle.api.plugins.JavaPluginConvention) Sync(org.gradle.api.tasks.Sync) PublishingExtension(org.gradle.api.publish.PublishingExtension) ValidateExtensionSchemaTask(com.linkedin.pegasus.gradle.tasks.ValidateExtensionSchemaTask) GenerateDataTemplateTask(com.linkedin.pegasus.gradle.tasks.GenerateDataTemplateTask) Method(java.lang.reflect.Method) GradleException(org.gradle.api.GradleException) ProcessResources(org.gradle.language.jvm.tasks.ProcessResources) Jar(org.gradle.api.tasks.bundling.Jar) File(java.io.File) Map(java.util.Map) HashMap(java.util.HashMap) JavaCompile(org.gradle.api.tasks.compile.JavaCompile) IvyPublication(org.gradle.api.publish.ivy.IvyPublication)

Aggregations

Sync (org.gradle.api.tasks.Sync)11 File (java.io.File)8 Project (org.gradle.api.Project)6 HashMap (java.util.HashMap)4 GradleException (org.gradle.api.GradleException)4 Plugin (org.gradle.api.Plugin)4 Task (org.gradle.api.Task)4 TaskProvider (org.gradle.api.tasks.TaskProvider)4 ArrayList (java.util.ArrayList)3 List (java.util.List)3 Action (org.gradle.api.Action)3 IOException (java.io.IOException)2 Arrays (java.util.Arrays)2 Collections (java.util.Collections)2 Map (java.util.Map)2 Inject (javax.inject.Inject)2 Configuration (org.gradle.api.artifacts.Configuration)2 ObjectFactory (org.gradle.api.model.ObjectFactory)2 Provider (org.gradle.api.provider.Provider)2 Copy (org.gradle.api.tasks.Copy)2