Commit Graph
100 Commits
Author SHA1 Message Date
Stephane Nicoll eef529aa7c Add platform compatibility range support
This commit adds a new `platformCompatibilityRange` in the metadata that
can be used to restrict the valid platform versions. If a project is
requested or metadata needs to be resolved against a version that does
not match the range, an exception is thrown.

Closes gh-1048
2020-01-03 14:08:37 +01:00
Stephane Nicoll e25fb74d23 Move ProjectRequest input validation to ProjectDescriptionCustomizer
This commit simplifies DefaultProjectRequestToDescriptionConverter to
converting the request to a description only. Applying default or
cleaning values are now part of a ProjectDescriptionCustomizer callback.

Closes gh-1045
2020-01-02 17:16:19 +01:00
Stephane Nicoll d0cf3a4871 Fix typo 2020-01-02 15:35:13 +01:00
Stephane Nicoll 86d1b4ee36 Merge pull request #1047 from breun
* pr/1047:
  Upgrade to Maven Wrapper 0.5.6 and Maven 3.6.3

Closes gh-1047
2020-01-02 13:24:38 +01:00
Stephane Nicoll 945b118b0c Polish 2020-01-01 08:41:11 +01:00
Stephane Nicoll cdafc45e14 Upgrade to nohttp 0.0.4.RELEASE 2019-12-29 10:42:37 +01:00
Stephane Nicoll 84c03cbb6f Add a "warning" section to HELP.md
Closes gh-1006
2019-12-27 17:40:38 +01:00
Stephane Nicoll 6c261fd8f1 Make sure ProjectDescriptionDiff is created eagerly
This commit makes sure that the diff instance is created immediately,
taking a snapshot of the ProjectDescription before the customizers are
applied on it.

Previously, the instance was created as part of the supplier and
therefore created only once a component was requiring it.

See gh-1023
2019-12-27 17:40:33 +01:00
Stephane Nicoll 591f6885cb Polish 2019-12-27 17:18:42 +01:00
Stephane Nicoll 6eb8ea3713 Merge pull request #1039 from bono007
* pr/1039:
  Polish "Handle metadata resolution failures properly"
  Handle metadata resolution failures properly

Closes gh-1039
2019-12-27 16:55:01 +01:00
Stephane Nicoll 5d0c5333fe Polish "Handle metadata resolution failures properly"
See gh-1039
2019-12-27 16:52:49 +01:00
Stephane Nicoll 4be0e94954 Rename section that uses a well-known name
This commit renames a section named "Content" as Asciidoctor treats
such name in a specific way.

See gh-1044
2019-12-27 16:17:29 +01:00
Stephane Nicoll 7d2f175956 Remove unused method 2019-12-27 16:15:15 +01:00
Stephane Nicoll ec3ab38a76 Merge pull request #1038 from jpasquali
* pr/1038:
  Polish "Add distributionManagement support for Maven pom"
  Add distributionManagement support for Maven pom

Closes gh-1038
2019-12-27 16:09:41 +01:00
Stephane Nicoll d190e6860e Polish "Add distributionManagement support for Maven pom"
See gh-1038
2019-12-27 16:07:27 +01:00
Stephane Nicoll 39960b1cdd Polish 2019-12-27 14:32:53 +01:00
Stephane Nicoll aad11c9aa3 Merge pull request #1029 from jaferkhan
* pr/1029:
  Polish "Add support for writing license and developer in Maven pom"
  Add support for writing license and developer in Maven pom

Closes gh-1029
2019-12-27 11:59:43 +01:00
Stephane Nicoll 2d0ef11693 Polish "Add support for writing license and developer in Maven pom"
See gh-1029
2019-12-27 11:58:00 +01:00
Stephane Nicoll 175ed1b8e9 Merge pull request #1023 from bono007
* pr/1023:
  Polish "Keep track of original ProjectDescription"
  Keep track of original ProjectDescription

