Commit Graph

25 Commits

Author SHA1 Message Date
Stephane Nicoll
e96968d2af Remove explicit references to Java versions in the generator
Closes gh-543
2017-11-16 14:42:27 +01:00
Stephane Nicoll
c33b1df90c Add support for Kotlin's runApplication
Spring Boot 2.0.0.M6 offers a better integration with Kotlin. A
top-level `runApplication` function can be used to start the app and
additional dependency and plugin management are provided.

This commit simplifies the way a Kotlin-based project is generated when
running with a compatible version

Closes gh-534
2017-10-27 14:18:05 +02:00
Stephane Nicoll
dc69a352e9 Add group to generated gradle projects
Closes gh-478
2017-09-15 13:12:11 +02:00
Stephane Nicoll
fae8769748 Improve support for version token
This commit fixes the use of version token with Gradle. The standard
format with maven is "foo-bar.version" while Gradle uses
"fooBarVersion". The former format does not work with Gradle as it
attempts to interpret "-" as an operation.

A `VersionProperty` now defines a standard structure for the property
and allow to derive a camel cased version. That way, Maven still uses
the standard format while Gradle generates a consistent "fooBarVersion"
property.

Closes gh-396
2017-04-23 12:01:03 +02:00
Andy Wilkinson
c6f502cb9c Apply the dependency management plugin in Boot 2.0 Gradle projects
Closes gh-398
2017-03-31 14:04:08 +02:00
Sebastien Deleuze
6e7ff7fb58 Upgrade to Kotlin 1.1.1
This commit also enables Java 8 bytecode and uses kotlin-stdlib-jre7 or
kotlin-stdlib-jre8 dependencies when possible.

Closes gh-377
2017-03-15 16:02:30 +01:00
Stephane Nicoll
c6194d2357 Avoid overriding baseName for jar/war task
Closes gh-381
2017-03-15 14:19:11 +01:00
Dave Syer
fffcd8a774 Move generator templates to Mustache 2017-02-25 09:31:03 +01:00
Dave Syer
ac20d04985 Migrate initializr-generator to Java 2017-02-25 09:31:03 +01:00
Sebastien Deleuze
d703f13601 Add kotlin-reflect dependency for Kotlin projects
Closes gh-361
2017-01-31 13:56:28 +01:00
Stephane Nicoll
330cb13c64 Add support for BOM ordering
This commit adds an `order` attribute on `BillOfMaterials` that allows to
order BOMs in the generated project. Lowest value have higher priority.

When the project is generatede with a custom parent, the Spring Boot
dependencies BOM itself has an order of a 100. Any BOM that is added with
an order lower than 100 has higher priority, i.e. could potentially
override dependencies provided by the Spring Boot dependency mechanism.

This mechanism does not work reliably when using the
`spring-boot-starter-parent` so it should be used with care. However, it
can be useful when overriding dependencies that Spring Boot does not
manage itself.

Closes gh-343
2017-01-17 19:18:52 +01:00
Kamil Szymanski
36c7d30f4b Remove redundant targetCompatibility from gradle buildscript
See gh-330
2017-01-03 14:55:12 +01:00
Stephane Nicoll
5149d0c965 Remove unecessary newline 2016-12-28 13:44:53 +01:00
Sebastien Deleuze
e6cf9cf658 Upgrade to Kotlin 1.0.6 with kotlin-spring plugin
The kotlin-spring plugin automatically opens classes annotated or
meta-annotated with annotations like @Component or @Transactional.

Closes gh-333
2016-12-28 13:41:01 +01:00
Stephane Nicoll
079f46f51c Support for compileOnly scope
start.spring.io exposes an annotation processor (Lombok) that's quite
popular but is exposed as a compile/transitive dependency. This commit
introduces a `compileOnly` scope that maps to Gradle's `compileOnly`
scope and Maven's `optional` flag.

There is a case to support optional dependencies in general but
unfortunately, Gradle doesn't have support for such feature.

Closes gh-128
2016-11-04 11:38:15 +01:00
Stephane Nicoll
91c9ad384b Use new gradle plugin ID as of Spring Boot 1.4.2
Closes gh-296
2016-10-07 15:59:02 +02:00
Stephane Nicoll
0d167411a8 Remove Eclipse workaround
Closes gh-275
2016-08-30 16:15:38 +02:00
Stephane Nicoll
fb7b8eb5cb Associate property to bom version
This commit allows to specify a property for the version of a BOM. If
that value is defined, a version property is automatically added to the
build to allow to easily configure the value.

Closes gh-181
2016-07-20 13:54:31 +02:00
Stephane Nicoll
d9c65a5a07 Add support for configurable properties
This commit introduces a `buildProperties` property on the request that
can be used to specify Gradle/Maven build-specific properties as well as
an arbitrary number of version overrides.

Instead of hard-coding some properties in the templates, these defaults
are now inherited from the request itself.

Closes gh-259
2016-07-20 13:42:57 +02:00
Stephane Nicoll
6099a1c6bc Externalize dependency management plugin version
Closes gh-253
2016-07-12 14:29:58 +02:00
Brian Devins
70c05ba246 Add dependency type attribute
See gh-226
2016-07-06 10:03:14 +02:00
Stephane Nicoll
6d8e57aaf0 Upgrade to dependency-management-plugin 0.6.0.RELEASE
Closes gh-242
2016-07-01 09:49:24 +02:00
Vedran Pavic
1dd264dd66 Remove explicit Gradle wrapper task
Closes gh-222
2016-05-01 08:28:53 +02:00
Stephane Nicoll
faba863db3 Fix template glitch
The project structure change has introduced some glitch that broke most
of the template.
2016-04-08 14:28:14 +02:00
Stephane Nicoll
542ee7d91b Modularize project structure
This commit splits the feature of Spring Initializr in several modules:

* `initializr-generator` is a standalone library that is responsible for
generating projects based on a `File` directory. It has a minimal set of
dependencies and is not web-related
* `initializr-web` provides the web integration (project generation,
meta-data, etc)
* `initializr-actuator` is an optional module that can be added to
support project-generation-specific statistics

Closes gh-214
2016-04-08 12:01:38 +02:00