Fix Maven Kotlin JPA compiler plugin configuration

See gh-868
This commit is contained in:
Sebastien Deleuze 2019-03-14 18:56:48 +01:00 committed by Stephane Nicoll
parent 0ecdf3097a
commit b8e21636de
2 changed files with 13 additions and 6 deletions

View File

@ -27,6 +27,7 @@ import io.spring.initializr.metadata.InitializrMetadata;
* related dependency is present.
*
* @author Madhura Bhave
* @author Sebastien Deleuze
*/
public class KotlinJpaMavenBuildCustomizer implements BuildCustomizer<MavenBuild> {
@ -39,11 +40,13 @@ public class KotlinJpaMavenBuildCustomizer implements BuildCustomizer<MavenBuild
@Override
public void customize(MavenBuild build) {
if (this.buildMetadataResolver.hasFacet(build, "jpa")) {
MavenPlugin kotlinNoArgPlugin = build.plugin("org.jetbrains.kotlin",
"kotlin-maven-noarg", "${kotlin.version}");
kotlinNoArgPlugin.configuration(
MavenPlugin kotlinPlugin = build.plugin("org.jetbrains.kotlin",
"kotlin-maven-plugin");
kotlinPlugin.configuration(
(configuration) -> configuration.configure("compilerPlugins",
(compilerPlugins) -> compilerPlugins.add("plugin", "jpa")));
kotlinPlugin.dependency("org.jetbrains.kotlin", "kotlin-maven-noarg",
"${kotlin.version}");
}
}

View File

@ -29,9 +29,10 @@ import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
/**
* Tests for {@link KotlinJpaGradleBuildCustomizer}.
* Tests for {@link KotlinJpaMavenBuildCustomizer}.
*
* @author Madhura Bhave
* @author Sebastien Deleuze
*/
class KotlinJpaMavenBuildCustomizerTests {
@ -43,12 +44,15 @@ class KotlinJpaMavenBuildCustomizerTests {
assertThat(build.getPlugins()).hasSize(1);
MavenPlugin plugin = build.getPlugins().get(0);
assertThat(plugin.getGroupId()).isEqualTo("org.jetbrains.kotlin");
assertThat(plugin.getArtifactId()).isEqualTo("kotlin-maven-noarg");
assertThat(plugin.getVersion()).isEqualTo("${kotlin.version}");
assertThat(plugin.getArtifactId()).isEqualTo("kotlin-maven-plugin");
MavenPlugin.Setting settings = plugin.getConfiguration().getSettings().get(0);
assertThat(settings.getValue()).asList().element(0)
.hasFieldOrPropertyWithValue("name", "plugin")
.hasFieldOrPropertyWithValue("value", "jpa");
MavenPlugin.Dependency pluginDependency = plugin.getDependencies().get(0);
assertThat(pluginDependency.getGroupId()).isEqualTo("org.jetbrains.kotlin");
assertThat(pluginDependency.getArtifactId()).isEqualTo("kotlin-maven-noarg");
assertThat(pluginDependency.getVersion()).isEqualTo("${kotlin.version}");
}
@Test