类org.gradle.api.tasks.bundling.AbstractArchiveTask源码实例Demo

下面列出了怎么用org.gradle.api.tasks.bundling.AbstractArchiveTask的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: skara   文件: ReproducePlugin.java
@Override
public void apply(Project project) {
    project.afterEvaluate((p) -> {
        for (var entry : project.getAllTasks(true).entrySet()) {
            for (var task : entry.getValue()) {
                if (task instanceof AbstractArchiveTask) {
                    var archiveTask = (AbstractArchiveTask) task;
                    archiveTask.setPreserveFileTimestamps(false);
                    archiveTask.setReproducibleFileOrder(true);
                }
            }
        }
    });

    project.getTasks().create("reproduce", ReproduceTask.class, (task) -> {
        task.setDockerfile("Dockerfile");
    });
}
 
public NotationParser<Object, MavenArtifact> create() {
    FileNotationParser fileNotationParser = new FileNotationParser(fileResolver);
    ArchiveTaskNotationParser archiveTaskNotationParser = new ArchiveTaskNotationParser();
    PublishArtifactNotationParser publishArtifactNotationParser = new PublishArtifactNotationParser();

    NotationParser<Object, MavenArtifact> sourceNotationParser = NotationParserBuilder
            .toType(MavenArtifact.class)
            .fromType(AbstractArchiveTask.class, archiveTaskNotationParser)
            .fromType(PublishArtifact.class, publishArtifactNotationParser)
            .converter(fileNotationParser)
            .toComposite();

    MavenArtifactMapNotationParser mavenArtifactMapNotationParser = new MavenArtifactMapNotationParser(sourceNotationParser);

    NotationParserBuilder<MavenArtifact> parserBuilder = NotationParserBuilder
            .toType(MavenArtifact.class)
            .fromType(AbstractArchiveTask.class, archiveTaskNotationParser)
            .fromType(PublishArtifact.class, publishArtifactNotationParser)
            .parser(mavenArtifactMapNotationParser)
            .converter(fileNotationParser);

    return parserBuilder.toComposite();
}
 
public NotationParser<Object, MavenArtifact> create() {
    FileNotationParser fileNotationParser = new FileNotationParser(fileResolver);
    ArchiveTaskNotationParser archiveTaskNotationParser = new ArchiveTaskNotationParser();
    PublishArtifactNotationParser publishArtifactNotationParser = new PublishArtifactNotationParser();

    NotationParser<Object, MavenArtifact> sourceNotationParser = NotationParserBuilder
            .toType(MavenArtifact.class)
            .fromType(AbstractArchiveTask.class, archiveTaskNotationParser)
            .fromType(PublishArtifact.class, publishArtifactNotationParser)
            .converter(fileNotationParser)
            .toComposite();

    MavenArtifactMapNotationParser mavenArtifactMapNotationParser = new MavenArtifactMapNotationParser(sourceNotationParser);

    NotationParserBuilder<MavenArtifact> parserBuilder = NotationParserBuilder
            .toType(MavenArtifact.class)
            .fromType(AbstractArchiveTask.class, archiveTaskNotationParser)
            .fromType(PublishArtifact.class, publishArtifactNotationParser)
            .parser(mavenArtifactMapNotationParser)
            .converter(fileNotationParser);

    return parserBuilder.toComposite();
}
 
public void convert(AbstractArchiveTask archiveTask, NotationConvertResult<? super MavenArtifact> result) throws TypeConversionException {
    DefaultMavenArtifact artifact = instantiator.newInstance(
            DefaultMavenArtifact.class,
            archiveTask.getArchivePath(), archiveTask.getExtension(), archiveTask.getClassifier());
    artifact.builtBy(archiveTask);
    result.converted(artifact);
}
 
@Override
protected IvyArtifact parseType(AbstractArchiveTask archiveTask) {
    DefaultIvyArtifact ivyArtifact = createDefaultIvyArtifact(
            archiveTask.getArchivePath(), archiveTask.getExtension(), archiveTask.getExtension(), archiveTask.getClassifier());
    ivyArtifact.builtBy(archiveTask);
    return ivyArtifact;
}
 
