2
0
Fork 0
mirror of https://github.com/ethauvin/rife2-hello.git synced 2025-04-25 15:37:10 -07:00

Minor cleanups

This commit is contained in:
Geert Bevin 2023-03-04 10:22:04 -05:00
parent d3dedfe189
commit c8f47a935e

View file

@ -15,8 +15,7 @@
*/
package com.uwyn.rife2.gradle;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.*;
import org.gradle.api.artifacts.Configuration;
import org.gradle.api.artifacts.ConfigurationContainer;
import org.gradle.api.artifacts.dsl.DependencyHandler;
@ -58,17 +57,21 @@ public class Rife2Plugin implements Plugin<Project> {
var rife2CompilerClasspath = createRife2CompilerClasspathConfiguration(configurations, rife2Configuration);
var rife2AgentClasspath = createRife2AgentConfiguration(configurations, dependencyHandler, rife2Extension);
configurations.getByName(JavaPlugin.IMPLEMENTATION_CONFIGURATION_NAME).extendsFrom(rife2Configuration);
var precompileTemplates = registerPrecompileTemplateTask(project, rife2CompilerClasspath);
createRife2DevelopmentOnlyConfiguration(project, configurations, dependencyHandler, precompileTemplates);
exposePrecompiledTemplatesToTestTask(project, configurations, dependencyHandler, precompileTemplates);
var precompileHtmlTemplates = registerPrecompileHtmlTemplateTask(project, rife2CompilerClasspath);
createRife2DevelopmentOnlyConfiguration(project, configurations, dependencyHandler, precompileHtmlTemplates);
exposePrecompiledTemplatesToTestTask(project, configurations, dependencyHandler, precompileHtmlTemplates);
configureAgent(project, plugins, rife2Extension, rife2AgentClasspath);
registerRunTask(project, rife2Extension, rife2AgentClasspath);
TaskProvider<Jar> uberJarTask = registerUberJarTask(project, plugins, javaPluginExtension, rife2Extension, tasks, precompileTemplates);
bundlePrecompiledTemplatesIntoJarFile(tasks, precompileTemplates);
TaskProvider<Jar> uberJarTask = registerUberJarTask(project, plugins, javaPluginExtension, rife2Extension, tasks, precompileHtmlTemplates);
bundlePrecompiledTemplatesIntoJarFile(tasks, precompileHtmlTemplates);
configureMavenPublishing(project, plugins, configurations, uberJarTask);
}
private static void configureMavenPublishing(Project project, PluginContainer plugins, ConfigurationContainer configurations, TaskProvider<Jar> uberJarTask) {
@SuppressWarnings("unchecked")
private static void configureMavenPublishing(Project project,
PluginContainer plugins,
ConfigurationContainer configurations,
TaskProvider<Jar> uberJarTask) {
plugins.withId("maven-publish", unused -> {
Configuration rife2UberJarElements = configurations.create("rife2UberJarElements", conf -> {
conf.setDescription("Exposes the uber jar archive of the RIFE2 web application.");
@ -95,13 +98,17 @@ public class Rife2Plugin implements Plugin<Project> {
});
}
private static void exposePrecompiledTemplatesToTestTask(Project project, ConfigurationContainer configurations, DependencyHandler dependencyHandler, TaskProvider<PrecompileTemplates> precompileTemplates) {
private static void exposePrecompiledTemplatesToTestTask(Project project,
ConfigurationContainer configurations,
DependencyHandler dependencyHandler,
TaskProvider<PrecompileTemplates> precompileTemplates) {
configurations.getByName(JavaPlugin.TEST_RUNTIME_ONLY_CONFIGURATION_NAME)
.getDependencies()
.add(dependencyHandler.create(project.files(precompileTemplates)));
}
private static void bundlePrecompiledTemplatesIntoJarFile(TaskContainer tasks, TaskProvider<PrecompileTemplates> precompileTemplates) {
private static void bundlePrecompiledTemplatesIntoJarFile(TaskContainer tasks,
TaskProvider<PrecompileTemplates> precompileTemplates) {
tasks.named("jar", Jar.class, jar -> jar.from(precompileTemplates));
}
@ -144,7 +151,10 @@ public class Rife2Plugin implements Plugin<Project> {
});
}
private static void configureAgent(Project project, PluginContainer plugins, Rife2Extension rife2Extension, Configuration rife2AgentClasspath) {
private static void configureAgent(Project project,
PluginContainer plugins,
Rife2Extension rife2Extension,
Configuration rife2AgentClasspath) {
CommandLineArgumentProvider agentProvider = () -> {
if (Boolean.TRUE.equals(rife2Extension.getUseAgent().get())) {
return Collections.singleton("-javaagent:" + rife2AgentClasspath.getAsPath());
@ -162,7 +172,8 @@ public class Rife2Plugin implements Plugin<Project> {
return rife2;
}
private static Configuration createRife2CompilerClasspathConfiguration(ConfigurationContainer configurations, Configuration rife2Configuration) {
private static Configuration createRife2CompilerClasspathConfiguration(ConfigurationContainer configurations,
Configuration rife2Configuration) {
return configurations.create("rife2CompilerClasspath", conf -> {
conf.setDescription("The RIFE2 compiler classpath");
conf.setCanBeConsumed(false);
@ -197,11 +208,11 @@ public class Rife2Plugin implements Plugin<Project> {
return config;
}
private static TaskProvider<PrecompileTemplates> registerPrecompileTemplateTask(Project project,
private static TaskProvider<PrecompileTemplates> registerPrecompileHtmlTemplateTask(Project project,
Configuration rife2CompilerClasspath) {
return project.getTasks().register("precompileTemplates", PrecompileTemplates.class, task -> {
return project.getTasks().register("precompileHtmlTemplates", PrecompileTemplates.class, task -> {
task.setGroup(RIFE2_GROUP);
task.setDescription("Pre-compiles the templates.");
task.setDescription("Pre-compiles the HTML templates.");
task.getVerbose().convention(true);
task.getClasspath().from(rife2CompilerClasspath);
task.getType().convention("html");
@ -210,7 +221,8 @@ public class Rife2Plugin implements Plugin<Project> {
});
}
private static void registerRunTask(Project project, Rife2Extension rife2Extension,
private static void registerRunTask(Project project,
Rife2Extension rife2Extension,
Configuration rife2CompilerClasspath) {
project.getTasks().register("run", RunTask.class, task -> {
task.setGroup(RIFE2_GROUP);