Commit Graph
100 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 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
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
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
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
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
Stephane Nicoll 50cb4f7c39 Harmonize service capabilities
Command line tools are invited to discover the HAL-compliant links
defined in the meta-data while Spring Boot CLI is a working client
application and requires a description of the capabilities in a more
high-level format.

Capabilities are now customized for those use cases.

Closes gh-77
2015-02-18 20:43:12 +01:00
Stephane Nicoll 3e7658c879 Improve command-line service capabilities
Provide a polished version of the command-line service capabilities
with tables and support for the new version range.

Also support SpringBootCli explicitly so that the service capabilities
are rendered directly by the server instead of having the client parsing
the meta-data manually.

Closes gh-76
2015-02-18 17:24:09 +01:00
Stephane Nicoll a6afbd7960 Add version range in command-line help 2015-02-17 17:44:49 +01:00
Stephane Nicoll 0d1f920ea6 Improve test coverage
Validate that a client can request all the meta-data versions it support
to let the server choose the one it supports.
2015-02-17 16:57:10 +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 5a4a2b9f81 Migrate smoke tests to Geb
Since Htmlunit does not provide a complete support for Javascript, smoke
tests are migrated to Gab (i.e. using Selenium and an actual browser).

This present a major challenge: it is not easy to assert the content of
a file that the browser downloads when it submits a form. First, the
browser should be configured to download the file directly instead of
opening a (native) pop-up asking the users where to download it. Then,
the tests should be aware of the location of the file in order to assert
it.

Hopefully, Firefox can be configured to achieve this goal.

Closes gh-75
2015-02-17 13:52:39 +01:00
Stephane Nicoll 1a213cdbc7 Remove support for deprecated meta-data V1
Closes gh-74
2015-02-12 11:33:21 +01:00
Stephane Nicoll 0e5e825181 Update project layout for Groovy-based projects
A groovy-based project on Maven provides a better developer experience
if the sources are located in src/main/java and src/test/java.

This commit updates the generator to use this new location while keeping
the existing src/main/groovy project for Gradle builds.

Fixes gh-71
2015-02-12 11:32:26 +01:00
Stephane Nicoll bd6d493f75 Improve HAL urls
Remove `type` as a template variable since each action actually defines
the related type. This commit however does not address all the concerns
raised in gh-69; since the configuration is generic, there is no way to
know that a particular action handles one and only one type so removing
the type because it is redundant is not really possible.

Besides, the zip and tgz endpoints aren't exposed via configuration
either so offering such choice via the HAL-urls is not possible either.

Partially fixes gh-69
2015-02-12 11:30:48 +01:00
Stephane Nicoll 634971ada4 Merge pull request #35 from bclozel/gh-35
* gh-35:
  Improve CSS layout
2015-01-27 14:00:55 +01:00
Stephane Nicoll 81a5d80b2c Update README with recent command-line improvements 2015-01-21 08:35:03 +01:00
Stephane Nicoll d2308a16b7 Fix typos in changelog 2015-01-21 08:31:05 +01:00
Stephane Nicoll 893966ad62 Add support for HTTPie
Closes gh-70
2015-01-20 18:59:45 +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 cb0c2b2e4e Improve project description 2015-01-17 10:29:26 +01:00
Stephane Nicoll 7680064421 Add license 2015-01-17 10:28:41 +01:00
Stephane Nicoll 4bb4372454 Merge pull request #68 from isopov/patch-1
* patch-1:
  Removing extra ) char from link
2015-01-16 16:49:36 +01:00
Stephane Nicoll 22e3567c42 Fix typo 2015-01-16 14:35:59 +01:00
Stephane Nicoll 3b0509a9bb Add baseDir option
Previously the generated archive wasn't self contained and the user had
to create a dedicated directory before extracting it in case the archive
utility does not handle that use case (MacOS supports that by default).

