Commit Graph
100 Commits
Author SHA1 Message Date
Stephane NicollandAndy Wilkinson c7c16872c4 Polish "Add Gradle Kotlin DSL support"
In particular, this commit replaces the GradleKts dedicated build system
in favor of a dedicated build system dialect.

Closes gh-851

Co-authored-by: Andy Wilkinson <awilkinson@pivotal.io>
2019-05-15 16:54:50 +02:00
Stephane Nicoll 96f2b5fbab Upgrade maven plugins 2019-05-15 16:53:17 +02:00
Stephane Nicoll 33e728a3a2 Upgrade to JUnit Jupiter 5.4.2 2019-05-15 16:52:58 +02:00
Stephane Nicoll 8fff7a32b7 Upgrade to Spring Boot 2.1.5 2019-05-15 16:52:51 +02:00
Stephane Nicoll 26fb971102 Upgrade to Gradle 5.4.1 2019-05-09 11:28:34 +02:00
Stephane Nicoll 69afcacce3 Merge pull request #890 from jnizet
* pr/890:
  Polish "Add support for Gradle's tasksWithType"
  Add support for Gradle's tasksWithType
2019-05-02 10:48:56 +02:00
Stephane Nicoll 9c16d576ff Align CI image to expose javadoc binary 2019-04-11 09:29:27 +02:00
Stephane Nicoll 76c036829e Upgrade maven plugins 2019-04-11 08:21:19 +02:00
Stephane Nicoll e3c5d1eb53 Generate javadoc API 2019-04-11 08:21:10 +02:00
Stephane Nicoll b636045057 Polish 2019-04-11 07:48:04 +02:00
Stephane Nicoll 1efc5a6900 Upgrade to asciidoctor maven plugin 1.6.0 2019-04-11 07:41:36 +02:00
Stephane Nicoll f97867650d Extend conditions that can apply to more than one value
This commit extends the build system and platform conditions to allow
for several values to be specified. Those conditions match if any of
the provided value matches.

Closes gh-888
2019-04-11 07:37:10 +02:00
Stephane Nicoll baffdfa74d Polish 2019-04-10 11:12:09 +02:00
Stephane Nicoll 83436ae2ef Fix unresolved reference in generated documentation 2019-04-04 09:44:05 +02:00
Stephane Nicoll 8c3c220487 Upgrade to Spring Cloud contract 2.1.1 2019-04-04 09:20:56 +02:00
Stephane Nicoll 0ec197c115 Upgrade to JUnit Jupiter 5.4.1 2019-04-04 08:49:45 +02:00
Stephane Nicoll 1f14ba0356 Upgrade to Spring Boot 2.1.4 2019-04-04 08:49:27 +02:00
Stephane Nicoll 910fddaaa7 Upgrade to spring-javaformat 0.0.9
Closes gh-882
2019-04-03 12:26:24 +02:00
Stephane Nicoll 2c0abc8e54 Fix mvnw reference in examples 2019-04-02 17:40:07 +02:00
Stephane Nicoll 3b40cd824e Add service sample
Closes gh-844
2019-03-27 09:29:09 +01:00
Stephane Nicoll 18dbc4dada Merge pull request #878 from sundarraj4u
* pr/878:
  Upgrade to GMavenPlus 1.6.3
2019-03-27 07:55:02 +01:00
Stephane Nicoll 839b35bada Merge pull request #860 from bclozel
* pr/860:
  Polish "Remove default Web UI from Initializr library"
  Remove default Web UI from Initializr library
2019-03-21 15:43:38 +01:00
Stephane Nicoll e527172282 Polish "Remove default Web UI from Initializr library"
Closes gh-860
2019-03-20 17:36:21 +01:00
Stephane Nicoll 357313c7bf Upgrade to spring-javaformat 0.0.7
This commit upgrades to spring-javaformat 0.0.7 and checkstyle 8.18.
2019-03-20 17:34:50 +01:00
Stephane Nicoll 3636d9ff46 Polish 2019-03-20 10:25:06 +01:00
Stephane Nicoll c3cb0da738 Adapt user guide doc to the new UI 2019-03-19 20:00:58 +00:00
Stephane Nicoll dc2c57f4eb Merge pull request #873 from javaducky
* pr/873:
  Fix DTD usage of Checkstyle's import control