源代码6 项目: pushfish-android   文件: BasePlugin.java
private void configureArchiveDefaults(final Project project, final BasePluginConvention pluginConvention) {
    project.getTasks().withType(AbstractArchiveTask.class, new Action<AbstractArchiveTask>() {
        public void execute(AbstractArchiveTask task) {
            ConventionMapping taskConventionMapping = task.getConventionMapping();

            Callable<File> destinationDir;
            if (task instanceof Jar) {
                destinationDir = new Callable<File>() {
                    public File call() throws Exception {
                        return pluginConvention.getLibsDir();
                    }
                };
            } else {
                destinationDir = new Callable<File>() {
                    public File call() throws Exception {
                        return pluginConvention.getDistsDir();
                    }
                };
            }
            taskConventionMapping.map("destinationDir", destinationDir);

            taskConventionMapping.map("version", new Callable<String>() {
                public String call() throws Exception {
                    return project.getVersion() == Project.DEFAULT_VERSION ? null : project.getVersion().toString();
                }
            });

            taskConventionMapping.map("baseName", new Callable<String>() {
                public String call() throws Exception {
                    return pluginConvention.getArchivesBaseName();
                }
            });
        }
    });
}
 
@Override
protected MavenArtifact parseType(AbstractArchiveTask archiveTask) {
    DefaultMavenArtifact artifact = instantiator.newInstance(
            DefaultMavenArtifact.class,
            archiveTask.getArchivePath(), archiveTask.getExtension(), archiveTask.getClassifier());
    artifact.builtBy(archiveTask);
    return artifact;
}
 
@Override
protected IvyArtifact parseType(AbstractArchiveTask archiveTask) {
    DefaultIvyArtifact ivyArtifact = createDefaultIvyArtifact(
            archiveTask.getArchivePath(), archiveTask.getExtension(), archiveTask.getExtension(), archiveTask.getClassifier());
    ivyArtifact.builtBy(archiveTask);
    return ivyArtifact;
}
 
源代码9 项目: pushfish-android   文件: BasePlugin.java
private void configureArchiveDefaults(final Project project, final BasePluginConvention pluginConvention) {
    project.getTasks().withType(AbstractArchiveTask.class, new Action<AbstractArchiveTask>() {
        public void execute(AbstractArchiveTask task) {
            ConventionMapping taskConventionMapping = task.getConventionMapping();

            Callable<File> destinationDir;
            if (task instanceof Jar) {
                destinationDir = new Callable<File>() {
                    public File call() throws Exception {
                        return pluginConvention.getLibsDir();
                    }
                };
            } else {
                destinationDir = new Callable<File>() {
                    public File call() throws Exception {
                        return pluginConvention.getDistsDir();
                    }
                };
            }
            taskConventionMapping.map("destinationDir", destinationDir);

            taskConventionMapping.map("version", new Callable<String>() {
                public String call() throws Exception {
                    return project.getVersion() == Project.DEFAULT_VERSION ? null : project.getVersion().toString();
                }
            });

            taskConventionMapping.map("baseName", new Callable<String>() {
                public String call() throws Exception {
                    return pluginConvention.getArchivesBaseName();
                }
            });
        }
    });
}
 
源代码10 项目: javaide   文件: BasePlugin.java
private void configureArchiveDefaults(final Project project, final BasePluginConvention pluginConvention) {
    project.getTasks().withType(AbstractArchiveTask.class, new Action<AbstractArchiveTask>() {
        public void execute(AbstractArchiveTask task) {
            ConventionMapping taskConventionMapping = task.getConventionMapping();

            Callable<File> destinationDir;
            if (task instanceof Jar) {
                destinationDir = new Callable<File>() {
                    public File call() throws Exception {
                        return pluginConvention.getLibsDir();
                    }
                };
            } else {
                destinationDir = new Callable<File>() {
                    public File call() throws Exception {
                        return pluginConvention.getDistsDir();
                    }
                };
            }
            taskConventionMapping.map("destinationDir", destinationDir);

            taskConventionMapping.map("version", new Callable<String>() {
                public String call() throws Exception {
                    return project.getVersion() == Project.DEFAULT_VERSION ? null : project.getVersion().toString();
                }
            });

            taskConventionMapping.map("baseName", new Callable<String>() {
                public String call() throws Exception {
                    return pluginConvention.getArchivesBaseName();
                }
            });
        }
    });
}
 
