private void setupSolrPackaging(Project p, PackagingExtension extension, Path packageFolder, Zip zipPackage, Task cleanTargetFolder) { // FIXME This is only POC for Solr configuration only. Set<String> environments = extension.getEnvironments().get(); Path configurationFolder = extension.getConfigurationFolder().getAsFile().get().toPath(); for (String environment : environments) { Path sourceFolder = configurationFolder.resolve(environment).resolve("solr"); Path commonFolder = configurationFolder.resolve(COMMON_CONFIG).resolve("solr"); Path targetFolder = packageFolder.resolve("solr/config/" + environment); Copy copySolrCommonConfig = p.getTasks().create("copySolrCommonEnv_" + environment, Copy.class, t -> { t.from(commonFolder); t.into(targetFolder); t.setDuplicatesStrategy(DuplicatesStrategy.INCLUDE); t.exclude(SOLR_CONFIG_EXCLUDE); }); copySolrCommonConfig.dependsOn(cleanTargetFolder); Copy copySolrConfig = p.getTasks().create("copySolrEnv_" + environment, Copy.class, t -> { t.from(sourceFolder); t.into(targetFolder); t.setDuplicatesStrategy(DuplicatesStrategy.INCLUDE); t.exclude(SOLR_CONFIG_EXCLUDE); }); copySolrConfig.dependsOn(copySolrCommonConfig); zipPackage.dependsOn(copySolrConfig); } }
/** * Create task to update license file * * @param tasks Task container to create task * @param projectConfig Project configuration for general project data * @param files Resolver for file names */ @Mutate public void createLicenseUpdateTask(ModelMap<Task> tasks, ProjectConfig projectConfig, FileOperations files) { tasks.create("licenseUpdate", Copy.class, t -> { t.setDescription("Update license file from template."); t.setGroup("license"); t.from(files.file("src/doc/templates/LICENSE.txt")); t.into(t.getProject().getProjectDir()); Map<String, Object> properties = new HashMap<>(); properties.put("year", LocalDate.now().getYear()); t.expand(properties); }); }
@Override public void execute(Task task) { Copy copy = (Copy)task; Project project = copy.getProject(); project.delete(copy.getDestinationDir()); }
private Copy _addTaskCopyTLDDocResources(final Project project) { Copy copy = GradleUtil.addTask( project, COPY_TLDDOC_RESOURCES_TASK_NAME, Copy.class); copy.from("src/main/tlddoc"); copy.into( new Callable<File>() { @Override public File call() throws Exception { TLDDocTask tldDocTask = (TLDDocTask)GradleUtil.getTask( project, TLDDOC_TASK_NAME); return tldDocTask.getDestinationDir(); } }); copy.setDescription("Copies tag library documentation resources."); return copy; }
private Copy _addTaskCopyAppTLDDocResources(final Project project) { Copy copy = GradleUtil.addTask( project, COPY_APP_TLDDOC_RESOURCES_TASK_NAME, Copy.class); copy.into( new Callable<File>() { @Override public File call() throws Exception { TLDDocTask appTLDDocTask = (TLDDocTask)GradleUtil.getTask( project, APP_TLDDOC_TASK_NAME); return appTLDDocTask.getDestinationDir(); } }); copy.setDescription("Copies tag library documentation resources."); return copy; }
t.setDescription(format("Copy files for Docker image '%s'", image.getName())); t.setGroup("docker"); t.into(buildDir.toPath().resolve(Paths.get("docker", image.getName())).toFile()); t.from(Paths.get("src", "docker", image.getName()).toString(), c -> { c.expand(context); }); t.with(image.getFiles()); t.dependsOn(image.getDependsOn()); });
t.setDescription("Update README from template."); t.setGroup("documentation"); t.from("src/doc/templates"); t.include("README.template.md"); t.rename(n -> n.replace(".template.", ".")); t.expand(context); ConventionMapping parameters = t.getConventionMapping(); parameters.map("destinationDir", () -> projectContext.getProjectDir()); });
private Copy createGeneratedModelOrganizationTask(Project project, Task dependencyTask) { String generatedModelsOutputBaseDirPath = generatedModelsOutputDirBasePath.get(); String generatedModelsBasePackagePath = project.getBuildDir().getPath() + "/generated/source/rocky/src/com/shopify/rocky"; return project.getTasks().create("organizeGeneratedModels", Copy.class, (Copy task) -> { task.dependsOn(dependencyTask); task.from(generatedModelsOutputBaseDirPath + "/tmp/Enums", copySpec -> { copySpec.into("/enums"); copySpec.include("*.kt"); }); task.from(generatedModelsOutputBaseDirPath + "/tmp/Queries", copySpec -> { copySpec.into("/queries"); copySpec.include("*.kt"); }); task.from(generatedModelsOutputBaseDirPath + "/tmp/Inputs", copySpec -> { copySpec.into("/inputs"); copySpec.include("*.kt"); }); task.from(generatedModelsOutputBaseDirPath + "/tmp/Mutations", copySpec -> { copySpec.into("/mutations"); copySpec.include("*.kt"); }); task.from(generatedModelsOutputBaseDirPath + "/tmp/Responses", copySpec -> { copySpec.into("/responses"); copySpec.include("*.kt"); }); task.setIncludeEmptyDirs(true); task.into(generatedModelsBasePackagePath); task.execute(); }); }
copyPages.from(p.fileTree(pages)); copyPages.into(new File(p.getBuildDir(), "web")); final ShowTask show = p.getTasks().create("bck2brwsrShow", ShowTask.class, new Action<ShowTask>() { @Override copyPages.setGroup(GROUP); copyPages.setDescription("Copies web pages from " + pages + " to build/web directory");
@Override public void execute(@NonNull Copy task) { task.from(new Callable<List<FileTree>>() { @Override public List<FileTree> call() throws Exception { List<FileTree> fileTrees = Lists.newArrayList(); for (File file : scope.getProject().getConfigurations().getByName( JacocoPlugin.AGENT_CONFIGURATION_NAME)) { fileTrees.add(scope.getProject().zipTree(file)); } return fileTrees; } }); task.include(scope.getJacocoAgent().getName()); task.into(scope.getJacocoAgentOutputDirectory()); }
private void configEnv(Project project) { Task jar = project.getTasks().getByName("jar"); Copy copy = project.getTasks().create("copy", Copy.class); copy.into(project.getBuildDir() + "/classes/java/main"); // copy.from("/home/xiaoquan/idea-workspace/support-plugin/.idea/misc.xml"); // copy.into("/home/xiaoquan/tmp/gradle_tmp"); Action<Task> taskAction = (t) -> { NukeEnvExtension nukeEnvExtension = (NukeEnvExtension) project.getExtensions().getByName(Nuke_Ext_Name); EnvDomain qa = nukeEnvExtension.getQa(); if (qa.getConfigDir() != null) { String configDir = qa.getConfigDir(); copy.from(configDir); } copy.exclude(qa.getExclude()); copy.execute(); }; jar.doFirst(taskAction); }
File driverDir = t.getProject().file("hybris/bin/platform/lib/dbdriver"); t.from(dbDrivers); t.into(driverDir); }); setupDBDriver.mustRunAfter(unpackPlatform);
public static Copy addTaskExpandCompileDependency( Project project, File file, File destinationDir, String taskNamePrefix, RenameDependencyClosure renameDependencyClosure) { String taskName = GradleUtil.getTaskName(taskNamePrefix, file); Copy copy = GradleUtil.addTask(project, taskName, Copy.class); copy.doFirst( new Action<Task>() { @Override public void execute(Task task) { Copy copy = (Copy)task; Project project = copy.getProject(); project.delete(copy.getDestinationDir()); } }); copy.from(project.zipTree(file)); String name = renameDependencyClosure.call(file.getName()); name = name.substring(0, name.length() - 4); destinationDir = new File(destinationDir, name); copy.setDescription( "Expands " + file.getName() + " into " + project.relativePath(destinationDir) + "."); copy.setDestinationDir(destinationDir); return copy; }
copyTask.setDestinationDir(apkLocation); copyTask.from(variantOutputData.packageSplitResourcesTask.getOutputDirectory()); variantOutputData.assembleTask.dependsOn(copyTask); copyTask.mustRunAfter(appTask.getName());
private void _addTasksExpandSoyCompileDependencies( TranspileJSTask transpileJSTask, Configuration configuration) { Project project = transpileJSTask.getProject(); RenameDependencyClosure renameDependencyClosure = new RenameDependencyClosure(project, configuration.getName()); Iterable<TaskDependency> taskDependencies = JSTranspilerPluginUtil.getTaskDependencies(configuration); for (File file : configuration) { Copy copy = JSTranspilerPluginUtil.addTaskExpandCompileDependency( project, file, project.getBuildDir(), "expandSoyCompileDependency", renameDependencyClosure); copy.dependsOn(taskDependencies); transpileJSTask.dependsOn(copy); String path = FileUtil.getAbsolutePath(copy.getDestinationDir()); path += "/META-INF/resources/**/*.soy"; transpileJSTask.soyDependency(path); } }
private void _configureTaskCopyAppTLDDocResources( Copy copyAppTLDDocResourcesTask, Project subproject) { Copy copy = (Copy)GradleUtil.getTask( subproject, TLDDocBuilderPlugin.COPY_TLDDOC_RESOURCES_TASK_NAME); TaskInputs taskInputs = copy.getInputs(); copyAppTLDDocResourcesTask.from(taskInputs.getFiles()); }
/** * Sets the directory to copy files into. This is the same as calling {@link #into(Object)} on this task. * * @param destinationDir The destination directory. Must not be null. */ public void setDestinationDir(File destinationDir) { into(destinationDir); }
private static Copy getConjureSources( Project project, org.gradle.api.internal.file.SourceDirectorySetFactory sourceDirectorySetFactory) { // Conjure code source set SourceDirectorySet conjureSourceSet = sourceDirectorySetFactory.create("conjure"); conjureSourceSet.setSrcDirs(Collections.singleton("src/main/conjure")); conjureSourceSet.setIncludes(Collections.singleton("**/*.yml")); // Copy conjure imports into build directory File buildDir = new File(project.getBuildDir(), "conjure"); // Copy conjure sources into build directory Copy copyConjureSourcesTask = project.getTasks().create("copyConjureSourcesIntoBuild", Copy.class); copyConjureSourcesTask.into(project.file(buildDir)).from(conjureSourceSet); copyConjureSourcesTask.doFirst(task -> { GFileUtils.deleteDirectory(buildDir); }); Task cleanTask = project.getTasks().findByName(TASK_CLEAN); cleanTask.dependsOn(project.getTasks().findByName("cleanCopyConjureSourcesIntoBuild")); return copyConjureSourcesTask; }