Commit Graph

315 Commits

Author SHA1 Message Date
Stephane Nicoll
bb7ecd0c50 Merge pull request #117 from dsyer/feature/cloud-upgrade
* feature/cloud-upgrade:
  Update for Spring Cloud 1.0.2
2015-06-05 16:54:49 +02: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
56c1b5acc0 Merge pull request #96 from dsyer/metrics
* metrics:
  Polish
  Add metrics exporter for initializr service
2015-06-04 14:20:10 +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
7fdde4b0e4 Update changelog 2015-06-04 11:36:50 +02:00
Stephane Nicoll
a600120a81 Upgrade to Spring Boot 1.2.4 2015-06-04 11:34:38 +02:00
Stephane Nicoll
2ef0745832 Rename /metadata/service to /metadata/config
Also exposing a link for the client metadata at /metadata/client

Fixes gh-115
2015-06-04 11:32:15 +02:00
Stephane Nicoll
526a2e7b59 Better describe service capability
Make sure that the title and description of each capability is
configurable and expose that information in the meta-data.

This typically allows to customize the header of each capability in the
UI and the description in help usage such as the optimized text output
for command line clients.

See gh-89
2015-06-04 11:09:45 +02:00
Stephane Nicoll
67c4ef26c9 Merge pull request #111 from wilkinsona/dependency-management-plugin
* dependency-management-plugin:
  Update Gradle builds to use dependency managagement plugin 0.5.1.RELEASE
2015-05-11 18:54:29 +02:00
Andy Wilkinson
9462315281 Update Gradle builds to use dependency managagement plugin 0.5.1.RELEASE 2015-05-11 16:49:03 +01: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
b6059a5dcb Merge pull request #108 from wilkinsona/gradle-plugin-id
* gradle-plugin-id:
  Update generated build.gradle for Boot 1.3 to use latest plugin id
2015-04-23 21:07:07 +02:00
Andy Wilkinson
3ad25078e6 Update generated build.gradle for Boot 1.3 to use latest plugin id
Spring Boot 1.3 snapshots had changed the id of the Gradle plugin from
spring-boot to org.springframework.boot.spring-boot. This change has
since been reverted.

This commit updates the Initializr to revert back to using the old id,
spring-boot. Some custom Spring Boot 1.3 logic remains: the dependency
management plugin is not applied to a Boot 1.3 project as Spring Boot
1.3 applies it automatically.
2015-04-23 17:38:04 +01:00
Stephane Nicoll
df8b2ce329 Merge pull request #106 from wilkinsona/dependency-management-plugin
* dependency-management-plugin:
  Update Gradle builds to use dependency managagement plugin 0.5.0
2015-04-21 10:19:00 +02:00
Andy Wilkinson
e6c207335c Update Gradle builds to use dependency managagement plugin 0.5.0 2015-04-21 08:58:21 +01:00
Stephane Nicoll
6555c34643 Upgrade to Spring Boot 1.2.3.RELEASE 2015-04-20 15:18:27 +02:00
Stephane Nicoll
5143bd3af1 Add default options for a group of dependencies
BOM id and version range can now be shared at the group level. If no
specific attribute is set, the defaults from the group are inherited.

Closes gh-105
2015-04-20 14:47:36 +02:00
Stephane Nicoll
b699a97ded Add Vaadin support
Closes gh-102
2015-04-01 19:05:10 +02:00
Stephane Nicoll
861d29641c Fix indent 2015-03-27 09:19:09 +01:00
Stephane Nicoll
011dd7d67a Update changelog 2015-03-27 09:15:42 +01:00
Stephane Nicoll
ddfc57443e Support for Bill of Materials
Add explicit support for Bill Of Materials. When a dependency defines a
bom ID, the related bom is added to the project. The metadata are
validated on startup to make sure a dependency does not refer to an
unknown bom entry.

Closes gh-99
2015-03-27 09:00:27 +01:00
Stephane Nicoll
adf5cf068e Support for dependency management plugin
Add support for the dependency management plugin for Gradle so that BOMs
can be added to the project if needed.

Also, the Gradle plugin as from Spring Boot 1.3 has changed and this
commit brings a transparent support for it.

Closes gh-98
2015-03-26 17:31:18 +01: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
cb86153b29 Support dependency version in Gradle
Previously, if a dependency defines an explicit version in the meta-data
it was not defined properly in the gradle build file.

