Commit Graph

1571 Commits

Author SHA1 Message Date
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
Leonardo Ramos
df62424c0e Add support for Maven resources
See gh-967
2019-08-23 13:58:11 +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
79170178ff Add missing artifact in bom
See gh-981
2019-08-21 10:59:52 +02:00
Stephane Nicoll
19ed484dc3 Add SourceCodeStructure abstraction
Closes gh-987
2019-08-19 19:09:26 +02:00
Stephane Nicoll
3d11b9daff Upgrade to Gradle 5.6
Closes gh-986
2019-08-19 08:29:53 +02:00
Stephane Nicoll
c3c20b84f9 Polish 2019-08-18 18:25:45 +02:00
Stephane Nicoll
d2a5897550 Add JUnit5 checkstyle rule 2019-08-18 14:42:53 +02:00
Stephane Nicoll
96cb299f5b Remove dependency on Spring Boot auto-configure module 2019-08-18 14:39:29 +02:00
Stephane Nicoll
a4ec276f57 Upgrade to JUnit Jupiter 5.5.1 2019-08-18 14:38:12 +02:00
Stephane Nicoll
976f290144 Harmonize logging test configuration 2019-08-18 14:35:51 +02:00
Stephane Nicoll
cd59699644 Polish 2019-08-18 14:11:31 +02:00
Stephane Nicoll
ece903e754 Add nohttp checks 2019-08-18 14:07:49 +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
11914b0630 Move formatting and checkstyle to root pom 2019-08-18 08:55:40 +02:00
Stephane Nicoll
82e637e861 Polish 2019-08-18 08:46:20 +02:00
Stephane Nicoll
14efb35afe Add note about BOM 2019-08-18 08:44:29 +02:00
Stephane Nicoll
1a67198ccb Merge pull request #984 from htztomic
* pr/984:
  Add empty line when content is wrapped

Closes gh-984
2019-08-17 17:28:28 +02:00
HaiTao Zhang
76e6271e8e Add empty line when content is wrapped
See gh-984
2019-08-17 17:28:04 +02:00
Stephane Nicoll
ff6e26463b Add Bill Of Materials
Closes gh-981
2019-08-15 07:53:46 +02:00
Stephane Nicoll
4976ba57de Fix javadoc configuration
This commit makes sure that the `initializr-metadata` module is included
and doc-related examples are not.

Closes gh-982
2019-08-14 15:25:37 +02:00
Stephane Nicoll
9520100703 Add missing package-info.java files
Closes gh-886
2019-08-14 15:19:06 +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
55f0a4ad24 Merge pull request #978 from htztomic
* pr/978:
  Polish "Add support for removing build plugins"
  Add support for removing build plugins

Closes gh-978
2019-08-13 20:59:29 +02: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
f33a661074 Be more defensive when extracting filename from URI
Closes gh-827
2019-08-12 13:52:34 +02:00