Commit Graph

180 Commits

Author SHA1 Message Date
Stephane Nicoll
a600120a81 Upgrade to Spring Boot 1.2.4 2015-06-04 11:34:38 +02:00
Stephane Nicoll
1dfade6890 Upgrade to Vaadin 7.4.5 2015-05-07 11:07:57 +09:00
Stephane Nicoll
8f1ef94a90 Upgrade to Spring Cloud 1.0.1 2015-05-07 11:07:33 +09:00
Stephane Nicoll
003938f4b7 Add Spring cloud related starters
Merge start-cloud.start.spring.io with the "standard" instance.

Closes gh-93
2015-04-30 09:22:47 +02:00
Stephane Nicoll
76ac171ada Upgrade to Vaadin Spring Boot 1.0.0.beta3 2015-04-28 17:59:01 +02:00
Stephane Nicoll
6555c34643 Upgrade to Spring Boot 1.2.3.RELEASE 2015-04-20 15:18:27 +02:00
Stephane Nicoll
b699a97ded Add Vaadin support
Closes gh-102
2015-04-01 19:05:10 +02:00
Stephane Nicoll
977765d188 Add postgreSQL option
Fixes gh-95 - See gh-85,gh-86
2015-03-24 16:29:40 +01:00
Stephane Nicoll
6212d1c766 Upgrade to Spring Boot 1.2.2.RELEASE 2015-03-10 15:29:18 +01:00
Stephane Nicoll
dd51568b79 Add database group
Add an extra group with the databases that Boot supports out-of-the-box.

This is a first step of a better user experience when someone selects
the `data-jpa` or `jdbc` starter as it requires a Database to operate and
none is provided by default.

Closes gh-84
2015-02-25 11:10:46 +01:00
Stephane Nicoll
02d4cbf2eb Fix gradl project description 2015-02-19 22:22:11 +01:00
Stephane Nicoll
da2ced86f3 Add version range support for dependencies
Previously, it was not possible to define the Spring Boot version that
a dependency requires. As a result, many new starters implemented as part
of Spring Boot 1.2 are not available.

Each dependency can now define a `versionRange` attribute that defines
the Spring Boot version range that it supports. The range is defined
either as a single version, in which case it defines that version and
any later versions or using brackets. A square bracket (`[` or `]`)
denotes an inclusive range while a round bracket (`(` or `)`) denotes an
exclusive range.

Bumped the current-metadata format to 2.1 to include this additional
`versionRange` attribute, that is

application/vnd.initializr.v2.1+json

Existing clients requesting v2 will not get any dependency that defines
a `versionRange` attribute.

Closes gh-62
2015-02-17 15:05:28 +01:00
Stephane Nicoll
272db6ef7a Explicit support for curl
Add an explicit support for curl by returning a text description of the
service instead of the raw meta-data. curl users can still discover the
json metadata by setting the appropriate Accept header.

Also support for explicit "text/plain" if the user requires it. In this
case a generic text description is returned.

Closes gh-67
2015-01-20 18:52:32 +01:00
Stephane Nicoll
6f4d940ff7 Uprade to Spring Boot 1.2.1 2015-01-08 16:26:00 +01:00
Stephane Nicoll
64b62875c4 Upgrade to Spring Boot 1.2.0 2014-12-13 11:13:39 +01:00
Stephane Nicoll
0b88ebc3a4 Update to Spring Boot 1.1.9 2014-11-19 15:43:17 +01:00
Stephane Nicoll
d1a51c431b More metadata for types
This commit adds a 'tags' attribute to each type. Two tags are currently
available:

1. build defines the build system that should be included in the project
(maven and gradle)
2. format defines the format of the project (build for the build file and
project for a project archive)

When a type id is specified, the build tag is used to figure out which
build system should be used. If no type is specified we fallback to Maven
as we were already doing.

Fixes gh-43
2014-10-30 11:15:47 +01:00
Stephane Nicoll
1136d76b1b Fix type id
This commit improves the structure of the type id as it may be used by
third party clients. The id now defines the build system and the nature
of the project.

