Commit Graph

57 Commits

Author SHA1 Message Date
Stephane Nicoll
b3c0f16422 Remove JUnit 4 support
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
2021-04-13 17:45:59 +02:00
Stephane Nicoll
e77aca2211 Allow to map a Dependency BOM
This commit allows a BOM to be overridden using a dependency mapping.

Closes gh-1155
2020-11-30 09:30:50 +01:00
Stephane Nicoll
58220dcb1c Remove entity type as it is no longer supported by Elasticsearch
Closes gh-1154
2020-11-30 08:16:35 +01:00
Stephane Nicoll
54d104e2e2 Upgrade test infrastructure to more recent Spring Boot versions 2020-11-27 17:54:30 +01:00
Stephane Nicoll
a8926c2da7 Add support for repository mapping
This commit adds a way to map the repository of a dependency based on
a compatibility range.

Closes gh-1085
2020-05-15 17:58:49 +02:00
Stephane Nicoll
d70d832e70 Polish 2019-09-17 13:29:37 +02:00
Stephane Nicoll
1082ac7bf7 Extract project generation test utility to dedicated module
This commit extracts various test utilities to a dedicated
initializr-generator-test module for easier consumption. The previous
test-jar are no longer published and a dependency to this new module
should be equivalent.

This commit also cleans various resources that were located in the wrong
place. In particular initializr-generator does not know anything about
metadata anymore.

Closes gh-988
2019-08-21 16:10:06 +02:00
Stephane Nicoll
976f290144 Harmonize logging test configuration 2019-08-18 14:35:51 +02:00
Stephane Nicoll
dee5467bd1 http -> https 2019-08-18 14:07:02 +02:00
HaiTao Zhang
71364408fa Rename versionRange attribute to compatibilityRange
See gh-968
2019-08-09 11:20:02 +02:00
Andy Wilkinson
7cb3462d1b Add support for mapping a dependency's starter setting
Closes gh-955
2019-07-14 08:45:10 +01:00
Madhura Bhave
dd43fb5fae Update ProjectGenerationStatPublisherTests to use actual timestamp
Instead of checking that the timestamp was between 2 seconds ago and now,
we can get the actual timestamp from the event and assert on that.

Closes gh-954
2019-07-12 11:58:09 -07:00
Stephane Nicoll
449b22403a Upgrade to spring-javaformat 0.0.15
Closes gh-949
2019-07-10 14:57:35 +02:00
Andy Wilkinson
deed4863fb Adopt Spring Java Format's JUnit 5 check
Closes gh-941
2019-07-04 09:57:35 +01:00
Stephane Nicoll
2f50cf1c8f Format source code
Closes gh-923
2019-06-12 14:46:53 +02:00
Stephane Nicoll
910fddaaa7 Upgrade to spring-javaformat 0.0.9
Closes gh-882
2019-04-03 12:26:24 +02:00
Stephane Nicoll
357313c7bf Upgrade to spring-javaformat 0.0.7
This commit upgrades to spring-javaformat 0.0.7 and checkstyle 8.18.
2019-03-20 17:34:50 +01:00
Stephane Nicoll
5e04746746 Add Spring-based project contributors
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>
2019-02-08 09:50:35 +01:00
Madhura Bhave
e281480426 Switch project structure to use the new generator
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>
2019-02-08 09:50:26 +01:00
Madhura Bhave
1bd84fe0ce Use metadata used for project generation for stats
Closes gh-810
2019-02-06 11:39:05 -08:00
Madhura Bhave
857923b549 Remove ProjectGenerationMetricsListener
Fixes gh-809
2019-02-05 13:17:22 -08:00
Stephane Nicoll
6650dbad11 Improve stat document structure
Closers gh-787
2019-01-29 16:22:49 +01:00
Stephane Nicoll
2b6ab498cf Polish migration to JUnit5
See gh-802
2019-01-28 14:38:54 +01:00
Madhura Bhave
8ec763e0ba Polish 2019-01-24 10:08:30 -08:00
Madhura Bhave
ae937ca4bc Migrate tests to JUnit5
See gh-802
2019-01-24 10:04:00 -08:00
Stephane Nicoll
b9000f322d Allow to configure elasticsearch service with only a URI
Closes gh-789
2019-01-03 13:56:14 +01:00
Stephane Nicoll
dbd865a526 Adapt test suite to more recent Spring Boot versions
See gh-763
2018-11-29 10:16:50 +01:00
Stephane Nicoll
da1655d183 Adapt test suite to more recent Spring Boot versions
See gh-763
2018-11-29 10:16:40 +01:00
Madhura Bhave
7e409bec12 Improve auto-configuration tests
Closes gh-484
2018-07-10 09:22:03 -07: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
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
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
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
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
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
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