Closes gh-1023
2019-12-27 11:09:18 +01:00
Stephane Nicoll 5325e679e2 Polish "Keep track of original ProjectDescription"
See gh-1023
2019-12-27 11:09:00 +01:00
Stephane Nicoll abf301a7e4 Upgrade to spring-javaformat 0.0.17 2019-12-06 16:10:19 +01:00
Stephane Nicoll 4c91ede6be Upgrade to Spring Boot 2.2.2.RELEASE 2019-12-06 16:06:47 +01:00
Stephane Nicoll 9ad415d08a Add support for Gradle 6
Closes gh-1042
2019-11-27 18:02:00 +01:00
Stephane Nicoll 2ba0b34f4a Upgrade to GMavenPlus 1.8.1
Closes gh-1041
2019-11-22 16:00:58 +01:00
Stephane Nicoll d973dc1683 Upgrade to Spring Boot 2.2.1.RELEASE 2019-11-07 13:08:14 +01:00
Stephane Nicoll 8d088811f4 Upgrade to Gradle 5.6.4
Closes gh-1030
2019-11-05 16:32:01 +01:00
Stephane Nicoll 270a09b194 Upgrade to Maven 3.6.2
This commit also upgrades to the latest version of the Maven wrapper.

Closes gh-1031
2019-11-05 14:42:00 +01:00
Stephane Nicoll 6665f24cc9 Upgrade to Maven 3.6.2 2019-11-05 14:38:00 +01:00
Stephane Nicoll ba1c6a013b Upgrade to Maven Wrapper 0.5.5 2019-11-05 14:36:27 +01:00
Stephane Nicoll 99b0a4b620 Merge pull request #1016 from markstrecker
* pr/1016:
  Polish "Fix Groovy array declaration"
  Fix Groovy array declaration

Closes gh-1016
2019-10-21 14:09:44 +02:00
Stephane Nicoll cddd4c7b5b Polish "Fix Groovy array declaration"
See gh-1016
2019-10-21 14:07:39 +02:00
Stephane Nicoll 20b03fc6df Merge pull request #1018 from bono007
* pr/1018:
  Polish "Identify reserved keywords in package name"
  Identify reserved keywords in package name

Closes gh-1018
2019-10-21 10:41:23 +02:00
Stephane Nicoll 9143e96b01 Polish "Identify reserved keywords in package name"
See gh-1018
2019-10-21 10:40:56 +02:00
Stephane Nicoll 75b59394b2 Update contributing section to mention javaformat and checkstyle 2019-10-18 10:36:28 +02:00
Stephane Nicoll a729fae5d3 Upgrade to Spring Boot 2.2.0 2019-10-17 09:00:10 +02:00
Stephane Nicoll 8abd0a8d5c Polish 2019-10-16 11:42:53 +02:00
Stephane Nicoll 12344b8747 Upgrade to Commons Compress 1.19 2019-10-16 11:38:10 +02:00
Stephane Nicoll e0f3e42094 Polish 2019-10-16 11:37:21 +02:00
Stephane Nicoll 705f022274 Add a note about pre 1.0 phase 2019-10-10 16:02:37 -05:00
Stephane Nicoll 12de2b3db0 Switch to 0.9.0.BUILD-SNAPSHOT 2019-10-08 10:55:28 -05:00
Stephane Nicoll 56e5b10eba Generate javadoc jar 2019-10-07 16:13:12 -05:00
Stephane Nicoll ede7e3013e Revert to 0.8.0.BUILD-SNAPSHOT
Promotion to Maven Central failed as javadoc artifacts are mandatory
for jars-based modules
2019-10-07 16:04:58 -05:00
Stephane Nicoll ec2aec60ff Do not deploy root pom
The `initializr` root pom is only used by the build and should not be
deployed or made available when releasing.
2019-10-07 12:06:38 -05:00
Stephane Nicoll bba853fa6c Revert to 0.8.0.BUILD-SNAPSHOT
Staging the release has shown it is publishing the root pom that is only
used by the build. We should skip it the same way we do for the Spring
Boot project
2019-10-07 08:11:04 -05:00
Stephane Nicoll b09a8214a7 Upgrade build plugins 2019-10-05 18:45:08 +01:00
Stephane Nicoll 373741ea55 Polish format 2019-10-05 18:37:17 +01:00
Stephane Nicoll 28ea28c74c Polish pom description 2019-10-05 18:35:23 +01:00
Stephane Nicoll d812ca8c38 Harmonize SCM information 2019-10-05 18:32:42 +01:00
Stephane Nicoll 66c1b24240 Fix typos 2019-10-05 18:22:22 +01:00
Stephane Nicoll 4c05e7c29f Polish 2019-10-05 18:16:35 +01:00
Stephane Nicoll 9eacf3030d Polish Javadoc 2019-10-05 18:01:13 +01:00
Stephane Nicoll bb159f3c7d Remove conceptual tangle 2019-10-04 18:37:16 +01:00
Stephane Nicoll 3712a51da1 Polish Javadoc 2019-10-04 17:51:46 +01:00
Stephane Nicoll 1ea7cdac29 Review Maven build Javadoc 2019-10-04 17:24:14 +01:00
Stephane Nicoll 69d7e6170a Polish 2019-10-04 17:22:31 +01:00
Stephane Nicoll 664dd6c4eb Use a Builder for MavenRepository
Closes gh-1013
2019-10-03 15:33:39 +02:00
Stephane Nicoll 285fec21a7 Use a Builder for BillOfMaterials
Closes gh-1012
2019-10-03 15:33:39 +02:00
Stephane Nicoll 42c106b6e9 Review build abstraction Javadoc 2019-10-03 15:33:39 +02:00
Stephane Nicoll e0b274c383 Review Gradle build Javadoc 2019-10-03 15:33:05 +02:00
Stephane Nicoll 42976ca9f7 Polish doc 2019-10-03 11:31:08 +02:00
Stephane Nicoll e56dc0ce17 Polish 2019-10-03 11:30:55 +02:00
Stephane Nicoll 4b73877154 Upgrade to Spring Boot 2.1.9.RELEASE 2019-10-02 19:51:15 +02:00
Stephane Nicoll 796b439dcc Polish 2019-09-27 13:42:40 +02:00
Stephane Nicoll 7b148f25db Add missing package-info 2019-09-27 13:35:55 +02:00
Stephane Nicoll f61623e053 Fix broken test setup 2019-09-27 13:04:48 +02:00
Stephane Nicoll 2f4eeb07d6 Replace {bootVersion} in HELP.md links
Closes gh-1009
2019-09-27 12:56:19 +02:00
Stephane Nicoll 252ee887f7 Polish 2019-09-27 12:52:25 +02:00
Stephane Nicoll c89b399956 Disable @ProjectGenerationContext bean overriding by default
This commit extends ProjectGenerator so that the configuration of the
ProjectGenerationContext can be externalized if necessary. By default,
a context that does not allow bean overriding is provided.