源代码11 项目: app-gradle-plugin   文件: SourceContextPlugin.java
private void configureArchiveTask(AbstractArchiveTask archiveTask) {
  if (archiveTask == null) {
    return;
  }
  archiveTask.dependsOn("_createSourceContext");
  archiveTask.from(extension.getOutputDirectory(), copySpec -> copySpec.into("WEB-INF/classes"));
}
 
public void convert(AbstractArchiveTask archiveTask, NotationConvertResult<? super MavenArtifact> result) throws TypeConversionException {
    DefaultMavenArtifact artifact = instantiator.newInstance(
            DefaultMavenArtifact.class,
            archiveTask.getArchivePath(), archiveTask.getExtension(), archiveTask.getClassifier());
    artifact.builtBy(archiveTask);
    result.converted(artifact);
}
 
@Override
protected IvyArtifact parseType(AbstractArchiveTask archiveTask) {
    DefaultIvyArtifact ivyArtifact = createDefaultIvyArtifact(
            archiveTask.getArchivePath(), archiveTask.getExtension(), archiveTask.getExtension(), archiveTask.getClassifier());
    ivyArtifact.builtBy(archiveTask);
    return ivyArtifact;
}
 
源代码14 项目: Pushjet-Android   文件: BasePlugin.java
private void configureArchiveDefaults(final Project project, final BasePluginConvention pluginConvention) {
    project.getTasks().withType(AbstractArchiveTask.class, new Action<AbstractArchiveTask>() {
        public void execute(AbstractArchiveTask task) {
            ConventionMapping taskConventionMapping = task.getConventionMapping();

            Callable<File> destinationDir;
            if (task instanceof Jar) {
                destinationDir = new Callable<File>() {
                    public File call() throws Exception {
                        return pluginConvention.getLibsDir();
                    }
                };
            } else {
                destinationDir = new Callable<File>() {
                    public File call() throws Exception {
                        return pluginConvention.getDistsDir();
                    }
                };
            }
            taskConventionMapping.map("destinationDir", destinationDir);

            taskConventionMapping.map("version", new Callable<String>() {
                public String call() throws Exception {
                    return project.getVersion() == Project.DEFAULT_VERSION ? null : project.getVersion().toString();
                }
            });

            taskConventionMapping.map("baseName", new Callable<String>() {
                public String call() throws Exception {
                    return pluginConvention.getArchivesBaseName();
                }
            });
        }
    });
}
 
@Override
protected MavenArtifact parseType(AbstractArchiveTask archiveTask) {
    DefaultMavenArtifact artifact = instantiator.newInstance(
            DefaultMavenArtifact.class,
            archiveTask.getArchivePath(), archiveTask.getExtension(), archiveTask.getClassifier());
    artifact.builtBy(archiveTask);
    return artifact;
}
 
@Override
protected IvyArtifact parseType(AbstractArchiveTask archiveTask) {
    DefaultIvyArtifact ivyArtifact = createDefaultIvyArtifact(
            archiveTask.getArchivePath(), archiveTask.getExtension(), archiveTask.getExtension(), archiveTask.getClassifier());
    ivyArtifact.builtBy(archiveTask);
    return ivyArtifact;
}
 
