Revert GMavenPlus migration

GMavenPlus is not properly supported on Eclipse so a Groovy-based
project using Maven now breaks in that IDE. Let's revert the support
until we find a better solution.
This commit is contained in:
Stephane Nicoll 2015-12-31 15:15:35 +01:00
parent 8783ce013a
commit b8f8a43323
6 changed files with 50 additions and 43 deletions

View File

@ -8,7 +8,6 @@ order.
=== Release 1.0.0 (In progress) === Release 1.0.0 (In progress)
* https://github.com/spring-io/initializr/issues/114[#114]: clean package name if necessary * https://github.com/spring-io/initializr/issues/114[#114]: clean package name if necessary
* https://github.com/spring-io/initializr/issues/90[#90]: migrate Groovy maven-based builds to GMavenPlus
* https://github.com/spring-io/initializr/issues/140[#140]: expose dependencies meta-data * https://github.com/spring-io/initializr/issues/140[#140]: expose dependencies meta-data
* https://github.com/spring-io/initializr/issues/168[#168]: support for dependency versions mapping * https://github.com/spring-io/initializr/issues/168[#168]: support for dependency versions mapping
* https://github.com/spring-io/initializr/issues/165[#165]: improve resources caching * https://github.com/spring-io/initializr/issues/165[#165]: improve resources caching

View File

@ -152,29 +152,30 @@
</dependencyManagement> </dependencyManagement>
<build> <build>
<sourceDirectory>src/main/groovy</sourceDirectory>
<testSourceDirectory>src/test/groovy</testSourceDirectory>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version> <version>3.1</version>
<configuration> <configuration>
<compilerId>groovy-eclipse-compiler</compilerId>
<source>${java.version}</source> <source>${java.version}</source>
<target>${java.version}</target> <target>${java.version}</target>
</configuration> </configuration>
</plugin> <dependencies>
<plugin> <dependency>
<groupId>org.codehaus.gmavenplus</groupId> <groupId>org.codehaus.groovy</groupId>
<artifactId>gmavenplus-plugin</artifactId> <artifactId>groovy-eclipse-compiler</artifactId>
<executions> <version>2.9.1-01</version>
<execution> </dependency>
<goals> <dependency>
<goal>addSources</goal> <groupId>org.codehaus.groovy</groupId>
<goal>addTestSources</goal> <artifactId>groovy-eclipse-batch</artifactId>
<goal>compile</goal> <version>2.3.7-01</version>
<goal>testCompile</goal> </dependency>
</goals> </dependencies>
</execution>
</executions>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
@ -189,6 +190,12 @@
</excludes> </excludes>
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>2.9.1-01</version>
<extensions>true</extensions>
</plugin>
</plugins> </plugins>
<pluginManagement> <pluginManagement>
<plugins> <plugins>
@ -197,11 +204,6 @@
<artifactId>maven-surefire-plugin</artifactId> <artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version> <version>2.16</version>
</plugin> </plugin>
<plugin>
<groupId>org.codehaus.gmavenplus</groupId>
<artifactId>gmavenplus-plugin</artifactId>
<version>1.5</version>
</plugin>
</plugins> </plugins>
</pluginManagement> </pluginManagement>
</build> </build>

View File

