link → links
Links seems to be the correct key name according to the code and
semantically for a list, so all instances of `link:` have been replaced
by `links:`. Additionally, the Actuator reference link was pointing to
the wrong section in the documentation and has been fixed.
ref → rel
The application failed on startup due to `rel` being required.
Closes gh-360
This commit makes sure that each dependency link is HAL compliant (like
the project types in the metadata). Links are grouped by relation with
well known relations to be defined (i.e. 'how-to', 'reference', 'home'
and so forth).
Each link can be "templated" (in the HAL sense) and only `{bootVersion}`
is supported at the moment. This is useful if a precise documentation
section should reference to the actual Stpring Boot version chosen by the
user.
Closes gh-279
This commit adds an `order` attribute on `BillOfMaterials` that allows to
order BOMs in the generated project. Lowest value have higher priority.
When the project is generatede with a custom parent, the Spring Boot
dependencies BOM itself has an order of a 100. Any BOM that is added with
an order lower than 100 has higher priority, i.e. could potentially
override dependencies provided by the Spring Boot dependency mechanism.
This mechanism does not work reliably when using the
`spring-boot-starter-parent` so it should be used with care. However, it
can be useful when overriding dependencies that Spring Boot does not
manage itself.
Closes gh-343
The additional bom fixes the version of spring cloud task
(which is different than the one in the main cloud BOM).
Fixes gh-342 some more.
Closes gh-344
This commit improves the version format so that the minor and patch
elements can hold a special 'x' character besides the version, i.e.
`1.x.x.RELEASE` or `2.4.x.BUILD-SNAPSHOT`. A `VersionParser` now takes
care to resolve those against a list of known Spring Boot versions.
This is particularly useful in version ranges that have to change when
the latest Spring Boot versions change. Spring Initializr already auto-
udpates itself based on the sagan metadata. When a range is using this
feature, it is also automatically updated.
It might be hard to track the actual range values on a given instance so
an `InfoContributor` is now automatically exposed to list them.
Closes gh-328