public void apply(Project rootProject) { this.project = rootProject; if (!rootProject.equals(rootProject.getRootProject())) { throw new IllegalArgumentException( BaselineConfig.class.getCanonicalName() + " plugin can only be applied to the root project."); } Configuration configuration = rootProject.getConfigurations().create("baseline"); // users can still override this default dependency, it just reduces boilerplate Optional<String> version = Optional.ofNullable(getClass().getPackage().getImplementationVersion()); configuration.defaultDependencies(d -> d.add(rootProject.getDependencies().create(String.format( "com.palantir.baseline:gradle-baseline-java-config%s@zip", version.map(v -> ":" + v).orElse(""))))); // Create task for generating configuration. rootProject.getTasks().register("baselineUpdateConfig", task -> { task.setGroup("Baseline"); task.setDescription("Installs or updates Baseline configuration files in .baseline/"); task.getInputs().files(configuration); task.getOutputs().dir(getConfigDir()); task.getOutputs().dir(rootProject.getRootDir().toPath().resolve("project")); task.doLast(new BaselineUpdateConfigAction(configuration, rootProject)); }); }
protected Task addTaskBuildXSDGenerate(BuildXSDTask buildXSDTask) { Project project = buildXSDTask.getProject(); JavaExec javaExec = GradleUtil.addTask( project, buildXSDTask.getName() + "Generate", JavaExec.class); File tmpSrcDir = new File( project.getBuildDir(), buildXSDTask.getName() + "/src"); javaExec.args("-d"); javaExec.args(FileUtil.getAbsolutePath(tmpSrcDir)); javaExec.args("-srconly"); Iterable<File> xsdFiles = buildXSDTask.getInputFiles(); for (File xsdFile : xsdFiles) { javaExec.args(FileUtil.getAbsolutePath(xsdFile)); } javaExec.dependsOn( BasePlugin.CLEAN_TASK_NAME + StringUtil.capitalize(javaExec.getName())); javaExec.setClasspath( GradleUtil.getConfiguration(project, CONFIGURATION_NAME)); javaExec.setDescription( "Invokes the XMLBeans Schema Compiler in order to generate Java " + "types from XML Schema."); javaExec.setMain("org.apache.xmlbeans.impl.tool.SchemaCompiler"); TaskInputs taskInputs = javaExec.getInputs(); taskInputs.files(xsdFiles); TaskOutputs taskOutputs = javaExec.getOutputs(); taskOutputs.dir(tmpSrcDir); return javaExec; }
private Task _addTaskBuildWSDLGenerate( BuildWSDLTask buildWSDLTask, FileCollection classpath, File inputFile, final File destinationDir, boolean deleteDestinationDir) { Project project = buildWSDLTask.getProject(); String taskName = GradleUtil.getTaskName( buildWSDLTask.getName() + "Generate", inputFile); JavaExec javaExec = GradleUtil.addTask( project, taskName, JavaExec.class); GenerateOptions generateOptions = buildWSDLTask.getGenerateOptions(); javaExec.args(generateOptions.getArgs()); javaExec.args("--output=" + FileUtil.getAbsolutePath(destinationDir)); javaExec.args(FileUtil.getAbsolutePath(inputFile)); if (deleteDestinationDir) { javaExec.doFirst( new Action<Task>() { @Override public void execute(Task task) { Project project = task.getProject(); project.delete(destinationDir); } }); } javaExec.setClasspath(classpath); javaExec.setMain("org.apache.axis.wsdl.WSDL2Java"); TaskInputs taskInputs = javaExec.getInputs(); taskInputs.file(inputFile); TaskOutputs taskOutputs = javaExec.getOutputs(); taskOutputs.dir(destinationDir); return javaExec; }