@ -102,7 +102,7 @@ class ProjectGenerator {
def applicationName = request.applicationName def applicationName = request.applicationName
def language = request.language def language = request.language
String codeLocation = language.equals("groovy") ? 'groovy': 'java' String codeLocation = ((language.equals("groovy") && gradleBuild) ? 'groovy': 'java')
def src = new File(new File(dir, "src/main/$codeLocation"), request.packageName.replace('.', '/')) def src = new File(new File(dir, "src/main/$codeLocation"), request.packageName.replace('.', '/'))
src.mkdirs() src.mkdirs()
write(new File(src, "${applicationName}.${language}"), "Application.$language", model) write(new File(src, "${applicationName}.${language}"), "Application.$language", model)

View File

@ -78,23 +78,28 @@
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
</plugin><% if (language=='groovy') { %> </plugin><% if (language=='groovy') { %>
<plugin> <plugin>
<groupId>org.codehaus.gmavenplus</groupId> <artifactId>maven-compiler-plugin</artifactId>
<artifactId>gmavenplus-plugin</artifactId> <configuration>
<version>1.5</version> <compilerId>groovy-eclipse-compiler</compilerId>
<executions> </configuration>
<execution> <dependencies>
<goals> <dependency>
<goal>addSources</goal> <groupId>org.codehaus.groovy</groupId>
<goal>addTestSources</goal> <artifactId>groovy-eclipse-compiler</artifactId>
<goal>generateStubs</goal> <version>2.9.1-01</version>
<goal>compile</goal> </dependency>
<goal>testGenerateStubs</goal> <dependency>
<goal>testCompile</goal> <groupId>org.codehaus.groovy</groupId>
<goal>removeStubs</goal> <artifactId>groovy-eclipse-batch</artifactId>
<goal>removeTestStubs</goal> <version>2.3.7-01</version>
</goals> </dependency>
</execution> </dependencies>
</executions> </plugin>
<plugin>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>2.9.1-01</version>
<extensions>true</extensions>
</plugin><% } %> </plugin><% } %>
</plugins> </plugins>
</build> </build>

View File

@ -217,7 +217,7 @@ class ProjectGeneratorTests {
request.bootVersion = '1.1.9.RELEASE' request.bootVersion = '1.1.9.RELEASE'
request.name = 'MyDemo' request.name = 'MyDemo'
request.packageName = 'foo' request.packageName = 'foo'
generateProject(request).sourceCodeAssert('src/main/groovy/foo/MyDemoApplication.groovy') generateProject(request).sourceCodeAssert('src/main/java/foo/MyDemoApplication.groovy')
.hasImports(EnableAutoConfiguration.class.name, ComponentScan.class.name, Configuration.class.name) .hasImports(EnableAutoConfiguration.class.name, ComponentScan.class.name, Configuration.class.name)
.doesNotHaveImports(SpringBootApplication.class.name) .doesNotHaveImports(SpringBootApplication.class.name)
.contains('@EnableAutoConfiguration', '@Configuration', '@ComponentScan') .contains('@EnableAutoConfiguration', '@Configuration', '@ComponentScan')
@ -231,7 +231,7 @@ class ProjectGeneratorTests {
request.bootVersion = '1.2.0.RC1' request.bootVersion = '1.2.0.RC1'
request.name = 'MyDemo' request.name = 'MyDemo'
request.packageName = 'foo' request.packageName = 'foo'
generateProject(request).sourceCodeAssert('src/main/groovy/foo/MyDemoApplication.groovy') generateProject(request).sourceCodeAssert('src/main/java/foo/MyDemoApplication.groovy')
.hasImports(SpringBootApplication.class.name) .hasImports(SpringBootApplication.class.name)
.doesNotHaveImports(EnableAutoConfiguration.class.name, ComponentScan.class.name, Configuration.class.name) .doesNotHaveImports(EnableAutoConfiguration.class.name, ComponentScan.class.name, Configuration.class.name)
.contains('@SpringBootApplication') .contains('@SpringBootApplication')
@ -257,7 +257,7 @@ class ProjectGeneratorTests {
} }
@Test @Test
void groovyWithMavenUsesGroovyDir() { void groovyWithMavenUsesJavaDir() {
def request = createProjectRequest('web') def request = createProjectRequest('web')
request.type = 'maven-project' request.type = 'maven-project'
request.language = 'groovy' request.language = 'groovy'

View File

@ -109,9 +109,10 @@ class ProjectAssert {
} }
ProjectAssert isGroovyProject(String expectedPackageName, String expectedApplicationName) { ProjectAssert isGroovyProject(String expectedPackageName, String expectedApplicationName) {
String codeLocation = (mavenProject ? 'java' : 'groovy')
String packageName = expectedPackageName.replace('.', '/') String packageName = expectedPackageName.replace('.', '/')
hasFile("src/main/groovy/$packageName/${expectedApplicationName}.groovy", hasFile("src/main/$codeLocation/$packageName/${expectedApplicationName}.groovy",
"src/test/groovy/$packageName/${expectedApplicationName}Tests.groovy", "src/test/$codeLocation/$packageName/${expectedApplicationName}Tests.groovy",
'src/main/resources/application.properties') 'src/main/resources/application.properties')
} }