This commit improves the handling of repositories with Maven.
Previously, the writer wrongly assumed that the default for releases
and snapshots are true and false respectively. However, both defaults
are true which means that snapshots repository are considered for
releases, and releases repositories are considered for snapshots.
MavenRepository has now separate flags for those and the writer makes
sure to only update the `enabled` flag if the chosen value is not
true. This doesn't increase the content for repository definitions
while offering better performance for dependencies resolution.
Closes gh-1226
This commit also upgrades the test suite to use a more recent version as
removing support for JUnit4 effectively removes support for those as
well.
Closes gh-1219
This commit updates the JSR 107 cache auto-configuration to only create
a cache if it does not already exist. It also puts a specific order for
the auto-configured customizer so that another instance can run prior to
it reliably.
Closes gh-1157
This commit makes sure that Spring Boot versions are sorted from the
newest to the oldest, irrespective of the order of the metadata
elements in the json response.
Closes gh-1128
This commit improves the ProjectRequest converter to invoke a
ProjectRequestPlatformVersionTransformer. A default implementation does
the conversion based on configurable ranges for the V1 and V2 format
respectively.
This complement our backward compatible support with 2.1 metadata on an
instance using the new version format. All that is required is to
configure which versions are using which format.
See gh-1092
This commit makes sure the metadata format uses a backward compatible
version format even if the new format is used. It also introduces a
new metadata version (2.2) that can be used by clients that support the
new version format.
See gh-1092
This commit adds a new `platformCompatibilityRange` in the metadata that
can be used to restrict the valid platform versions. If a project is
requested or metadata needs to be resolved against a version that does
not match the range, an exception is thrown.
Closes gh-1048
This commit simplifies DefaultProjectRequestToDescriptionConverter to
converting the request to a description only. Applying default or
cleaning values are now part of a ProjectDescriptionCustomizer callback.
Closes gh-1045
This commit reduces the cache metadata lookup to 2h so that clients can
see new Spring Boot version faster. It also offers an option for
custom instance to override the cache strategy any way they like.
Closes gh-979
This commit improves the use case of configuring a custom ProjectRequest
by enforcing consistently a particular type using a generic.
As a result, `ProjectGenerationInvoker` is no longer exposed as a bean
as it is the responsibility of the custom `ProjectGenerationController`
to provide one that matches the requested `ProjectRequest` type.
See gh-990