Because STS hardcodes those IDs, a new (deprecated) property on type
has been introduced to keep track of them. When serving the legacy HTML
page that STS parses, those ids are used instead.

Fixes gh-39
2014-10-30 09:31:03 +01:00
Stephane Nicoll
4ebc50dda3 Revert "Fix type id"
This reverts commit 8f1ce31035.
2014-10-27 21:28:39 +01:00
Stephane Nicoll
109f93424b Support for dependency description
This commit updates the configuration format and JSON metadata output
to support an additional description attribute.

The description attribute is meant to further describe the purpose of the
dependency. This is a minor update to the JSON format that is fully
backward compatible.

Fixes gh-40
2014-10-24 14:06:45 +02:00
Stephane Nicoll
8f1ce31035 Fix type id
This commit improves the structure of the type id as it may be used by
third party clients. The id now defines the build system and the nature
of the project.

Fixes gh-39
2014-10-24 11:31:34 +02:00
Stephane Nicoll
db9eaf4274 Update to latest boot release 2014-10-20 13:39:55 +02:00
Stephane Nicoll
8fd8099579 Disable security 2014-08-28 10:49:48 +02:00
Stephane Nicoll
b282f66aec Secure actuator endpoints 2014-08-27 14:09:01 +02:00
Stephane Nicoll
6e4718fb55 Restore previous HTML form in a different location
This commit restores the previous HTML page that is currently used by
the STS wizard at a different location. This allows a single instance
to serve both the new UI and the (now) STS-specific form.

The LegacyStsController can be used to serve that endpoint and is not
auto configured. app.groovy has been updated to explicitely import that
bean.

The tests infrastructure has been abstracted a bit so that both pages
are actually tested with a set of common tests.

Fixes gh-33
2014-08-26 13:41:00 +02:00
Stephane Nicoll
985016af9a Dependency update
This commit updates the spring boot version used by the install
script and adds 3 new starters: ws, hornetq and elasticsearch
2014-08-21 13:17:39 +02:00
Stephane Nicoll
ccbfde3b5e Add support for dependency facet
This commit allows any dependency to be tagged with a facet. A facet
is a simple name that can be used to further tune the project request
if necessary.

Prior to this commit, the list of dependencies that were related to the
web was hardcoded. This was used for special handling such as adding
a dependency automatically if necessary of creating additional
resources in the project.

This logic was moved to a standard 'web' facet that any dependency
can declare through configuration.

Fixes gh-30
2014-08-19 13:28:27 +02:00
Stephane Nicoll
b5845ab3c4 Add dependency alias support
This commit allows to specify an arbitrary number of aliases for a
dependency. A project can be generated using that dependency either
referring to its main id or any of its registered aliases.

Fixes gh-29
2014-08-19 11:56:36 +02:00
Stephane Nicoll
3849a7b5b9 Add support for custom dependency
Prior to this commit, only spring boot starters can be added as project
dependency using a simple String denoting the suffix of the artifactId.
The standard 'org.springframework.boot' and 'spring-boot-starter-'
artifactId prefix were assumed.

This commit allows to define arbitrary dependencies with arbitrary
identifiers; the groupId, artifactId and version of the dependency can
be specified. Internally, all dependencies are converted to that format
even the ones defined as standard spring boot starters.

To allow that, a ProjectRequest is now resolved against the initializr
metadata. If a request defines an unknown dependency, a simple String
will be still considered a spring-boot-starter but a more complex
unknown id will lead to an exception (e.g. 'org.foo:bar').

Fixes gh-17
2014-08-19 04:07:47 +02:00
Stephane Nicoll
1ea33488f6 Initializr library
This commit splits the single file script in a library that can be
released and published to the central repository.

This allows anyone to start its own initializr instance with a
proper configuration file and the following simple script:

package app

@Grab('io.spring.initalizr:initializr:1.0.0.BUILD-SNAPSHOT')
class InitializerService { }

The integration tests have been migrated so that they run as
part of the build. Additional tests have been added to extract
the content of the generated archive and assert the directory
structure as well as the content of key files.

Fixes gh-20
2014-08-18 17:50:21 +02:00