@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"); } }