Commit Graph
360 Commits
Author SHA1 Message Date
Andy Wilkinson 2bd64ed6ed Add Gradle build support
This commit provides a Gradle build system implementation with a writer
that can generate `build.gradle` and `settings.gradle` files based on a
configurable model.

See gh-814
2019-02-08 09:50:34 +01:00
Andy WilkinsonandStephane Nicoll 1dbed8cdf8 Add build abstraction
This commit adds a build abstraction with a base model that concrete
build systems can reuse.

See gh-814

Co-authored-by: Stephane Nicoll <snicoll@pivotal.io>
2019-02-08 09:50:34 +01:00
Stephane Nicoll b5ba883b02 Add Groovy language support
This commit provides a Groovy language implementation with a writer that
can generate a `.groovy` source file based on a configurable model.

Closes gh-813
2019-02-08 09:50:34 +01:00
Stephane Nicoll bdfa852675 Add Kotlin language support
This commit provides a Kotlin language implementation with a writer that
can generate a `.kt` source file based on a configurable model.

See gh-813
2019-02-08 09:50:34 +01:00
Andy WilkinsonandStephane Nicoll d0d4809ee9 Add Java language support
This commit provides a Java language implementation with a writer that
can generate a `.java` source file based on a configurable model.

See gh-813

Co-authored-by: Stephane Nicoll <snicoll@pivotal.io>
2019-02-08 09:50:34 +01:00
Andy WilkinsonandStephane Nicoll 77bb7eb3ac Add language abstraction
This commit adds a `Language` on the JVM abstraction with well known
concepts such as `Annotation`, `Parameter`, `CompilationUnit` and
`TypeDeclaration` that concrete language implementations can reuse.

See gh-813

Co-authored-by: Stephane Nicoll <snicoll@pivotal.io>
2019-02-08 09:50:34 +01:00
Stephane NicollandAndy Wilkinson b6e675de40 Add writer with indent support
This commit adds an `IndentingWriter` with a factory that supports
different indenting option according to a content identifier (e.g. a
language).

Closes gh-812

Co-authored-by: Andy Wilkinson <awilkinson@pivotal.io>
2019-02-08 09:50:34 +01:00
Stephane Nicoll 3fa03b8438 Move metadata to a dedicated module
This commit moves the `metadata` package to a dedicated
`initializr-metadata` module so that it can be shared.

Closes gh-804
2019-02-08 09:50:34 +01:00
Stephane Nicoll 6ccfb69692 Promote version infrastructure to dedicated package
This commit moves `Version` and related support classes to a dedicated
package

Closes gh-811
2019-02-08 09:50:34 +01:00
Madhura BhaveandStephane Nicoll e281480426 Switch project structure to use the new generator
This commit removes the former `ProjectGenerator` api based on mustache
template in favour of a new DSL infrastructure to be detailed in further
commits.

Event handling is now web-specific with a `ProjectRequest` and a
`WebProjectRequest` that gathers the base input from the request and
some additional web-specific metadata, respectively. As a consequence
the `initializr-actuator` module has now a dependency on the
`initializr-web` module.

See gh-340

