This commit adds support for an `HelpDocument` that can be generated
alongside the project. Such document can hold an arbitrary number of
sections with pre-defined sections such as "Getting Started" and "Next
Steps".
A default contributor retrieves the links for requested dependencies
and add them to the document.
Closes gh-353
Co-authored-by: Madhura Bhave <mbhave@pivotal.io>
This commit checks if a request for any of the text capability is set
with only whitespaces and replaces it with the metadata default
counterpart.
Closes gh-769
This commit removes the magic string comparision to identify the build
system in use. Rather than just returning the `Path` to the project, a
`ProjectGenerationResult` is now returned that contains the description
of the generated project.
Closes gh-817
This commit adds a new InitializrMetadataUpdateStrategy callback
interface that can be used to customize what should happen when the
metadata has to be refreshed.
Closes gh-816
This commit adds an optional module that gathers the opinions that are
used to generate a Spring Boot project.
Closes gh-340
Co-authored-by: Madhura Bhave <mbhave@pivotal.io>
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 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
This commit moves the generation of bundles for snippet and stubs to the
`docs` profile. This allows to successfully build the project when tests
are skipped, as long as the `docs` profile is not active.
Closes gh-665