Commit Graph

1356 Commits

Author SHA1 Message Date
Brian Clozel
a72e672138 Apply new Web UI
This commit updates the design of the Web UI, with the following
changes:

* drop Twitter Bootstrap and the custom typeahead widget build
* use js-search, sass and a webpack build instead
* fully delegate version range management to the client application
* do not show the full list of dependencies anymore

This commit adds for now the packaged version of the application, but
this will change with gh-854 and the whole Web UI is likely to move to
start.spring.io proper.
2019-03-05 10:48:59 +01:00
Stephane Nicoll
c13285f633 Merge pull request #853 from jnizet
* pr/853:
  Polish "Avoid applying Kotlin JPA plugin"
  Avoid applying Kotlin JPA plugin
2019-03-04 11:38:43 +01:00
Stephane Nicoll
727475cec9 Polish "Avoid applying Kotlin JPA plugin"
Closes gh-853
2019-03-04 11:37:03 +01:00
jnizet
3ea0066fa8 Avoid applying Kotlin JPA plugin
Applying plugins imperatively is discouraged, and since the plugin is
added to the plugins block anyway, it is applied already.

See gh-853
2019-03-04 11:36:40 +01:00
Stephane Nicoll
9c9cd09de5 Merge pull request #852 from jnizet
* pr/852:
  Add missing spaces in generated Gradle code
2019-03-04 11:14:08 +01:00
jnizet
6b0b5377ec Add missing spaces in generated Gradle code
Closes gh-852
2019-03-04 11:11:00 +01:00
Madhura Bhave
0b61f5145a Add logging to track caching on CI 2019-03-01 14:22:04 -08:00
Stephane Nicoll
82d9db7368 Add support for Gradle 5
Closes gh-847
2019-03-01 11:12:25 +01:00
Stephane Nicoll
590f3ad5ec Support of multiple Gradle generations
This commit improves `@ConditionalOnGradleVersion` to support more than
one Gradle generation in case a bean should be declared for multiple
Gradle generations.

Closes gh-849
2019-03-01 11:11:14 +01:00
Stephane Nicoll
4ac8ab3d24 Polish
See gh-849
2019-03-01 09:47:08 +01:00
Stephane Nicoll
b24cd2e9ca Add workaround for annotationProcessor scope detection in IJ
Closes gh-848
2019-02-28 18:18:09 +01:00
Stephane Nicoll
e1535e9ad1 Fix broken link 2019-02-21 18:26:36 +01:00
Stephane Nicoll
e7ee22f73a Restore support for Gradle 3
While new scopes are available as of Gradle 3.4, the Spring Boot plugin
does not manage them in the `1.5.x` line. This commit introduces a
dedicated GradleBuildWriter for Gradle 3 that uses the previous scopes.

Closes gh-845
2019-02-21 18:22:52 +01:00
Stephane Nicoll
de802b8383 Add HELP.md to .gitignore if necessary 2019-02-20 08:37:34 +01:00
Stephane Nicoll
924a73310a Project documentation infrastructure
This commit adds support for an `HelpDocument` that can be generated
alongside the project. Such document can hold an arbitrary number of
sections with pre-defined sections such as "Getting Started" and "Next
Steps".

A default contributor retrieves the links for requested dependencies
and add them to the document.

Closes gh-353

Co-authored-by: Madhura Bhave <mbhave@pivotal.io>
2019-02-19 21:10:58 -08:00
Stephane Nicoll
2746a3a6e7 Remove release repository 2019-02-19 14:32:00 +01:00
Andy Wilkinson
b91ecb61fb Add method for asserting that a pom does not have a dependency
Closes gh-842
2019-02-19 11:32:09 +00:00
Andy Wilkinson
07bf731f47 Fix assertions of dependency scope, type, and version
Closes gh-841
2019-02-19 11:18:42 +00:00
Andy Wilkinson
a049d6e4fc Polish 2019-02-19 10:03:40 +00:00
Andy Wilkinson
fad1d14bf0 Configure m2e to ignore Flatten plugin
Closes gh-840
2019-02-19 09:58:30 +00:00
Stephane Nicoll
4ed8089a35 Upgrade to Spring Boot 2.1.3 2019-02-16 20:21:41 +01:00
Madhura Bhave
11ffe794fa Generated code should have only one newline at the end
Fixes gh-828
2019-02-15 15:13:20 -08:00
Stephane Nicoll
56187f571d Polish 2019-02-14 14:52:58 +01:00
Stephane Nicoll
701f3f6277 Map project version from version capability
Closes gh-832
2019-02-14 14:52:07 +01:00
Stephane Nicoll
24887e1ab3 Fix generation of filename with empty artifactId
Closes gh-831
2019-02-14 13:10:48 +01:00
Stephane Nicoll
f18c08f88f Handle empty package name
Closes gh-830
2019-02-14 10:00:58 +01:00
Stephane Nicoll
75307eab0f Map whitespace input to default value
This commit checks if a request for any of the text capability is set
with only whitespaces and replaces it with the metadata default
counterpart.

