This commit provides a Gradle build system implementation with a writer
that can generate `build.gradle` and `settings.gradle` files based on a
configurable model.
See gh-814
This commit adds a build abstraction with a base model that concrete
build systems can reuse.
See gh-814
Co-authored-by: Stephane Nicoll <snicoll@pivotal.io>
This commit provides a Groovy language implementation with a writer that
can generate a `.groovy` source file based on a configurable model.
Closes gh-813
This commit provides a Java language implementation with a writer that
can generate a `.java` source file based on a configurable model.
See gh-813
Co-authored-by: Stephane Nicoll <snicoll@pivotal.io>
This commit adds a `Language` on the JVM abstraction with well known
concepts such as `Annotation`, `Parameter`, `CompilationUnit` and
`TypeDeclaration` that concrete language implementations can reuse.
See gh-813
Co-authored-by: Stephane Nicoll <snicoll@pivotal.io>
This commit adds an `IndentingWriter` with a factory that supports
different indenting option according to a content identifier (e.g. a
language).
Closes gh-812
Co-authored-by: Andy Wilkinson <awilkinson@pivotal.io>
This commit removes the former `ProjectGenerator` api based on mustache
template in favour of a new DSL infrastructure to be detailed in further
commits.
Event handling is now web-specific with a `ProjectRequest` and a
`WebProjectRequest` that gathers the base input from the request and
some additional web-specific metadata, respectively. As a consequence
the `initializr-actuator` module has now a dependency on the
`initializr-web` module.
See gh-340
Co-authored-by: Stephane Nicoll <snicoll@pivotal.io>
This commit simplifies project generation by only checking for supported
Spring Boot version (i.e. 1.5 and later) and therefore removing any
logic that is specified to a non supported version.
Concretely, initializr is no longer able to generate a project for a
Spring Boot version prior to 1.5
Closes gh-763
This commit extends the forceSsl support to redirect any HTML content
to https. Practically speaking, this allows to redirect all browsers to
https when they land on the main page using https. Serving traffic via
http is still allowed as preventing this would break a lot of
existing clients.
To allow to easily run the app locally, forceSsl is false and must be
enabled for any production environment.
Closes gh-473