Fixes gh-82
2015-03-04 13:57:55 +01:00
Stephane Nicoll
15c800a469 update changelog 2015-03-04 13:57:20 +01:00
Stephane Nicoll
d1a341799b Expose service meta-data
InitializrMetadataBuilder can now merge a number of resources into a
single meta-data instance. A new `/metadata/service` endpoint is now
available and exposes the service meta-data of the current instance.

Combining those two, it is now possible to bootstrap an instance without
a single line of configuration; instead, the meta-data are built from the
content of a json document describing the service meta-data. This
document can be fetched remotely (via the new endpoint) or loaded from
a local file.

Each capability, including the InitializrConfiguration has now a `merge`
method with a "last wins" strategy. For collections, only unknown
elements are added.

Closes gh-88
2015-03-03 18:30:06 +01:00
Stephane Nicoll
d0985d3cc5 More flexible meta-data
Provide a more flexible meta-data contract and clearly separate the
service configuration from the options used to generate a project.

The meta-data now defines a fixed set of core service capabilities. Each
capability has an id, a type, a description and a 'content'. The
following capability types are supported:

* text: single value
* single-select: a list of values, one value should be chosen
* hierarchical-multi-select: values of values, many values can be chosen
* action: a specific single-select that defines the action to invoke

An extension can now build its own meta-data instance more easily.

Closes gh-87
2015-03-02 16:55:34 +01:00
Stephane Nicoll
146c1489b1 Fix build failure 2015-02-27 16:08:21 +01:00
Dave Syer
98609f39b2 Add invertible toString() to Version 2015-02-26 15:56:51 +00:00
Dave Syer
d93a390af7 Add InitializrMetadataCustomizer callback 2015-02-26 14:34:34 +00:00
Dave Syer
a9ef95be74 Make a private method visible to subclasses
So that users can change the model used to render templates if they
have custom requirements for additional content.
2015-02-26 09:45:55 +00:00
Dave Syer
653fc963b4 Add source/target versions to pom.xml 2015-02-26 09:45:55 +00: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
bf8289b570 Add dependency scope support
Add an extra 'scope' attribute to any dependency (defaults to 'compile').

Update maven and gradle build templates to support compile, runtime,
provided and test dependencies. Also, dependencies are now sorted
according to their ids.

Closes gh-83
2015-02-25 10:45:47 +01:00
Stephane Nicoll
89536363f4 Allow baseDir parameter with sub-directory
Previously, specifying a baseDir with a value holding a sub-directory
would fail as only the first directory got created. This commit allows
baseDir to hold a sub-directory as well (e.g. something like 'foo/bar').

Fixes gh-81
2015-02-24 16:20:05 +01:00
Stephane Nicoll
8069c17946 Upgrade to Gradle 2.3
Closes gh-80
2015-02-24 16:08:44 +01:00
Stephane Nicoll
1a7088e851 polish 2015-02-24 16:02:40 +01:00
Stephane Nicoll
3e50bcc101 Prevent invalid application name
Previously, if a user choose 'SpringBoot' or 'Spring' as the name of the
project, the service will generate a `SpringBootApplication` or
`SpringApplication` respectively. Both of which leads to a compilation
failure since those names are already used in the current context.

The generation of the application name based on the project's name have
been moved to InitializrMetadata and two new properties have been
introduced:

* env.fallbackApplicationName defines the name of the application if the
one that was generated was invalid for some reasons
* env.invalidApplicationNames defines a list of application names that
should flagged as invalid. When the current candidate is equal to one of
them, the fallback should be used instead

These properties have default values that prevent such issue to happen
by default.

Fixes gh-79
2015-02-21 17:37:43 +01:00
Stephane Nicoll
886110be44 Force SSL by default
Generate https url even if the incoming request is using plain http. A
new `forceSsl` parameter can be used to disable that behaviour

Closes gh-78
2015-02-21 17:03:17 +01:00
Stephane Nicoll
33f102757f Fix outdated test assertion 2015-02-21 16:46:55 +01:00
Stephane Nicoll
02d4cbf2eb Fix gradl project description 2015-02-19 22:22:11 +01:00
Stephane Nicoll
839402ea59 polish 2015-02-19 15:42:50 +01:00