Search in sources :

Example 16 with Jar

use of org.gradle.api.tasks.bundling.Jar in project shipkit by mockito.

the class ComparePublicationsPlugin method apply.

@Override
public void apply(final Project project) {
    project.getPlugins().apply(JavaPublishPlugin.class);
    final ShipkitConfiguration conf = project.getPlugins().apply(ShipkitConfigurationPlugin.class).getConfiguration();
    final Jar sourcesJar = (Jar) project.getTasks().getByName(JavaLibraryPlugin.SOURCES_JAR_TASK);
    String basePreviousVersionArtifactPath = getBasePreviousVersionArtifactPath(project, conf, sourcesJar);
    final File previousSourcesJar = new File(basePreviousVersionArtifactPath + "-sources.jar");
    final CreateDependencyInfoFileTask dependencyInfoTask = TaskMaker.task(project, "createDependencyInfoFile", CreateDependencyInfoFileTask.class, new Action<CreateDependencyInfoFileTask>() {

        @Override
        public void execute(final CreateDependencyInfoFileTask task) {
            task.setDescription("Creates a file with all declared runtime dependencies.");
            task.setOutputFile(new File(project.getBuildDir(), DEPENDENCY_INFO_FILENAME));
            task.setConfiguration(project.getConfigurations().getByName("runtimeClasspath"));
            task.setProjectVersion(project.getVersion().toString());
            DeferredConfiguration.deferredConfiguration(project, new Runnable() {

                @Override
                public void run() {
                    task.setProjectGroup(project.getGroup().toString());
                }
            });
        }
    });
    sourcesJar.getMetaInf().from(dependencyInfoTask.getOutputFile());
    sourcesJar.dependsOn(dependencyInfoTask);
    TaskMaker.task(project, DOWNLOAD_PUBLICATIONS_TASK, DownloadPreviousPublicationsTask.class, new Action<DownloadPreviousPublicationsTask>() {

        @Override
        public void execute(final DownloadPreviousPublicationsTask t) {
            t.setDescription("Downloads artifacts of last released version and stores it locally for comparison");
            DeferredConfiguration.deferredConfiguration(project, new Runnable() {

                @Override
                public void run() {
                    DefaultArtifactUrlResolver artifactUrlResolver = new DefaultArtifactUrlResolverFactory().getDefaultResolver(project, sourcesJar.getBaseName(), conf.getPreviousReleaseVersion());
                    String previousVersionSourcesJarUrl = getDefaultIfNull(t.getPreviousSourcesJarUrl(), "previousSourcesJarUrl", "-sources.jar", artifactUrlResolver);
                    t.setPreviousSourcesJarUrl(previousVersionSourcesJarUrl);
                    t.setPreviousSourcesJarFile(previousSourcesJar);
                }
            });
        }
    });
    TaskMaker.task(project, COMPARE_PUBLICATIONS_TASK, ComparePublicationsTask.class, new Action<ComparePublicationsTask>() {

        public void execute(final ComparePublicationsTask t) {
            t.setDescription("Compares artifacts and poms between last version and the currently built one to see if there are any differences");
            t.dependsOn(DOWNLOAD_PUBLICATIONS_TASK);
            t.setComparisonResult(new File(project.getBuildDir(), "publications-comparison.txt"));
            t.setPreviousSourcesJar(previousSourcesJar);
            // Set local sources jar for comparison with previously released
            t.compareSourcesJar(sourcesJar);
        }
    });
}
Also used : CreateDependencyInfoFileTask(org.shipkit.internal.gradle.java.tasks.CreateDependencyInfoFileTask) ShipkitConfiguration(org.shipkit.gradle.configuration.ShipkitConfiguration) ShipkitConfigurationPlugin(org.shipkit.internal.gradle.configuration.ShipkitConfigurationPlugin) DownloadPreviousPublicationsTask(org.shipkit.gradle.java.DownloadPreviousPublicationsTask) ComparePublicationsTask(org.shipkit.gradle.java.ComparePublicationsTask) DefaultArtifactUrlResolverFactory(org.shipkit.internal.comparison.artifact.DefaultArtifactUrlResolverFactory) Jar(org.gradle.api.tasks.bundling.Jar) DefaultArtifactUrlResolver(org.shipkit.internal.comparison.artifact.DefaultArtifactUrlResolver) File(java.io.File)

Example 17 with Jar

use of org.gradle.api.tasks.bundling.Jar in project shipkit by mockito.

the class JavaPublishPlugin method apply.