Closes gh-999
2019-09-27 12:31:11 +02:00
Stephane Nicoll 7da1db9329 Polish test utilities 2019-09-26 17:36:53 +02:00
Stephane Nicoll 952d30f9a9 Rationalize Spring Boot plugin contribution with Gradle
Closes gh-1010
2019-09-26 17:04:14 +02:00
Stephane Nicoll 26d44f26b9 Polish 2019-09-25 10:17:04 +02:00
Stephane Nicoll d70d832e70 Polish 2019-09-17 13:29:37 +02:00
Stephane Nicoll af9d543317 Polish "Remove support for style"
Closes gh-959
2019-09-17 12:43:40 +02:00
Stephane Nicoll 23cc192813 Add support for ApplicationContextRunner in ProjectAssetTester
Closes gh-1004
2019-09-17 09:21:28 +02:00
Stephane Nicoll 1d213258a2 Upgrade to Gradle 5.6.2 2019-09-12 16:50:05 +02:00
Stephane Nicoll d8e0b5ccaa Upgrade to Spring Boot 2.1.8 2019-09-08 09:04:16 +02:00
Stephane Nicoll 50bddd036e Revisit TemplateRenderer usage
This commit stops creating a MustacheTemplateRenderer automatically as
it is only used by the Spring conventions at the moment. This makes sure
that the test infrastructure can be used even if mustache is not
available.

Closes gh-991
2019-09-06 13:47:25 +02:00
Stephane Nicoll 2a183354b2 Tune metadata caching
This commit reduces the cache metadata lookup to 2h so that clients can
see new Spring Boot version faster. It also offers an option for
custom instance to override the cache strategy any way they like.