2019-03-18 15:15:40 +00:00
Stephane Nicoll 166fbf7e97 Fix typo 2019-03-17 14:42:46 +01:00
Stephane Nicoll 568ef5ed32 MetadataBuildItemResolver should use platform version
Closes gh-872
2019-03-17 14:41:03 +01:00
Stephane Nicoll 9050056f24 Polish modules description 2019-03-17 11:34:04 +01:00
Stephane Nicoll b80e3570d8 Switch initializr-generator-spring to test dependency where applicable
Closes gh-871
2019-03-17 11:26:29 +01:00
Stephane Nicoll 3818b5b05e Add rule to prevent Spring conventions to be imported
See gh-871
2019-03-17 11:22:36 +01:00
Stephane Nicoll 738cf0f55b Move BuildWriter to core module
See gh-871
2019-03-17 11:08:09 +01:00
Stephane Nicoll 9203e1bd61 Move metadata build support classes to the metadata module
See gh-871
2019-03-17 11:05:01 +01:00
Stephane Nicoll 1ad3dae770 Polish 2019-03-15 14:24:25 +01:00
Stephane Nicoll 9465a70fa6 Polish 2019-03-15 11:50:10 +01:00
Stephane Nicoll 52c9237399 Merge pull request #864 from govi20
* pr/864:
  Polish "Add gitignore for VS Code"
  Add gitignore for VS Code
2019-03-15 11:41:21 +01:00
Stephane Nicoll 48097295d4 Polish "Add gitignore for VS Code"
Closes gh-864
2019-03-15 11:39:06 +01:00
Stephane Nicoll fdb7493ee8 Merge pull request #868 from sdeleuze
* pr/868:
  Polish "Fix Maven Kotlin JPA compiler plugin configuration"
  Fix Maven Kotlin JPA compiler plugin configuration
2019-03-15 11:28:53 +01:00
Stephane Nicoll e9d82c9edb Polish "Fix Maven Kotlin JPA compiler plugin configuration"
Closes gh-868
2019-03-15 11:20:28 +01:00
Stephane Nicoll 0ecdf3097a Restore the ability to generate several parameters with the same name
This commit fixes the handling of configuration parameters so that
nested groups can be reused when requested with the same parameter
name. However, single parameters are additive.

Closes gh-867
2019-03-14 17:51:04 +01:00
Stephane Nicoll 0805345e85 Make sure that Maven plugins can be amended
Closes gh-867
2019-03-14 15:27:02 +01:00
Stephane Nicoll ae87d7381c Make sure that Maven plugin executions can be amended
See gh-867
2019-03-14 15:26:45 +01:00
Stephane Nicoll a5e2994f1d Make sure that Maven plugin configuration can be amended
See gh-867
2019-03-14 15:23:17 +01:00
Stephane Nicoll ec6ac4b1d8 Harmonize assertions on text file content
This commit harmonizes assertions on text file content by sharing the
code that reads and validate candidates. Make sure that streams are
properly closed which may fix build failures on Windows.

See gh-862
2019-03-13 14:42:23 +01:00
Stephane Nicoll 9f4c6a5326 Fix assertions to work on Windows
Closes gh-859
2019-03-11 18:06:17 +01:00
Stephane Nicoll 2647c19d5b Only customize annotationProcessor scope with Gradle 4+
Closes gh-848
2019-03-10 11:04:48 +01:00
Stephane Nicoll f989d99347 Use standard AssertJ for GradleBuildAssert 2019-03-10 10:47:09 +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
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
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 NicollandMadhura Bhave 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
Stephane Nicoll 4ed8089a35 Upgrade to Spring Boot 2.1.3 2019-02-16 20:21:41 +01: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
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
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
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
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
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
Stephane Nicoll 0628829cd3 Upgrade to JUnit Jupiter 5.4.0-RC2 2019-02-07 10:53:31 +01:00
Stephane Nicoll 8c02e4093c Polish
See gh-809
2019-02-06 09:39:48 +01: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
Stephane Nicoll ea2ea08523 Initiate 0.8.0.BUILD-SNAPSHOT version 2019-01-31 10:42:34 +01: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