This commit removes the reactor extension as it is no longer necessary
given all the customizations have been added in Spring Boot now.
Instead, Java8 is now forced for any use of Spring Boot 2.0 and later.
Arguably, this should have been the case since the beginning.
start.spring.io exposes an annotation processor (Lombok) that's quite
popular but is exposed as a compile/transitive dependency. This commit
introduces a `compileOnly` scope that maps to Gradle's `compileOnly`
scope and Maven's `optional` flag.
There is a case to support optional dependencies in general but
unfortunately, Gradle doesn't have support for such feature.
Closes gh-128
This commit improves the generator so that a `.gitignore` is added to
every project. The basic content of that file is determined by the build
system. If an agent is recognized, specific build tool settings are
added as well. This commit adds support for STS, IntelliJ IDEA and
NetBeans.
Closes gh-131
This commit removes the dependency tag from the list of all dependencies
not supported by the selected Boot version. Previously, the dependency
input checkbox was unchecked, but the green tag was still present.
Instead of hiding incompatible dependencies in the full list, the
choices are now marked as "disabled"; it is impossible to select those
checkboxes and the cursor displays a "not-allowed" icon when hovering
the dependency.
Closes gh-109
Closes gh-286
This commit improves massively class loading performance by caching all
templates used by the generator. GroovyTemplate is now a bean rather than
a private utility.
Templates are cached by default and the cache is disabled automatically
if Devtools is in use (via a check of spring.groovy.template.cache).
Closes gh-288