public void apply(final Project project) {
    final ShipkitConfiguration conf = project.getPlugins().apply(ShipkitConfigurationPlugin.class).getConfiguration();
    project.getPlugins().apply(JavaLibraryPlugin.class);
    project.getPlugins().apply("maven-publish");
    final Jar sourcesJar = (Jar) project.getTasks().getByName(JavaLibraryPlugin.SOURCES_JAR_TASK);
    final Jar javadocJar = (Jar) project.getTasks().getByName(JavaLibraryPlugin.JAVADOC_JAR_TASK);
    GradleDSLHelper.publications(project, new Action<PublicationContainer>() {

        public void execute(PublicationContainer publications) {
            MavenPublication p = publications.create(PUBLICATION_NAME, MavenPublication.class, new Action<MavenPublication>() {

                public void execute(MavenPublication publication) {
                    publication.from(project.getComponents().getByName("java"));
                    publication.artifact(sourcesJar);
                    publication.artifact(javadocJar);
                    publication.setArtifactId(((Jar) project.getTasks().getByName("jar")).getBaseName());
                    PomCustomizer.customizePom(project, conf, publication);
                }
            });
            LOG.info("{} - configured '{}' publication", project.getPath(), p.getArtifactId());
        }
    });
    // so that we flesh out problems with maven publication during the build process
    project.getTasks().getByName("build").dependsOn("publishToMavenLocal");
}
Also used : Action(org.gradle.api.Action) ShipkitConfiguration(org.shipkit.gradle.configuration.ShipkitConfiguration) ShipkitConfigurationPlugin(org.shipkit.internal.gradle.configuration.ShipkitConfigurationPlugin) PublicationContainer(org.gradle.api.publish.PublicationContainer) MavenPublication(org.gradle.api.publish.maven.MavenPublication) Jar(org.gradle.api.tasks.bundling.Jar)

Example 18 with Jar

use of org.gradle.api.tasks.bundling.Jar in project wildfly-swarm by wildfly-swarm.

the class PackagePlugin method getArchiveTask.

/**
 * Returns the most suitable Archive-Task for wrapping in the swarm jar - in the following order:
 *
 * 1. Custom-JAR-Task defined in SwarmExtension 'archiveTask'
 * 2. WAR-Task
 * 3. JAR-Task
 */
private Jar getArchiveTask(Project project) {
    TaskCollection<Jar> existingArchiveTasks = project.getTasks().withType(Jar.class);
    Jar customArchiveTask = project.getExtensions().getByType(SwarmExtension.class).getArchiveTask();
    if (customArchiveTask != null) {
        return existingArchiveTasks.getByName(customArchiveTask.getName());
    } else if (existingArchiveTasks.findByName(WarPlugin.WAR_TASK_NAME) != null) {
        return existingArchiveTasks.getByName(WarPlugin.WAR_TASK_NAME);
    } else if (existingArchiveTasks.findByName(JavaPlugin.JAR_TASK_NAME) != null) {
        return existingArchiveTasks.getByName(JavaPlugin.JAR_TASK_NAME);
    }
    return null;
}
Also used : Jar(org.gradle.api.tasks.bundling.Jar)

Example 19 with Jar

use of org.gradle.api.tasks.bundling.Jar in project wildfly-swarm by wildfly-swarm.

the class PackagePlugin method apply.

@Override
public void apply(Project project) {
    project.getExtensions().create(SWARM_EXTENSION, SwarmExtension.class, project);
    project.afterEvaluate(__ -> {
        final TaskContainer tasks = project.getTasks();
        final PackageTask packageTask = tasks.create(WILDFLY_SWARM_PACKAGE_TASK_NAME, PackageTask.class);
        final Jar archiveTask = getArchiveTask(project);
        if (archiveTask == null) {
            throw new GradleException("No suitable Archive-Task found to include in Swarm Uber-JAR.");
        }
        packageTask.jarTask(archiveTask).dependsOn(archiveTask);
        tasks.getByName(JavaBasePlugin.BUILD_TASK_NAME).dependsOn(packageTask);
    });
}
Also used : TaskContainer(org.gradle.api.tasks.TaskContainer) GradleException(org.gradle.api.GradleException) Jar(org.gradle.api.tasks.bundling.Jar)

Example 20 with Jar

use of org.gradle.api.tasks.bundling.Jar 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

Jar (org.gradle.api.tasks.bundling.Jar)22 Configuration (org.gradle.api.artifacts.Configuration)12 File (java.io.File)10 Task (org.gradle.api.Task)10 JavaPlugin (org.gradle.api.plugins.JavaPlugin)10 JavaCompile (org.gradle.api.tasks.compile.JavaCompile)10 Project (org.gradle.api.Project)9 SourceSet (org.gradle.api.tasks.SourceSet)9 SourceSetContainer (org.gradle.api.tasks.SourceSetContainer)9 Collections (java.util.Collections)8 List (java.util.List)8 Set (java.util.Set)8 Plugin (org.gradle.api.Plugin)8 FileCollection (org.gradle.api.file.FileCollection)8 JavaPluginExtension (org.gradle.api.plugins.JavaPluginExtension)8 IdlOptions (com.linkedin.pegasus.gradle.PegasusOptions.IdlOptions)6 CompatibilityLogChecker (com.linkedin.pegasus.gradle.internal.CompatibilityLogChecker)6 ChangedFileReportTask (com.linkedin.pegasus.gradle.tasks.ChangedFileReportTask)6 CheckIdlTask (com.linkedin.pegasus.gradle.tasks.CheckIdlTask)6 CheckPegasusSnapshotTask (com.linkedin.pegasus.gradle.tasks.CheckPegasusSnapshotTask)6