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