Closes gh-769
2019-02-14 09:56:39 +01:00
Stephane Nicoll
8660fedd0b Polish 2019-02-14 09:29:08 +01:00
Stephane Nicoll
b0d7bdd343 Honour custom application name in Kotlin main class
Closes gh-826
2019-02-13 09:53:49 +01:00
Madhura Bhave
fe66bbab78 Make sure dependencies are compatible with boot version
Closes gh-825
2019-02-11 13:39:04 -08:00
Stephane Nicoll
5ea041744c Remove magic string comparison for build systems
This commit removes the magic string comparision to identify the build
system in use. Rather than just returning the `Path` to the project, a
`ProjectGenerationResult` is now returned that contains the description
of the generated project.

Closes gh-817
2019-02-11 16:11:48 +01:00
Stephane Nicoll
1485d9af82 Stop setting executable flag outside of project generation 2019-02-11 15:27:53 +01:00
Stephane Nicoll
08c785b952 Use build tag to infer the build system
Stop using the type's prefix to infer the build system to use as the
build tag in the metadata is supposed to provide that information.

See gh-817
2019-02-11 14:37:35 +01:00
Stephane Nicoll
c98f59e8f2 Remove deprecated stsId
Closes gh-820
2019-02-11 12:46:00 +01:00
Stephane Nicoll
de15e826b8 Improve configuration guide 2019-02-11 12:31:27 +01:00
Stephane Nicoll
0ed3bdddaa Add basic section about new generator API 2019-02-11 12:23:12 +01:00
Stephane Nicoll
4658162d7c Polish 2019-02-11 11:22:45 +01:00
Stephane Nicoll
cbb60c45e1 Allow to filter available Spring Boot versions
This commit adds a new InitializrMetadataUpdateStrategy callback
interface that can be used to customize what should happen when the
metadata has to be refreshed.

Closes gh-816
2019-02-08 16:42:45 +01:00
Stephane Nicoll
fe4d05d1f6 Upgrade to JUnit Jupiter 5.4.0 2019-02-08 13:21:44 +01:00
Stephane Nicoll
b97b9f9350 Migrate from slf4j to spring-jcl logger
Closes gh-819
2019-02-08 13:16:23 +01:00
Stephane Nicoll
9dc3cc65d1 Polish module dependencies 2019-02-08 13:01:32 +01:00
Stephane Nicoll
d5580cd985 Remove unused ProjectResourceLocator 2019-02-08 11:03:47 +01:00
Stephane Nicoll
cd3b274112 Rationalize exception management 2019-02-08 11:00:04 +01:00
Stephane Nicoll
478c0c41c6 Relocate Agent to web module 2019-02-08 10:56:41 +01:00
Stephane Nicoll
b6657211f6 Review TemplateRenderer abstraction
Closes gh-818
2019-02-08 10:53:49 +01:00
Stephane Nicoll
6e9f542560 Polish 2019-02-08 10:24:59 +01:00
Stephane Nicoll
5e04746746 Add Spring-based project contributors
This commit adds an optional module that gathers the opinions that are
used to generate a Spring Boot project.

Closes gh-340

Co-authored-by: Madhura Bhave <mbhave@pivotal.io>
Co-authored-by: Andy Wilkinson <awilkinson@pivotal.io>
2019-02-08 09:50:35 +01:00
Stephane Nicoll
0d5efd24ba Add support for customizable project generation
This commit adds a project generation infrastructure based on the
abstraction defined thus far. Each project is described by a
`ProjectDescription` that provides the basic information about the
project such as language, build system, packaging, platform version
and more.

Each project runs in a dedicated `ProjectApplicationContext` where
contributors and customizers are elected to generate the project.

Customizers are meant to update the model based on the
`ProjectDescription` and other factors while contributors consume
models to generate project assets (build files, source files, etc).

Because project generation runs in a dedicated context, components can
be flagged with special conditions that enable them only when necessary.
Several conditions are provided in this commit to enable a component
based on the language, build system, packaging, platform version or
requested dependency.

See gh-340

Co-authored-by: Andy Wilkinson <awilkinson@pivotal.io>
Co-authored-by: Madhura Bhave <mbhave@pivotal.io>
2019-02-08 09:50:34 +01:00
Andy Wilkinson
2cb1f3e647 Add packaging abstraction
Closes gh-815

Co-authored-by: Stephane Nicoll <snicoll@pivotal.io>
2019-02-08 09:50:34 +01:00
Andy Wilkinson
3f585337da Add Maven build support
This commit provides a Maven build system implementation with a writer
that can generate `pom.xml` files based on a configurable model.

Closes gh-814

Co-authored-by: Stephane Nicoll <snicoll@pivotal.io>
2019-02-08 09:50:34 +01:00