Home / Class/ KotlinPluginAction Class — spring-boot Architecture

KotlinPluginAction Class — spring-boot Architecture

Architecture documentation for the KotlinPluginAction class in KotlinPluginAction.java from the spring-boot codebase.

Entity Profile

Source Code

build-plugin/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/KotlinPluginAction.java lines 33–72

class KotlinPluginAction implements PluginApplicationAction {

	@Override
	public void execute(Project project) {
		configureKotlinVersionProperty(project);
		enableJavaParametersOption(project);
		repairDamageToAotCompileConfigurations(project);
	}

	private void configureKotlinVersionProperty(Project project) {
		ExtraPropertiesExtension extraProperties = project.getExtensions().getExtraProperties();
		if (!extraProperties.has("kotlin.version")) {
			String kotlinVersion = getKotlinVersion(project);
			extraProperties.set("kotlin.version", kotlinVersion);
		}
	}

	private String getKotlinVersion(Project project) {
		return KotlinPluginWrapperKt.getKotlinPluginVersion(project);
	}

	private void enableJavaParametersOption(Project project) {
		project.getTasks()
			.withType(KotlinCompile.class)
			.configureEach((compile) -> compile.getCompilerOptions().getJavaParameters().set(true));
	}

	private void repairDamageToAotCompileConfigurations(Project project) {
		SpringBootAotPlugin aotPlugin = project.getPlugins().findPlugin(SpringBootAotPlugin.class);
		if (aotPlugin != null) {
			aotPlugin.repairKotlinPluginDamage(project);
		}
	}

	@Override
	public Class<? extends Plugin<? extends Project>> getPluginClass() {
		return KotlinPluginWrapper.class;
	}

}

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free