Co-authored-by: Stephane Nicoll <snicoll@pivotal.io>
2019-02-08 09:50:26 +01:00
Stephane Nicoll 0628829cd3 Upgrade to JUnit Jupiter 5.4.0-RC2 2019-02-07 10:53:31 +01:00
Madhura Bhave 1bd84fe0ce Use metadata used for project generation for stats
Closes gh-810
2019-02-06 11:39:05 -08:00
Stephane Nicoll 8a0d413a06 Clean build assertions 2019-02-05 16:36:56 +01:00
Stephane Nicoll 73415ea21d Remove Jackson dependency on Version infrastructure
Closes gh-808
2019-02-05 10:41:16 +01:00
Stephane Nicoll ce2d210d75 Move CommandLineHelpGenerator to initializr-web
Closes gh-807
2019-02-04 17:21:12 +01:00
Stephane Nicoll f5395c07e1 Split metadata specific exception from InitializrException 2019-01-31 11:14:18 +01:00
Stephane Nicoll fab532ebd4 Upgrade to JUnit 5.4.0-RC1 2019-01-31 11:06:54 +01:00
Madhura Bhave 79dc5956d5 Fix POMS for the updated release process 2019-01-30 08:24:06 -08:00
Stephane Nicoll 662c0b1e15 Remove reference to InitializrMetadataTestBuilder from metadata tests
This will ease the migration of the metadata to its own module
2019-01-30 14:33:41 +01:00
Rob Tompkins 96540f5bcd Upgrade generator to Maven 3.6.0
Closes gh-794
2019-01-29 15:30:48 +01:00
Stephane Nicoll 2b6ab498cf Polish migration to JUnit5
See gh-802
2019-01-28 14:38:54 +01:00
Madhura Bhave 8ec763e0ba Polish 2019-01-24 10:08:30 -08:00
Madhura Bhave 2816c21631 Migrate generator tests to JUnit5
Closes gh-802
2019-01-24 10:04:00 -08:00
Stephane Nicoll 4810d8aac2 Harmonize .gitignore generation 2019-01-22 20:54:19 +01:00
Stephane Nicoll 1fcf48e2fa Skip providedRuntime configuration block with war projects
Closes gh-796
2019-01-10 14:57:10 +01:00
Stephane Nicoll e34720a35a Remove hard-coded reference to Eclipse plugin
Closes gh-795
2019-01-09 15:36:00 +01:00
Madhura Bhave 29a8e9b32c Remove redundant assertion 2019-01-09 15:21:59 +01:00
Madhura Bhave 52599b0600 Move Kotlin task customization to the bottom 2019-01-09 15:18:23 +01:00
Madhura Bhave ed5d5398ad Remove unnecessary whitespace 2019-01-09 15:18:23 +01:00
Madhura Bhave 19301ed6ff Use single quotes where string interpolation not required 2019-01-09 14:57:27 +01:00
Madhura Bhave 395567ca1d Remove surrounding brackets for gradle dependencies
Closes gh-797
2019-01-09 14:57:18 +01:00
Stephane Nicoll b17da2489c Polish 2019-01-08 09:32:41 +01:00
Madhura Bhave 3ceb608f87 Add a gradle assertion for build properties
See gh-781
2019-01-07 13:14:55 -08:00
Madhura Bhave 3982ceceeb Group build properties under ext
Closes gh-781
2019-01-07 12:43:51 -08:00
Stephane Nicoll e23132747b Surround sourceCompatibility with single quotes
Closes gh-791
2019-01-05 10:13:06 +01:00
wonwoo a515a49a68 Update examples to mention Java 11
Closes gh-787
2019-01-01 11:00:57 +01:00
Stephane Nicoll af39236360 Harmonize Groovy code format
Closes gh-785
2018-12-13 13:42:11 +01:00
Stephane Nicoll 3868019f87 Simply repository definition with Maven
Closes gh-782
2018-12-12 11:25:13 +01:00
Stephane Nicoll 8e6b5e9cf5 Remove default packaging from generated pom
Closes gh-780
2018-12-11 10:25:05 +01:00
Stephane Nicoll c3079c5609 Polish 2018-12-11 09:54:24 +01:00
Stephane Nicoll 87b6a320fc Polish Kotlin code format 2018-12-10 15:09:45 +01:00
Stephane Nicoll fc7cc42d62 Polish code format 2018-12-10 15:02:22 +01:00
Stephane Nicoll 742db270d8 Stop registering java.version as a VersionProperty 2018-12-06 14:08:45 +01:00
Stephane Nicoll bba9eb7a33 Polish generated pom
This commit removes two useless properties that are already contributed
by `spring-boot-starter-parent`.
2018-12-06 13:49:09 +01:00
Stephane Nicoll 4a75ad6b21 Polish Maven pom structure 2018-12-05 16:36:40 +01:00
Stephane Nicoll 185e18cd5e Prevent project prior to Spring Boot 1.5 to be generated
See gh-763
2018-11-29 10:35:06 +01:00
Stephane Nicoll f5d440506e Simplify project generation version checks
This commit simplifies project generation by only checking for supported
Spring Boot version (i.e. 1.5 and later) and therefore removing any
logic that is specified to a non supported version.

Concretely, initializr is no longer able to generate a project for a
Spring Boot version prior to 1.5

Closes gh-763
2018-11-29 10:16:50 +01:00
Stephane Nicoll dbd865a526 Adapt test suite to more recent Spring Boot versions
See gh-763
2018-11-29 10:16:50 +01:00
Stephane Nicoll da1655d183 Adapt test suite to more recent Spring Boot versions
See gh-763
2018-11-29 10:16:40 +01:00
Stephane Nicoll 2a7b8f782d Upgrade to Gradle 4.10.2
Closes gh-779
2018-11-28 14:14:09 +01:00