Commit Graph

56 Commits

Author SHA1 Message Date
Phillip Webb
593759f321 Fix IDE warnings
Fix warnings shown in Eclipse
2018-04-13 12:36:06 -07: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
155c929316 Make sure the browser's window has the focus 2018-03-01 15:30:38 +01: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
1d9a68d6fc Upgrade to Kotlin 1.2.20
This commits upgrade to Kotlin 1.2.20 and uses the new stdlib artifact
names. As a result, 2.0  milestones prior to Spring Boot 2.0.0.RC1 are
no longer supported.

Closes gh-576
2018-02-01 11:34:56 +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
faa7de99c2 Add version range support for Kotlin version
Closes gh-556
2017-12-11 16:18:43 +01:00
Brian Clozel
56712c629c Fix Tracking code test for the homepage 2017-10-20 16:01:24 +02:00
Stephane Nicoll
8efe5f34be Ensure configuration can be serialized
Closes gh-506
2017-09-18 15:02:01 +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
fefde60a2e Use default methods for ProjectRequestPostProcessor 2017-07-03 08:14:38 +02:00
Stephane Nicoll
feb145bf3b Polish "Promote language choice to page heading"
Closes gh-432
2017-05-23 14:56:25 +02:00
Stephane Nicoll
767203b7d5 Polish "Derive package name from groupId and artifactId"
Closes gh-423
2017-05-11 16:29:16 +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
3c59c29855 Polish contribution
Closes gh-388
2017-03-15 16:49:46 +01:00
Stephane Nicoll
c9ca61015a Polish 2017-02-28 10:07:05 +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
fffcd8a774 Move generator templates to Mustache 2017-02-25 09:31:03 +01:00
Dave Syer
ac20d04985 Migrate initializr-generator to Java 2017-02-25 09:31:03 +01:00
Stephane Nicoll
2c0269c96b Fix initial Java migration
This commit fixes several issues with the initial java migration.

On MacOS, the name of the temp directory can be `T` and the new tgz API
requires a parent folder whose name has at least 3 characters.

The Selenium tests require a more precise element to show the advanced
section.

The integration tests were generation the docs snippet on the wrong
accept header.
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
Stephane Nicoll
b356e233a2 Polish reference guide
See gh-295
2017-02-02 14:55:59 +01:00
Dave Syer
6242df5b6e Fix bug with stale state in http request factory
If we don't re-use an existing factory, the label doesn't change and
all the snippets get generated with the same identifier.

Remove explicit version from wiremock test

Add snippets attribute to build config

See gh-295
2017-02-02 10:21:38 +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
Stephane Nicoll
ba3c82b064 Fix integration tests 2017-01-31 14:42:35 +01:00
Stephane Nicoll
981b726a12 Polish contribution
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
2017-01-30 17:26:25 +01:00
Stephane Nicoll
bda1376c23 Polish 2017-01-27 18:04:10 +01:00
Stephane Nicoll
3d0a3a7e14 Polish config metadata output 2017-01-27 10:22:15 +01:00
Stephane Nicoll
1aa10d39b0 Remove use of @since 2017-01-27 10:11:33 +01:00
Stephane Nicoll
330cb13c64 Add support for BOM ordering
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
2017-01-17 19:18:52 +01:00
Stephane Nicoll
90d3704faa Fix formatting 2016-09-27 09:22:47 +02:00
Dave Syer
712003b436 Switch off smoke tests by default in IDE
The Maven build now sets a System property smoke.test=true. The tests
are skipped if this is not set, so by default the IDE will not run them.
2016-09-26 16:54:30 +01:00
Dave Syer
c702be0260 Remove wildcard imports 2016-09-26 16:33:52 +01:00
Dave Syer
13e6ec4431 Add MockRestServiceServer for spring.io boot version metadata test 2016-09-26 16:16:27 +01:00
Stephane Nicoll
d61bf18fa2 Generate .gitignore
This commit improves the generator so that a `.gitignore` is added to
every project. The basic content of that file is determined by the build
system. If an agent is recognized, specific build tool settings are
added as well. This commit adds support for STS, IntelliJ IDEA and
NetBeans.

Closes gh-131
2016-09-20 18:12:17 +02:00
Stephane Nicoll
2b505dd899 Polish contribution
Closes gh-289
2016-09-16 17:23:07 +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
d018782726 Always set a default boot version
Previously, if the sagan meta-data did not provide a default, the live
instance wouldn't have one either. This means that all requests that
do not provide an explicit boot version will fail as well.

This commit sets the first version as the default if no default exists.

Closes gh-267
2016-07-29 12:30:50 +02:00
Stephane Nicoll
56210d9bf2 Add project request post processing
This commit introduces `ProjectRequestPostProcessor` as a mean to modify
an incoming `ProjectRequest` before and after its resolution against the
meta-data.

By default, all beans of that type are invoked automatically and they
are ordered against their `@Order` or `Ordered` settings.

Closes gh-260
2016-07-20 15:09:35 +02:00
Stephane Nicoll
6089f49c1a Add build-specific tests 2016-07-12 14:42:41 +02:00
Stephane Nicoll
f45228376f Polish contribution
Closes gh-223
2016-07-08 17:09:21 +02:00