Closes gh-979
2019-09-06 12:00:47 +02:00
Stephane Nicoll 88f986b7c1 Harmonize Maven build to use containers
Closes gh-996
2019-09-04 16:39:38 +02:00
Stephane Nicoll 04a78a94d6 Harmonize Gradle build to use containers
See gh-996
2019-09-04 15:47:45 +02:00
Stephane Nicoll 59f9092e2f Move build properties to dedicated container
See gh-996
2019-09-04 15:47:10 +02:00
Stephane Nicoll 3f6c98173b Move general build settings to immutable class
This commit moves the global build settings to an immutable
BuildSettings abstraction.

See gh-996
2019-09-03 10:10:22 +02:00
Stephane Nicoll 7d47786a8b Improve SourceStructure to handle source and resource assets 2019-09-02 10:19:09 +02:00
Stephane Nicoll 595050258c Move source file extension to Language abstraction
Closes gh-995
2019-08-31 09:07:06 +02:00
Stephane Nicoll cff60c397d Improve custom project request arrangement
This commit improves the use case of configuring a custom ProjectRequest
by enforcing consistently a particular type using a generic.

As a result, `ProjectGenerationInvoker` is no longer exposed as a bean
as it is the responsibility of the custom `ProjectGenerationController`
to provide one that matches the requested `ProjectRequest` type.

See gh-990
2019-08-29 10:52:02 +02:00
Stephane Nicoll f74370eb63 Allow binding of custom ProjectRequest
This commit allows a custom instance to easily bind incoming request
attributes to a custom ProjectRequest instance and map it to a custom
ProjectDescription as well.

Closes gh-990
2019-08-27 09:48:47 +02:00
Stephane Nicoll d9a20ed68c Split controller endpoints
This commit splits MainController to a number of controllers with
dedicated responsibilities. This is a first step to make these features
more modular and potentially opt-in in the future.

Closes gh-994
2019-08-27 08:30:15 +02:00
Stephane Nicoll 282c92f76d Polish 2019-08-25 17:16:18 +02:00
Stephane Nicoll 0b37199b3e Polish 2019-08-25 04:41:44 +02:00
Stephane Nicoll c36ae847fb Harmonize ProjectDescription name 2019-08-25 03:17:25 +02:00
Stephane Nicoll 286e38888c Migrate ProjectDescription to an interface
This commit migrates ProjectDescription to an interface with read-only
accessors and create a MutableProjectDescription implementation that can
be used for both purposes.

As a result, the type separation between ResolvedProjectDescription and
ProjectDescription is no longer necessary.

Closes gh-993
2019-08-25 03:03:57 +02:00
Stephane Nicoll 67de21f629 Stop using debug flag for Windows build 2019-08-25 02:34:24 +02:00
Stephane Nicoll 1a0ec74f8a Polish 2019-08-25 02:32:50 +02:00
Stephane Nicoll 91656ba0f8 Polish 2019-08-23 15:06:36 +02:00
Stephane Nicoll ccd2ec8c30 Merge pull request #967 from LeoRamos01
* pr/967:
  Polish "Add support for Maven resources"
  Add support for Maven resources

Closes gh-967
2019-08-23 15:06:00 +02:00
Stephane Nicoll b711ac73c9 Polish "Add support for Maven resources"
See gh-967
2019-08-23 15:03:05 +02:00
Stephane Nicoll c2886679d6 Fix package tangle
Closes gh-992
2019-08-23 11:36:22 +02:00
Stephane Nicoll ddd609c639 Move assert to AssertJ
This commit moves project-based assertions to regular AssertJ Assert
classes. `ProjectStructure` is now an assert provider so that it can
be used with the standard `assertThat` method.

Specialized assertions are provided for the supported build systems as
well as text-based content.

Closes gh-764
2019-08-22 15:24:28 +02:00
Stephane Nicoll 1082ac7bf7 Extract project generation test utility to dedicated module
This commit extracts various test utilities to a dedicated
initializr-generator-test module for easier consumption. The previous
test-jar are no longer published and a dependency to this new module
should be equivalent.

This commit also cleans various resources that were located in the wrong
place. In particular initializr-generator does not know anything about
metadata anymore.

Closes gh-988
2019-08-21 16:10:06 +02:00
Stephane Nicoll dbd1198996 Rename SourceCodeStructure to SourceStructure
This commit generalizes the main and test structure so that it can be
used for more use cases.
2019-08-21 16:09:17 +02:00