Commit Graph

100 Commits

Author SHA1 Message Date
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
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
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
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
595050258c Move source file extension to Language abstraction
Closes gh-995
2019-08-31 09:07:06 +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
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
Stephane Nicoll
53a0484289 Add a way to easily create a Spring Boot starter from id 2019-08-21 11:08:47 +02:00
Stephane Nicoll
3d11b9daff Upgrade to Gradle 5.6
Closes gh-986
2019-08-19 08:29:53 +02:00
Stephane Nicoll
96cb299f5b Remove dependency on Spring Boot auto-configure module 2019-08-18 14:39:29 +02:00
Stephane Nicoll
976f290144 Harmonize logging test configuration 2019-08-18 14:35:51 +02:00
Stephane Nicoll
dee5467bd1 http -> https 2019-08-18 14:07:02 +02:00
Stephane Nicoll
f083e6e5cd Make sure MavenBuildWriter uses https link wherever possible 2019-08-18 13:35:47 +02:00
Stephane Nicoll
ff6e26463b Add Bill Of Materials
Closes gh-981
2019-08-15 07:53:46 +02:00
Stephane Nicoll
9c30905003 Simplify KotlinVersionResolver arrangement
This commit makes sure KotlinVersionResolver works with the actual
metadata instance used by the project to generate rather than
potentially using a different instance via the provider.

Rather than requiring such a bean to be present, the configuration
fallbacks to the metadata implementation if none is provided.
2019-08-14 14:45:24 +02:00
Stephane Nicoll
e343e3c0fc Harmonize how Spring Boot plugin is configured with Gradle
Closes gh-980
2019-08-14 14:37:56 +02:00
Stephane Nicoll
c1b1b36f25 Add a strategy to resolve the dependency management plugin version
Closes gh-977
2019-08-14 14:37:48 +02:00
Stephane Nicoll
1672c69ab9 Polish 2019-08-14 10:37:01 +02:00
Madhura Bhave
748afa124d Polish 2019-08-13 18:43:03 -07:00
Stephane Nicoll
a3826cfaed Polish "Add support for removing build plugins"
See gh-978
2019-08-13 20:30:07 +02:00
HaiTao Zhang
083213c904 Add support for removing build plugins
See gh-978
2019-08-13 17:47:36 +02:00
Stephane Nicoll
719c368a66 Add compliance tests for next-generation builds 2019-08-09 16:26:15 +02:00
Stephane Nicoll
318ffccfe7 Stop excluding JUnit 4 as of Spring Boot 2.2.0.M5
This commit updates the test starter contributor to only exclude the
vintage engine as excluding junit is no longer necessary.

Closes gh-930
2019-08-09 15:54:02 +02:00
Stephane Nicoll
a92c791c32 Polish "Do not add snapshot repo unless absolutely necessary"
See gh-960
2019-07-25 12:20:15 +02:00
HaiTao Zhang
c54ec295bf Do not add snapshot repo unless absolutely necessary
See gh-960
2019-07-25 11:53:16 +02:00
abdelghani.roussi
afd96dcdf5 Write Gradle plugin repositories section only if necessary
See gh-880
2019-07-25 11:38:19 +02:00
Stephane Nicoll
18b537b65f Infer default link name when appropriate
This commit improves the HELP.md customizer for links to add a link even
if it does not have a description. Links are defined in three dedicated
areas so it is possible to infer a sensible name if only one link of a
certain type is present.

Closes gh-962
2019-07-23 17:45:02 +02:00
Madhura Bhave
7cfb0c23e9 Add jackson-module-kotlin when json facet and kotlin is in use
Closes gh-957
2019-07-16 13:23:52 -07:00
Stephane Nicoll
449b22403a Upgrade to spring-javaformat 0.0.15
Closes gh-949
2019-07-10 14:57:35 +02:00
HaiTao Zhang
292e47e98b Refactor support for testing executable files
Previously, hasExecutableFile only checked if the
file exists and not if it was executable. This commit
ensures that the file exists and is executable using
ExecTask as Unzip and Untar do not preserve file permissions.

See gh-937
2019-07-02 14:25:24 -07:00
Andy Wilkinson
d38463c4e7 Fix references to built-in configurations with Gradle Kotlin DSL
Closes gh-917
2019-06-27 20:42:12 +01:00
Andy Wilkinson
db2c867f71 Make compileOnly configuration customization Gradle 4+ specific
Closes gh-848
2019-06-27 20:02:20 +01:00
Andy Wilkinson
93975d98b9 Use a strategy for Kotlin version resolution
Closes gh-926
2019-06-27 15:12:45 +01:00
Stephane Nicoll
1c7a73c29f Add missing test for JUnit 4 exclusion
See gh-905
2019-06-19 14:50:32 +02:00
Stephane Nicoll
6c79192e75 Polish 2019-06-19 14:47:37 +02:00
Andy Wilkinson
372ff967a1 Make generated .gitignore more multi-module friendly
Closes gh-927
2019-06-14 14:31:22 +01:00
Stephane Nicoll
2f50cf1c8f Format source code
Closes gh-923
2019-06-12 14:46:53 +02:00
Andy Wilkinson
04b2777b32 Correct Kotlin DSL syntax for adding and customizing configurations
Fixes gh-917
2019-06-06 09:51:20 +01:00
Stephane Nicoll
a79a9ae101 Upgrade to Gradle 4.10.3 for Spring Boot 2.0.x projects 2019-06-02 09:21:59 +02:00
Stephane Nicoll
209f092168 Make hasText public to validate corner cases 2019-05-31 11:19:37 +02:00