Commit Graph

274 Commits

Author SHA1 Message Date
Stephane Nicoll
bda0135857 Fix lombok support
Remove the cloud dependency until Spring Boot itself provides a
dependency management for it. Also fix the scope so that lombok does
not leak in other projects.

Closes gh-154
2015-12-09 15:34:25 +01:00
Stephane Nicoll
77ba0e4641 Add missing starter attribute 2015-12-09 15:18:58 +01:00
Stephane Nicoll
65916948dd Add support for spring-retry
Closes gh-149
2015-12-09 15:10:15 +01:00
Stephane Nicoll
fa7d9790a1 Upgrade to Spring Boot 1.3.0
Closes gh-123
2015-11-30 16:00:42 +01:00
Dave Syer
8733100aab Update Cloud to Brixton.M3 2015-11-18 15:21:27 +00:00
Stephane Nicoll
17447a3a67 Upgrade to Spring REST Docs 1.0.0.RELEASE 2015-11-18 11:50:01 +00:00
Dave Syer
6aea29f356 Remove spring-cloud-starter-bus-rabbit (non-existent starter) 2015-11-16 17:13:45 +00:00
Stephane Nicoll
f5e2de8f61 Allow to define "non starter" dependency
Previously, all dependencies were considered equal and enough to compile
and start the simple auto-generated boot application. There are some
corner cases such as the JDBC drivers and the new Ratpack integration.

This commit adds an extra flag on a dependency that determines if it is
a starter or not (the default is true). When no starter dependency has
been selected for the project, the root starter (`spring-boot-starter`)
is automatically added.

Closes gh-159
2015-11-16 10:44:45 +01:00
Dave Syer
736ef6d2fe Add Ratpack dependency 2015-11-13 15:18:06 +00:00
Dave Syer
e00bd10e52 Confusing name: OAuth2 -> Cloud OAuth2 2015-11-13 15:08:26 +00:00
Stephane Nicoll
b3738d5aba Add Activiti starter
Closes gh-155
2015-11-12 12:24:20 +01:00
Dave Syer
5c80422ae0 Tweak version ranges for Cloud BOM 2015-11-07 17:20:41 +00:00
Dave Syer
f5c7f604c3 Update Spring Cloud to Brixton.M2 2015-11-04 15:43:18 +01:00
Stephane Nicoll
ee0d2a0f4e Add missing Spring Boot 1.3 starters
Closes gh-156
2015-11-02 16:58:53 +01:00
Dave Syer
42f2c2f6b7 Restructure cloud artifacts by feature set
Also add stream options for bus and turbine and some additional weights.

Closes gh-132
2015-10-06 09:54:24 +02:00
Stephane Nicoll
5b062dd9c0 Additional dependency meta-data
This commit add two additional attributes to a dependency: weight
and keywords.

Weight is a numeric value (default to 0) that allows to order
dependencies search result in a sensible manner. This is a UI feature
only and is not exposed in the meta-data.

Keywords provides a list of words that are added to the source of terms
that the UI use to discover dependencies. It's not exposed either.

Both are exposed by the UI specific controller (`/ui/dependencies`).

See gh-145
2015-10-06 09:54:14 +02:00
Brian Clozel
80eb14cb59 Improve new design proposal
* update keyboard shortcuts
* update dependencies descriptions
* add a second button down the page, after the dependencies
* when autocompleting a dependency that's already selected, unselect it
* synchronize packageName with groupId
* synchronize artifact name with artifactId
* fix tabindex order for form fields

