public void apply(Project project) { if (project.equals(project.getRootProject())) { project.getTasks().register("extractEmbeddedJni", ExtractJniFilesTask.class); } project.getPlugins().withType(ComponentModelBasePlugin.class, c -> { project.getExtensions().getExtraProperties().set("JniNativeLibrarySpec", JniNativeLibrarySpec.class); project.getExtensions().getExtraProperties().set("JniCrossCompileOptions", new CreateJniCrossCompileOptions()); project.getExtensions().create("gradleJniConfiguration", GradleJniConfiguration.class); project.getPluginManager().apply(JniRules.class); }); } }
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)); }); }
public static TaskProvider<Tar> createConfigTarTask(Project project, BaseDistributionExtension ext) { TaskProvider<Tar> configTar = project.getTasks().register("configTar", Tar.class, task -> { task.setGroup(JavaServiceDistributionPlugin.GROUP_NAME); task.setDescription(
@Override public void apply(Project project) { project.getPlugins().apply(JSassWebjarsPlugin.class); project.getPlugins().apply(WarPlugin.class); TaskProvider<SassCompile> sassCompileTaskProvider = project.getTasks().register("compileWebappSass", SassCompile.class, compileWebappSass -> { compileWebappSass.setGroup(BasePlugin.BUILD_GROUP); compileWebappSass.setDescription("Compile sass and scss files for the webapp"); WarPluginConvention warPluginConvention = project.getConvention().getPlugin(WarPluginConvention.class); compileWebappSass.source(warPluginConvention.getWebAppDir()); compileWebappSass.getDestinationDir().set(new File(project.getBuildDir(), "jsass/webapp")); }); project.getTasks().named(WarPlugin.WAR_TASK_NAME, War.class) .configure(war -> war.from(sassCompileTaskProvider)); } }
@Override public void apply(Project project) { this.project = project; lombokExtension = project.getExtensions().create("lombok", LombokExtension.class); lombokExtension.getConfig().put("config.stopBubbling", "true"); lombokConfiguration = project.getConfigurations().create("lombok"); lombokConfiguration.defaultDependencies(dependencySet -> dependencySet.add( project.getDependencies().create("org.projectlombok:lombok:" + lombokExtension.getVersion()) )); generateLombokConfig = project.getTasks().register("generateLombokConfig", GenerateLombokConfig.class, genConfig -> { genConfig.getProperties().convention(lombokExtension.getConfig()); genConfig.setGroup("lombok"); }); project.getTasks().withType(Delombok.class).configureEach(this::configureDelombokDefaults); project.getPlugins().withType(JavaPlugin.class, javaPlugin -> configureJavaPluginDefaults()); }
VsCodeConfigurationExtension vsce = rootProject.getExtensions().findByType(VsCodeConfigurationExtension.class); if (vsce == null) { rootProject.getTasks().register("generateVsCodeConfig", VsCodeConfigurationTask.class, task -> { task.setGroup("VSCode"); task.setDescription("Generate configuration file for VSCode"); project.getTasks().named("generateVsCodeConfig"); } catch (UnknownTaskException ex) { project.getTasks().register("generateVsCodeConfig", Task.class, task -> { task.setGroup("VSCode"); task.setDescription("Shim task to enable project creation");
TaskProvider<CheckBomConflictTask> checkBomConflict = project.getTasks().register( "checkBomConflict", CheckBomConflictTask.class, task -> task.setPropsFile(rootVersionsPropsFile)); TaskProvider<CheckNoUnusedPinTask> checkNoUnusedPin = project.getTasks().register( "checkNoUnusedPin", CheckNoUnusedPinTask.class, task -> task.setPropsFile(rootVersionsPropsFile)); project.getTasks().register("checkVersionsProps", CheckVersionsPropsTask.class, task -> { task.dependsOn(checkBomConflict, checkNoUnusedPin);
@Override public void apply(Project project) { project.getPlugins().apply(JSassWebjarsPlugin.class); project.getPlugins().apply(JavaPlugin.class); File baseDestinationDir = new File(project.getBuildDir(), "jsass"); project.getConvention().getPlugin(JavaPluginConvention.class).getSourceSets().all(sourceSet -> { String taskName = sourceSet.getCompileTaskName("Sass"); TaskProvider<SassCompile> sassCompileTaskProvider = project.getTasks().register(taskName, SassCompile.class, sassCompile -> { sassCompile.setSource(sourceSet.getResources()); sassCompile.getDestinationDir().set(new File(baseDestinationDir, sourceSet.getName())); sassCompile.setGroup(BasePlugin.BUILD_GROUP); sassCompile.setDescription("Compile sass and scss files for the " + sourceSet.getName() + " source set"); }); project.getTasks().named(sourceSet.getProcessResourcesTaskName(), Copy.class) .configure(processResources -> processResources.from(sassCompileTaskProvider)); }); } }
.resolve("com.palantir.graal")); TaskProvider<DownloadGraalTask> downloadGraal = project.getTasks().register( "downloadGraalTooling", DownloadGraalTask.class, }); TaskProvider<ExtractGraalTask> extractGraal = project.getTasks().register( "extractGraalTooling", ExtractGraalTask.class, project.getTasks().register( "nativeImage", NativeImageTask.class,
.resolve("com.palantir.graal")); TaskProvider<DownloadGraalTask> downloadGraal = project.getTasks().register( "downloadGraalTooling", DownloadGraalTask.class, }); TaskProvider<ExtractGraalTask> extractGraal = project.getTasks().register( "extractGraalTooling", ExtractGraalTask.class, project.getTasks().register( "nativeImage", NativeImageTask.class,
} ); ext.publications( pubs -> { TaskProvider<Jar> provider = tasks.register( "sources", Jar.class, jar -> { jar.setClassifier( jar.getName() ); project.getExtensions()
} ); ext.publications( pubs -> { TaskProvider<Jar> provider = tasks.register( "sources", Jar.class, jar -> { jar.setClassifier( jar.getName() ); project.getExtensions()
rootProject.getTasks().named(extractGeneratorTaskName); } catch (UnknownTaskException notFound) { rootProject.getTasks().register(extractGeneratorTaskName, ExtractDefFileGeneratorTask.class, task -> { task.getOutputs().file(task.defFileGenerator); task.defFileGenerator.set(rootProject.getLayout().getBuildDirectory().file("DefFileGenerator.exe")); TaskProvider<ExportsGenerationTask> exportsTask = project.getTasks().register(exportsTaskName, ExportsGenerationTask.class, task -> { task.getInputs().files(((AbstractLinkTask) sBinary.getTasks().getLink()).getSource()); File tmpDir = project.file(project.getBuildDir() + "/tmp/" + exportsTaskName);
project, distributionExtension); TaskProvider<Tar> distTar = project.getTasks().register("distTar", Tar.class, task -> { task.setGroup(AssetDistributionPlugin.GROUP_NAME); task.setDescription("Creates a compressed, gzipped tar file that contains required static assets.");
public static TaskProvider<CreateManifestTask> createManifestTask(Project project, BaseDistributionExtension ext) { TaskProvider<CreateManifestTask> createManifest = project.getTasks().register( "createManifest", CreateManifestTask.class, task -> { task.getServiceName().set(ext.getDistributionServiceName()); task.getServiceGroup().set(ext.getDistributionServiceGroup()); task.getProductType().set(ext.getProductType()); task.setManifestFile(new File(project.getBuildDir(), "/deployment/manifest.yml")); task.getProductDependencies().set(ext.getProductDependencies()); task.setProductDependenciesConfig(ext.getProductDependenciesConfig()); task.getIgnoredProductIds().set(ext.getIgnoredProductDependencies()); }); project.afterEvaluate(p -> createManifest.configure(task -> task.setManifestExtensions(ext.getManifestExtensions()))); return createManifest; } }
} ); ext.publications( pubs -> { TaskProvider<Jar> provider = tasks.register( "sources", Jar.class, jar -> { jar.setClassifier( jar.getName() ); jar.from( project.getExtensions()
@Override public void apply(Project project) { project.getPlugins().apply(JSassBasePlugin.class); Configuration webjars = project.getConfigurations().create("webjars"); project.getPlugins().withType(JavaPlugin.class, javaPlugin -> webjars.extendsFrom(project.getConfigurations().getByName(JavaPlugin.COMPILE_CLASSPATH_CONFIGURATION_NAME)) ); TaskProvider<PrepareWebjars> prepareWebjarsTaskProvider = project.getTasks().register("prepareWebjars", PrepareWebjars.class, prepareWebjars -> { prepareWebjars.getWebjars().from(webjars); prepareWebjars.getOutputDirectory().set(project.getLayout().getBuildDirectory().dir("jsass/webjars")); }); project.getTasks().withType(SassCompile.class) .configureEach(sassCompile -> sassCompile.getIncludePaths().from(prepareWebjarsTaskProvider)); } }
project, distributionExtension); TaskProvider<CreatePodYamlTask> podYaml = project.getTasks().register( "createPodYaml", CreatePodYamlTask.class, task -> { task.setGroup(PodDistributionPlugin.GROUP_NAME);
.register("copyLauncherBinaries", CopyLauncherBinariesTask.class); TaskProvider<Jar> manifestClassPathTask = project.getTasks().register( "manifestClasspathJar", Jar.class, task -> { task.setGroup(JavaServiceDistributionPlugin.GROUP_NAME); TaskProvider<CreateStartScripts> startScripts = project.getTasks().register("createStartScripts", CreateStartScripts.class, task -> { task.setGroup(JavaServiceDistributionPlugin.GROUP_NAME); TaskProvider<LaunchConfigTask> launchConfigTask = project.getTasks().register( "createLaunchConfig", LaunchConfigTask.class, task -> { task.setGroup(JavaServiceDistributionPlugin.GROUP_NAME); TaskProvider<CreateInitScriptTask> initScript = project.getTasks().register( "createInitScript", CreateInitScriptTask.class, task -> { task.setGroup(JavaServiceDistributionPlugin.GROUP_NAME); TaskProvider<CreateCheckScriptTask> checkScript = project.getTasks().register( "createCheckScript", CreateCheckScriptTask.class, task -> { task.setGroup(JavaServiceDistributionPlugin.GROUP_NAME); TaskProvider<CopyYourkitAgentTask> yourkitAgent = project.getTasks().register( "copyYourkitAgent", CopyYourkitAgentTask.class); TaskProvider<CopyYourkitLicenseTask> yourkitLicense = project.getTasks().register( "copyYourkitLicense", CopyYourkitLicenseTask.class); TaskProvider<JavaExec> runTask = project.getTasks().register("run", JavaExec.class, task -> { task.setGroup(JavaServiceDistributionPlugin.GROUP_NAME);
project.getConfigurations().getByName(sourceSet.getAnnotationProcessorConfigurationName()).extendsFrom(lombokConfiguration); TaskProvider<Delombok> delombokTaskProvider = project.getTasks().register(sourceSet.getTaskName("delombok", ""), Delombok.class, delombok -> { delombok.setDescription("Runs delombok on the " + sourceSet.getName() + " source-set"); delombok.getTarget().set(project.getLayout().getBuildDirectory().dir("delombok/" + sourceSet.getName()));