Commit Graph

105 Commits

Author SHA1 Message Date
Stephane Nicoll
e9b3ca74c3 Add DevTools build customizers
Using Spring Boot DevTools requires customizers for both the Maven and
the Gradle build. While the library can't have an opinion about the id
of the "devtools" dependency, it can provide the logic with a
configurable dependency identifier.

This commit adds such configurable customizers.

Closes gh-1135
2020-11-13 16:15:13 +01:00
Stephane Nicoll
f2accaa7f7 Upgrade to Spring Boot 2.4.0
Closes gh-1145
2020-11-13 06:46:47 +01:00
Wouter Wijsman
875070a53d Ignore bin directory for Gradle-based projects with Eclipse
See gh-1141
2020-10-21 09:20:21 +02:00
Stephane Nicoll
86081e887a Upgrade to GMavenPlus 1.11.0
Closes gh-1140
2020-10-15 11:24:10 +02:00
Stephane Nicoll
bddac7d5df Polish "Upgrade to Gradle 6.6.1"
See gh-1118
2020-09-05 16:47:22 +02:00
Karuppiah Natarajan
3a75619535 Upgrade to Gradle 6.6.1
See gh-1118
2020-09-05 16:47:05 +02:00
Andy Wilkinson
3ed1a1dd7e Configure gitignore negations more precisely
Previously we negated the exclusions for all of src/main and src/test.
This was done to prevent any content under src/main or src/test that
matched the build output directories (build/ out/, and target/) from
being ignored. While concise, this approach has proven to be overly
broad as it undoes all exclusions and not just those for the build
output directories.

This commit switches to individual negations for each of the build
output directories that we ignore. While more verbose, this narrows
the negations to match their original intent and perhaps also makes
it easier to infer that intent from the generated .gitignore file.

Closes gh-1106
2020-07-09 16:57:30 +01:00
Stephane Nicoll
f9a7404c39 Harmonize Kotlin's jvmTarget to chosen JVM generation
Closes gh-1084
2020-06-10 15:56:55 +02:00
Andy Wilkinson
ca4bd57139 Remove redundant junit-vintage-engine exclusion with Boot 2.4
Spring Boot 2.4 has switched from providing JUnit 5 in the test starter
(JUnit Jupiter and the JUnit Vintage Engine) to only providing JUnit
Jupiter. As such, the exclusion of junit-vintage-engine is no longer
required for projects that are using Spring Boot 2.4.

Closes gh-1095
2020-06-05 15:25:26 +01:00
Stephane Nicoll
1bfa7f6f47 Fix registration of additional repository with SemVer versions
Closes gh-1091
2020-06-01 07:56:13 +02:00
Stephane Nicoll
01a6f92047 Upgrade to Gradle 6.4.1
Closes gh-1090
2020-06-01 07:27:31 +02:00
Stephane Nicoll
f74f281951 Polish 2020-03-28 09:33:06 +01:00
Stephane Nicoll
ddc270d940 Upgrade to Gradle 6.3
Closes gh-1075
2020-03-26 13:07:24 +01:00
Stephane Nicoll
aa6a994987 Upgrade to Gradle 6.2.2 2020-03-06 12:03:45 +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
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
8d088811f4 Upgrade to Gradle 5.6.4
Closes gh-1030
2019-11-05 16:32:01 +01:00
Stephane Nicoll
a729fae5d3 Upgrade to Spring Boot 2.2.0 2019-10-17 09:00:10 +02:00
Stephane Nicoll
2f4eeb07d6 Replace {bootVersion} in HELP.md links
Closes gh-1009
2019-09-27 12:56:19 +02:00
Stephane Nicoll
7da1db9329 Polish test utilities 2019-09-26 17:36:53 +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
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
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
3d11b9daff Upgrade to Gradle 5.6
Closes gh-986
2019-08-19 08:29:53 +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
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