Search in sources :

Example 1 with Tar

use of org.gradle.api.tasks.bundling.Tar in project gradle by gradle.

the class PublishArtifactToFileBuildOutcomeTransformer method getTypeIdentifier.

private String getTypeIdentifier(PublishArtifact artifact) {
    if (artifact instanceof ArchivePublishArtifact) {
        ArchivePublishArtifact publishArtifact = (ArchivePublishArtifact) artifact;
        AbstractArchiveTask task = publishArtifact.getArchiveTask();
        if (task instanceof War) {
            return WAR_ARTIFACT.getTypeIdentifier();
        } else if (task instanceof Ear) {
            return EAR_ARTIFACT.getTypeIdentifier();
        } else if (task instanceof Jar) {
            return JAR_ARTIFACT.getTypeIdentifier();
        } else if (task instanceof Zip) {
            return ZIP_ARTIFACT.getTypeIdentifier();
        } else if (task instanceof Tar) {
            return TAR_ARTIFACT.getTypeIdentifier();
        } else {
            // we don't know about this kind of archive task
            return ARCHIVE_ARTIFACT.getTypeIdentifier();
        }
    } else {
        // The client may try to infer from the file extension.
        return UNKNOWN_ARTIFACT.getTypeIdentifier();
    }
}
Also used : Zip(org.gradle.api.tasks.bundling.Zip) ArchivePublishArtifact(org.gradle.api.internal.artifacts.publish.ArchivePublishArtifact) Tar(org.gradle.api.tasks.bundling.Tar) AbstractArchiveTask(org.gradle.api.tasks.bundling.AbstractArchiveTask) Ear(org.gradle.plugins.ear.Ear) War(org.gradle.api.tasks.bundling.War) Jar(org.gradle.jvm.tasks.Jar)

Example 2 with Tar

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

Aggregations

AbstractArchiveTask (org.gradle.api.tasks.bundling.AbstractArchiveTask)2 Tar (org.gradle.api.tasks.bundling.Tar)2 Zip (org.gradle.api.tasks.bundling.Zip)2 File (java.io.File)1 Task (org.gradle.api.Task)1 ArchivePublishArtifact (org.gradle.api.internal.artifacts.publish.ArchivePublishArtifact)1 CopySpecInternal (org.gradle.api.internal.file.copy.CopySpecInternal)1 Sync (org.gradle.api.tasks.Sync)1 War (org.gradle.api.tasks.bundling.War)1 Jar (org.gradle.jvm.tasks.Jar)1 Mutate (org.gradle.model.Mutate)1 PlayDistribution (org.gradle.play.distribution.PlayDistribution)1 DefaultPlayDistribution (org.gradle.play.internal.distribution.DefaultPlayDistribution)1 Ear (org.gradle.plugins.ear.Ear)1