Commit Graph
44 Commits
Author SHA1 Message Date
Madhura Bhave 7e409bec12 Improve auto-configuration tests
Closes gh-484
2018-07-10 09:22:03 -07:00
Spring Buildmaster 34b518d49f Next Development Version 2018-07-10 12:29:54 +00:00
Phillip Webb 3f23096f27 Fix copyright header for files changed this year 2018-05-31 16:17:45 -07:00
Stephane Nicoll 432be66c5a Polish contribution
Closes gh-655
2018-04-16 16:21:30 +02:00
Phillip Webb 923fb58ffc Fix checkstyle violations
Fix checkstyle violations using a pre-release version of the
spring-javaformat rules.
2018-04-13 12:36:06 -07:00
Phillip Webb eb5211960c Migrate tests to AssertJ
Refactor all existing tests to use AssertJ assertions.
2018-04-13 12:36:06 -07:00
Phillip Webb 6493eae015 Apply automatic cleanup rules
Apply code cleanup rules from Eclipse for better consistency.
2018-04-13 12:36:06 -07:00
Phillip Webb 3d4efbf525 Reformat code
Format code using a pre-release version of the spring-javaformat plugin.
2018-04-13 12:36:06 -07:00
Phillip Webb 0c0556c585 Add Eclipse IDE support files
Add additional files to make development with Eclipse easier.
2018-04-13 12:31:11 -07:00
Phillip Webb 6309b33ee5 Format POM.xml files
Reformat POM.xml files for consistency.
2018-04-13 12:30:14 -07:00
Stephane Nicoll fe7650f2c8 Upgrade to Spring Boot 2.0.0
This commit upgrades to Spring Boot 2.0.0.

Please note that this commit does not change metrics names to use new
features of Micrometer yet (see gh-526)

Closes gh-611
2018-03-01 08:00:49 +01:00
Spring Buildmaster 0f67d2e583 Next Development Version 2018-02-27 15:17:36 +00:00
Stephane Nicoll d4d06ec22b Upgrade to Spring Boot 1.5.9.RELEASE
Closes gh-503
2017-12-29 15:30:44 +01:00
Stephane Nicoll 63becddb94 Remove use of org.json
This commit removes all use of org.json in production code and moves
the json api to a test only dependency.

Closes gh-507
2017-12-29 15:30:44 +01:00
Stephane Nicoll 8e5b910af6 Polish 2017-12-29 15:30:44 +01:00
Spring Buildmaster 7f4db38cee Next Development Version 2017-09-18 16:00:41 +00:00
Stephane Nicoll 514399edbb Make sure the stats are published
This commit temporarily removes the `@ConditionalOnBean` condition that
was added in 1bf0d0f as it breaks stats support. As auto-configurations
are not properly ordered, the `@Bean` configuration was backing off even
if a `InitializrMetadataProvider` bean was eventually present.
2017-08-14 12:12:30 +02:00
Stephane Nicoll 1bf0d0fcde Allow for RestTemplate customization
This commit reuses the `RestTemplateBuilder` infrastructure wherever
a `RestTemplate` is required. This allows to customize the rest template
if necessary.

Closes gh-481
2017-08-14 11:26:34 +02:00
Stephane Nicoll 8832201c43 Add dependency range info
This commit improves the `info` endpoint to contain a
`dependency-ranges` entry that is similar than the `bom-ranges` entry
for BOMs.

Each dependency that has a version mapping is listed with the range and
the related version. Some dependencies weren't managed and are now. For
those a `managed` version is used to indicate which Spring Boot versions
do not require to specify a version for the dependency.

Closes gh-453
2017-06-25 10:34:23 +02:00
Brian Clozel bb578d6fdf Derive package name from groupId and artifactId
This commit derives the package name of the application from the
artifact's `groupId` and `artifactId`. Previously sources were put in a
package that mirrors the groupId value.

This goes against the "unique package per application" policy that we
try to enforce. Even if the package name value can be customized
manually, deriving it automatically from the values provided in those
fields will help structure codebases.

With this change, the package name is derived like this:
* groupId `com.example`, artifactId `bookmarks` -> package
`com.example.bookmarks`
* groupId `com.example`, artifactId `user-management` -> package
`com.example.usermanagement`

This commit fixes the package name generation on the server, but also
in the web interfaces when the user updates the form fields.

Fixes gh-421
2017-05-11 14:36:47 +02:00
Stephane Nicoll 363eb25138 Polish 2017-04-30 19:21:01 +02:00
Stephane Nicoll 13766008b4 Remove metric export auto-configuration
This commit removes the auto-configuration that export metrics
automatically to Redis. This feature has been superseded by the stats
feature and can be restored at any time in a custom service.