See gh-145
2015-10-06 09:54:14 +02:00
Dave Syer
b29417193f Add more descriptions to Cloud bits 2015-10-01 11:09:15 +01:00
Stephane Nicoll
e0a74a649c Polish configuration
Re-order configuration items so that the default value comes first.
2015-09-30 10:39:46 +02:00
Stephane Nicoll
3a3336dea7 Upgrade to Vaadin Spring Boot Starter 1.0.0 2015-09-16 17:28:06 -04:00
Dave Syer
8386df4a7a Fix Brixton version 2015-09-14 05:48:39 -04:00
Dave Syer
0ae2799495 Change to Brixton.M1 2015-09-13 18:53:57 -04:00
Andy Wilkinson
f935ef592a Upgrade to Spring REST Docs 1.0.0.RC1 2015-09-08 17:09:08 +01:00
Dave Syer
cb49a6763d Add lombok and restdocs 2015-09-04 09:08:02 +01:00
Dave Syer
5949f91a87 Fix zipkin dependency co-ordinate 2015-09-04 08:46:59 +01:00
Dave Syer
fc9959ed26 Add actuator docs and hal browser 2015-09-03 17:46:25 +01:00
Dave Syer
c054761748 Remove cloud stream 'local' starter 2015-09-03 15:01:10 +01:00
Dave Syer
bce77235c4 Add spring-cloud-cluster-* 2015-09-03 12:41:26 +01:00
Dave Syer
c17589d654 Add new cloud projects 2015-09-03 09:50:07 +01:00
Stephane Nicoll
a3514a490d Upgrade to Spring Boot 1.2.5.RELEASE 2015-07-17 16:03:08 +02:00
Stephane Nicoll
c435ec6cec Fix spring-cloud-config identifiers
Closes gh-127
2015-07-17 09:37:07 +02:00
Stephane Nicoll
4bf3be90db Restore Spring Cloud support in 1.3.x
Based on the work in gh-121 (6df0fd3), Spring Cloud can now be used again
with Spring Boot 1.3.
2015-07-10 11:23:54 +02:00
Dave Syer
b529f559e3 Update Cloud BOM version to Angel.SR3
Closes gh-124
2015-06-26 17:29:38 +02:00
Stephane Nicoll
e6a1a17e51 Hide Spring Cloud with Spring Boot 1.3+
There are various reports that things are broken with the first Spring
Boot 1.3 milestone and the currently released Spring Cloud version.

We're now hiding it until the underlying issue is fixed.
2015-06-17 18:06:15 +02:00
Stephane Nicoll
605b551a9d Update version range for new starters 2015-06-12 09:13:50 +02:00
Stephane Nicoll
c116ab0fe5 Add DevTools dependency 2015-06-10 18:37:15 +02:00
Mark McDonald
6c7d9dd592 Default java version to 8
Closes gh-118
2015-06-09 11:44:41 +02:00
Dave Syer
1e85f535f2 Sanitize VCAP_SERVICES 2015-06-07 11:56:40 +01:00
Dave Syer
e577059c49 Update for Spring Cloud 1.0.2 2015-06-05 15:16:20 +01:00
Stephane Nicoll
58a651dc02 Add cache starter 2015-06-04 15:14:49 +02:00
Stephane Nicoll
bde1d8ff14 Fix metrics export switch key 2015-06-04 15:11:45 +02:00
Stephane Nicoll
8fa2e15981 Fix manifest 2015-06-04 14:58:08 +02:00
Stephane Nicoll
f1f8786631 Polish
Polish metrics export feature added in 6f4d3f4

Closes gh-96
2015-06-04 14:19:17 +02:00
Dave Syer
6f4d3f4e03 Add metrics exporter for initializr service
If a RedisConnectionFactory is detected the system will now export
metrics to redis every 5s (initializr.metrics.rateMillis). Metric
names are prefixed with <id>.<hex>. where <id> defaults to the
application name (initializr.metrics.id) and <hex> is unique. An
aggregator app can then pick up the values and (for instance)
continue counters across restarts.

The code is meant to be easier to upgrade Spring Boot 1.3

There are 2 beans that we can simply remove when we upgrade to 1.3.
Meanwhile, the app will run with 1.3 (or 1.2) for testing if you
uncomment the @ExportMetricWriter.
2015-06-04 13:32:44 +02:00
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