A baseDir request attribute has been added and generate a base directory
in the archive when set. It is enabled by default in the web UI and takes
the same value as the artifactId. Other clients are unaffected by this
change (and shouldn't probably).

Note that the legacy HTML form isn't impacted by this change either as
older STS versions expect the archive to have a very specific format.

curl-based tools can use that new baseDir request parameter to specify
that a base directory is required, something like

curl https://start.spring.io/starter.tgz -d baseDir=my-project

Closes gh-65
2015-01-16 14:29:57 +01:00
Stephane Nicoll 81df61931a Add changelog 2015-01-16 13:14:20 +01:00
Stephane Nicoll d35482a61b Use SpringBootApplication when available
If Spring Boot 1.2 or later is used, the generated project uses the new
SpringBootApplication annotation as a replacement for what used to be
configured by Configuration, ComponentScan and EnableAutoConfiguration.

Also add an infrastructure to parse and compare versions.

Closes gh-46
2015-01-15 09:27:14 +01:00
Stephane Nicoll b8e26a2d3a Move support test classes to io.spring.initializr.test
Previously, the Assert helpers were located in the support package that
is also used by some support classes in the production code. Having both
test helpers and tests in the same package is a bit confusing.

Those test helpers are now relocated to a dedicated test package.
2015-01-14 11:55:34 +01:00
Stephane Nicoll 6f4d940ff7 Uprade to Spring Boot 1.2.1 2015-01-08 16:26:00 +01:00
Stephane Nicoll 529f6dc5f1 Update to Groovy 2.3
Update Initializr and the Groovy-based projects it generates to the
groovy 2.3 compiler. This fixes a compatibility issue with Java 8

Fixes gh-64
2014-12-24 10:00:14 +01:00
Stephane Nicoll 5092e32a26 Add tests for Groovy-based projects
Closes gh-61
2014-12-19 16:13:45 +01:00
Stephane Nicoll fd85022ef6 Use project name to infer the name of the app
The 'name' field can now be used to customize the name of the generated
application (and its test counterpart). A default application name is
used If no suitable identifier can be inferred from the specified name.

Concretely, this means that the default application name is no longer
`Application` but `DemoApplication` since the default name is `demo`.

Closes gh-60
2014-12-19 12:19:01 +01:00
Stephane Nicoll 64b62875c4 Upgrade to Spring Boot 1.2.0 2014-12-13 11:13:39 +01:00
Stephane Nicoll 7b79a37a66 Fix wrong dependency metric
Previously if a project was generated  with no defined dependency; a
metric with id 'counter.initializr.dependency.' was published. We now
make sure to properly identify that default use case and no metrics gets
published in such a case.

Fixes gh-57
2014-12-10 14:00:30 +01:00
Stephane Nicoll 9e01b9af71 Improve media type assertion
Instead of doing a strict equality between the expected media type
and the one received in the response, we use isCompatibleWith that
ensure that at least the expected capabilities are present.
2014-12-08 18:07:27 +01:00
Stephane Nicoll 627838cc44 Add contributing page 2014-12-08 15:59:12 +01:00
Stephane Nicoll e86830df39 Migrate to asciidoc 2014-12-08 15:54:25 +01:00
Stephane Nicoll 1dca5d4630 Clarify the use of the milestone repository 2014-12-08 15:42:02 +01:00
Stephane Nicoll 6c5d7b68ee Merge pull request #51 from gregturn/switch-to-https
* switch-to-https:
  Switch to https for build files
2014-11-20 17:50:00 +01:00
Stephane Nicoll 0b88ebc3a4 Update to Spring Boot 1.1.9 2014-11-19 15:43:17 +01:00
Stephane Nicoll addeb79bca Alias style to dependencies
Style is the only parameter that deviates from the default names in the
metadata. As 'dependencies' is the name used in the metadata, it can be
used as an alias of style. This simplifies the HAL-generated URLs

Fixes gh-50
2014-11-19 15:32:06 +01:00
Stephane Nicoll 6116ca94aa Update metadata format to v2
Update the metadata format in a non backward compatible way to ease
the use of the service from 3rd party clients. The updated metadata
format is now more descriptive and HAL-compliant and can be used with
Spring HATEOAS to build a client.

Metadata v1 is still served to preserve backward compatibility with
Spring Boot 1.2.0.RC1.

Closes gh-49
2014-11-19 15:30:39 +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 7350cd165d Proper exception management
This commit updates the service to throw dedicated exception types for
common user error and associates proper HTTP status codes to them.

Fixes gh-38
2014-10-30 10:45:43 +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 5f0bb06e8f Fix potential NPE with unknown Spring Boot starter
Fixes gh-41
2014-10-25 15:15:46 +02: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 09f91aa53b Add Content-Disposition to all endpoints
Prior to this commit, the browser was "guessing" the file name to use for
Maven and Gradle build files. This commit harmonizes the endpoints so
that they provide a Content-Disposition header with a preferred file
name.
2014-10-24 11:34:31 +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 3bdccad9cd Generate proper project archives
This commit generates an archive name that is consistent with the
chosen artifactId for the project. This prevents all archives to be
named 'starter.zip'. If the custom artifact contains special
characters, these are encoded (spaces are replaced by _ which seems a
sensitive default)

Fixes gh-36
2014-10-20 11:58:14 +02:00
Stephane Nicoll 3fa1f72c4f polishing 2014-09-02 11:16:09 +02:00
Stephane Nicoll 2f9a435334 polishing 2014-09-02 09:00:11 +02:00
Stephane Nicoll 8fd8099579 Disable security 2014-08-28 10:49:48 +02:00
Stephane Nicoll c84c48fac3 polishing 2014-08-28 10:42:19 +02:00
Stephane Nicoll b282f66aec Secure actuator endpoints 2014-08-27 14:09:01 +02:00
Stephane Nicoll 56bead0f76 Restore the default starter if none is set
This commit fixes a regression introduced by the library refactoring.

Previously, if no dependency was selected, the default
'spring-boot-starter' was added to provide the necessary base
dependencies.

This commit adds a addDefaultDependency on ProjectRequest that
adds that dependency. It can be overridden if the default needs to be
different.

Fixes gh-34
2014-08-27 13:56:49 +02:00
Stephane Nicoll 575ca6cf03 Add initializr specific metrics
This commit adds several project related metrics that are recorded
using the standard CounterService.

The following metrics are managed:

* `counter.initializr.requests` sums the total number of requests, be
it for a project or a simple build file
* `counter.initializr.dependency.xyz` represents the number of times
the xyz dependency was requested. If the dependency is requested
through an alias, it is consolidated using the standard id
* `counter.initializr.type.xyz` represents the statistics per project
type (i.e. starter.zip, pom.xml, etc)
* `counter.initializr.java_version.xyz` represents the statistics per
java version
* `counter.initializr.packaging.xyz` represents the statistics per
packaging (war, jar)
* `counter.initializr.language.xyz` represents the statistics per
language (java, groovy)
* `counter.initializr.boot_version.xyz` represents the statistics per
Spring Boot version

The statistics are recorded by default using a
ProjectGenerationListener implementation. This can be further
customized by overriding the default ProjectGenerator bean provided
through auto configuration.

Fixes gh-32
2014-08-27 13:21:09 +02:00
Stephane Nicoll a6ef4714e8 Improve ProjectGenerator tests 2014-08-27 11:37:31 +02:00
Stephane Nicoll 4d23703bdc Polish UI 2014-08-26 15:37:51 +02:00
Stephane Nicoll fc8d93120c Add the ability to refresh the metadata
This commit updates all consumers of the InitializrMetadata to go
through an InitializrMetadataProvider instead of having a direct
handle to the metadata instance.

A default InitializrMetadataProvider implementation that looks up
for some metadata from projects.spring.io has also been added.

That method is actually cached with a TTL of 10 minutes. This
allows the service to update itself automatically when such
metadata are updated in Sagan.

Fixes gh-26
2014-08-26 15:25:06 +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 a1e01fc0ba Add html unit tests
This commit integrates with spring-test-htmlunit and provides tests
that use the HTML form.
2014-08-21 14:09:40 +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 95441ef19c Redirect Spring cli distribution bundle
This commit adds the '/spring' endpoint that is used to download the
Spring CLI distribution bundle. Instead of relying on the presence of
a local 'spring.zip' file uploaded as part of the application, a
redirect to a configurable repository is used.

It is possible to download both the zip and the tar.gz distribution
by specifying the extension in the url (i.e. /spring.tar.gz provides
the tar.gz distribution.

Fixes gh-31
2014-08-19 16:41:24 +02:00
Stephane Nicoll 39f116f174 Merge pull request #28 from andypiper/fix-doc
* fix-doc:
  fix homebrew install info
2014-08-19 14:08:13 +02:00
Stephane Nicoll 766a5fef89 Add json validation tests
This commit adds JSON structure validation tests to ensure that the
output is backward compatible with older versions if we enhance it
in the future.

Partly fixes gh-21
2014-08-19 13:50:41 +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 964aef8bdb polishing 2014-08-19 02:56:49 +02:00