源代码17 项目: Pushjet-Android   文件: BasePlugin.java
private void configureArchiveDefaults(final Project project, final BasePluginConvention pluginConvention) {
    project.getTasks().withType(AbstractArchiveTask.class, new Action<AbstractArchiveTask>() {
        public void execute(AbstractArchiveTask task) {
            ConventionMapping taskConventionMapping = task.getConventionMapping();

            Callable<File> destinationDir;
            if (task instanceof Jar) {
                destinationDir = new Callable<File>() {
                    public File call() throws Exception {
                        return pluginConvention.getLibsDir();
                    }
                };
            } else {
                destinationDir = new Callable<File>() {
                    public File call() throws Exception {
                        return pluginConvention.getDistsDir();
                    }
                };
            }
            taskConventionMapping.map("destinationDir", destinationDir);

            taskConventionMapping.map("version", new Callable<String>() {
                public String call() throws Exception {
                    return project.getVersion() == Project.DEFAULT_VERSION ? null : project.getVersion().toString();
                }
            });

            taskConventionMapping.map("baseName", new Callable<String>() {
                public String call() throws Exception {
                    return pluginConvention.getArchivesBaseName();
                }
            });
        }
    });
}
 
private ArchiveTaskNotationParser() {
    super(AbstractArchiveTask.class);
}
 
@Override
protected PublishArtifact parseType(AbstractArchiveTask notation) {
    return instantiator.newInstance(ArchivePublishArtifact.class, notation);
}
 
private ArchiveTaskNotationParser() {
    super(AbstractArchiveTask.class);
}
 
源代码21 项目: pushfish-android   文件: ArchivePublishArtifact.java
public ArchivePublishArtifact(AbstractArchiveTask archiveTask) {
    super(archiveTask);
    this.archiveTask = archiveTask;
}
 
源代码22 项目: pushfish-android   文件: ArchivePublishArtifact.java
public AbstractArchiveTask getArchiveTask() {
    return archiveTask;
}
 
private ArchiveTaskNotationParser() {
    super(AbstractArchiveTask.class);
}
 
private ArchiveTaskNotationParser() {
    super(AbstractArchiveTask.class);
}
 
@Override
protected PublishArtifact parseType(AbstractArchiveTask notation) {
    return instantiator.newInstance(ArchivePublishArtifact.class, notation);
}
 
private ArchiveTaskNotationParser() {
    super(AbstractArchiveTask.class);
}
 
源代码27 项目: pushfish-android   文件: ArchivePublishArtifact.java
public ArchivePublishArtifact(AbstractArchiveTask archiveTask) {
    super(archiveTask);
    this.archiveTask = archiveTask;
}
 
源代码28 项目: pushfish-android   文件: ArchivePublishArtifact.java
public AbstractArchiveTask getArchiveTask() {
    return archiveTask;
}
 
源代码29 项目: gradle-plugins   文件: WarOverlayPlugin.java
private void configureOverlay(WarOverlay overlay) {

        if (overlay.isDeferProvidedConfiguration()) {
            //Delay this to trick IntelliJ
            //noinspection Convert2Lambda
            overlay.getWarTask().doFirst(new Action<Task>() {
                @Override
                public void execute(Task w) {
                    overlay.getWarCopySpec().exclude(element -> overlay.isProvided());
                }
            });
        } else {
            overlay.getWarCopySpec().exclude(element -> overlay.isProvided());
        }

        Object source = overlay.getSource();

        if (source instanceof AbstractArchiveTask) {
            configureOverlay(overlay, (AbstractArchiveTask) source);
        } else if (source instanceof Project && overlay.getConfigureClosure() == null) {
            configureOverlay(overlay, (Project) source);
        } else if (source instanceof File) {
            configureOverlay(overlay, (File) source);
        } else {
            Closure configClosure = overlay.getConfigureClosure();
            Dependency dependency;
            if (configClosure == null) {
                dependency = project.getDependencies().create(source);
            } else {
                dependency = project.getDependencies().create(source, configClosure);
            }

            if (dependency instanceof ProjectDependency) {
                configureOverlay(overlay, ((ProjectDependency) dependency).getDependencyProject());
            } else if (dependency instanceof ExternalDependency) {
                configureOverlay(overlay, (ExternalDependency) dependency);
            } else {
                throw new GradleException("Unsupported dependency type: " + dependency.getClass().getName());
            }
        }
    }
 
源代码30 项目: gradle-plugins   文件: WarOverlayPlugin.java
private void configureOverlay(WarOverlay overlay, AbstractArchiveTask from) {
    overlay.getWarCopySpec().with(from.getRootSpec());
}
 
 类所在包
 类方法
 同包方法