Closes gh-373
2017-02-25 09:46:44 +01:00
Dave Syer 06f314dc8c Switch to Ant lib for tar/zip tasks
The commons wrapper we were using didn't support executable files
so Ant seems like the best choice ultimately, even if it has a
lot of features we don't use or need.
2017-02-25 09:31:04 +01:00
Stephane Nicoll 09fc98ef96 Polish contribution
Closes gh-349
2017-02-25 09:31:04 +01:00
Stephane Nicoll 5296d6a05f Code formatting 2017-02-25 09:31:03 +01:00
Dave Syer ec5a7da507 Migrate initializr-web to Java 2017-02-25 09:31:03 +01:00
Dave Syer 1385e82eb5 Additional visibility changes needed in new Java code 2017-02-25 09:31:03 +01:00
Dave Syer ad6430b92a Migrate initializr-actuator to Java 2017-02-25 09:31:03 +01:00
Spring Buildmaster e8bf50e662 Next development version 2017-02-03 13:55:17 +00:00
Stephane Nicoll e8dd74b8ed Polish contribution
Closes gh-295
2017-02-02 15:03:00 +01:00
Dave Syer b7d8d5c813 Initiate initializr documentation
This commit commit adds restdocs and stub generators and initiate
a reference guide for Initializr.

Most of the controller tests now use MockMvc via a custom version
of the MockMvcClientHttpRequestFactory (from spring-test). The
snippet names are auto-generated in the form

<HttpMethod>/<path>[/queries(/<name-value)*][/headers](/name-value)*]

when there is a comma-separated value in a header it is
abbreviated as <first-value>.MORE.

Wiremock stubs are generated in the same form under
snippets/stubs (with ".json" as the
file extension).

The controller tests that stayed as full stack use a different
base class AbstractFullStackInitializrIntegrationTests.

A long JSON body can be broken out into separate snippets
for each field (or rather a list of fields supplied by the
user). This feature was already used with hard-coded snippets
in the wiki.

See gh-295
2017-02-02 10:21:38 +01:00
Spring Buildmaster dd02650e22 Next Development Version 2017-01-27 12:52:11 +00:00
Stephane Nicoll b58c7a046b Switch version to 0.2.0.BUILD-SNAPSHOT
Closes gh-352
2017-01-27 13:40:45 +01:00
Stephane Nicoll 1aa10d39b0 Remove use of @since 2017-01-27 10:11:33 +01:00
Stephane Nicoll 5efc6dc947 Prepare for Spring Boot 1.5 compatibility 2017-01-06 13:06:31 +01:00
Stephane Nicoll 827b9d6e93 Auto-updatable version ranges
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
2017-01-03 14:02:33 +01:00
Stephane Nicoll 12cca3d4c4 Polish contribution
Closes gh-312
2016-11-13 12:54:36 +01:00
Tommy Ludwig 51443f7fe5 Add configuration metadata for MetricsProperties
The configuration processor does not work on Groovy classes, so the
metadata for `MetricsProperties` was missing, which causes there to be no
auto-completion in the IDE when using these properties from the
initializr-actuator module. This commit adds the corresponding metadata
for `MetricsProperties`.

See gh-312
2016-11-13 12:48:58 +01:00
Stephane Nicoll 562ba8a5c0 Polish 2016-10-07 14:34:59 +02:00
Stephane Nicoll 4b25518554 Fix formatting 2016-10-07 14:34:35 +02:00
Dave Syer 1f9322d4e5 Migrate test to Spring Boot 1.4 2016-10-05 09:23:51 +02:00
Stephane Nicoll af2ae44b8d Upgrade to Spring Boot 1.4.0.RELEASE
This commit upgrades to Spring Boot 1.4.0.RELEASE and bumps to Java8. It
also migrate the cache library from Guava to Caffeeine.

The git and build information are now exposed via the `info` endpoint.

Closes gh-251
2016-07-29 12:52:53 +02:00
Stephane Nicoll abf16f8b1a Fix typo 2016-04-14 16:09:18 +02:00
Stephane Nicoll 542ee7d91b Modularize project structure
This commit splits the feature of Spring Initializr in several modules:

* `initializr-generator` is a standalone library that is responsible for
generating projects based on a `File` directory. It has a minimal set of
dependencies and is not web-related
* `initializr-web` provides the web integration (project generation,
meta-data, etc)
* `initializr-actuator` is an optional module that can be added to
support project-generation-specific statistics

Closes gh-214
2016-04-08 12:01:38 +02:00