exec.dependsOn(prepareTask); exec.doFirst(new Action<Task>() { @SuppressWarnings("unchecked")
@Override public void apply(Project project) { project.getPlugins().apply(NodePlugin.class); NodeExtension node = project.getExtensions().getByType(NodeExtension.class); node.setDownload(true); node.setVersion("8.11.4"); node.setNodeModulesDir(project.file(new File(project.getBuildDir(), "/modules"))); NpmTask downloadAntoraCli = project.getTasks() .create("downloadAntoraCli", NpmTask.class); downloadAntoraCli.setArgs(Arrays.asList("install", "@antora/cli")); NpmTask downloadAntoraSiteGenerator = project.getTasks() .create("downloadAntoraSiteGenerator", NpmTask.class); downloadAntoraSiteGenerator.setArgs(Arrays.asList("install", "@antora/site-generator-default")); Task downloadAntora = project.getTasks().create("downloadAntora"); downloadAntora.dependsOn(downloadAntoraCli, downloadAntoraSiteGenerator); Exec antora = project.getTasks().create("antora", Exec.class); antora.setGroup("Docs"); antora.setDescription("Installs and runs antora site.yml"); antora.dependsOn(downloadAntora); antora.setCommandLine("build/modules/node_modules/@antora/cli/bin/antora", "site.yml"); } }
private Exec createExecuteModelsGeneratorTask(Project project, Task dependencyTask) { return project.getTasks().create("executeModelGeneratorScript", Exec.class, exec -> { exec.dependsOn(dependencyTask); exec.workingDir(createFileFromPath(generatorScriptDir.get())); exec.commandLine(createFileFromPath(generatorScriptFile.get())).setArgs(getScriptArguments()); exec.execute(); }); }
task.commandLine("npm", "install", "--no-package-lock"); task.workingDir(srcDirectory); task.dependsOn(compileConjureTypeScript); task.getInputs().file(new File(srcDirectory, "package.json")); task.getOutputs().dir(new File(srcDirectory, "node_modules")); task.commandLine("npm", "run-script", "build"); task.workingDir(srcDirectory); task.dependsOn(installTypeScriptDependencies); }); Task publishTypeScript = project.getTasks().create("publishTypeScript", Exec.class, task -> { task.commandLine("npm", "publish"); task.workingDir(srcDirectory); task.dependsOn(compileConjureTypeScript); task.dependsOn(compileTypeScript); }); subproj.afterEvaluate(p -> subproj.getTasks().maybeCreate("publish").dependsOn(publishTypeScript));
distDir); task.workingDir(subproj.file("python")); task.dependsOn(compileConjurePython); Task cleanTask = project.getTasks().findByName(TASK_CLEAN); cleanTask.dependsOn(project.getTasks().findByName("cleanCompileConjurePython"));