Commit Graph

279 Commits (66f1344f7ce2655637c16dfd4a51f97bb2df76e9)

Author SHA1 Message Date
Spring Buildmaster 2a83e80a9b Next Development Version 8 years ago
Spring Buildmaster 5c12500366 Next Development Version 8 years ago
Spring Buildmaster a2696bf873 Next Development Version 8 years ago
Spring Buildmaster ed1ce140c0 Next Development Version 8 years ago
Andy Wilkinson f049fea00d Merge branch '1.5.x' 8 years ago
Andy Wilkinson 6b353fb005 Move spring-boot-test-support into spring-boot-tools
Closes gh-8114
8 years ago
Andy Wilkinson fe4fbf87cb Merge branch '1.5.x' 8 years ago
Andy Wilkinson 5efa6370cb Include test-support module in the prepare profile 8 years ago
Andy Wilkinson 609bda805c Revert "Try to fix the CI build"
This reverts commit 4e36a079e9.
8 years ago
Andy Wilkinson d3c13ec453 Merge branch '1.5.x' 8 years ago
Andy Wilkinson 4e36a079e9 Try to fix the CI build
The order of the modules declared in pom.xml should not make any
difference given the other relationships that exist between projects,
however the CI build is ordering the projects incorrectly.

Try changing the order of the modules to see if the CI build can be
coaxed into ordering them correctly.
8 years ago
Spring Buildmaster 9057f9ae1f Next development version 8 years ago
Stephane Nicoll 816c236e5b Merge branch '1.5.x' 8 years ago
Stephane Nicoll ee72e788ed Rename `spring-boot-junit-runners` to `spring-boot-test-support`
Closes gh-7421
8 years ago
Phillip Webb 20d7dd5747 Merge branch '1.5.x' 8 years ago
Phillip Webb 1657120286 Move ModifiedClassPathRunner to its own module
Migrate `ModifiedClassPathRunner` from `spring-boot` test source to
its own module.

Fixes gh-7420
8 years ago
Spring Buildmaster e712a9ba8c Next Development Version 8 years ago
Stephane Nicoll 4c5c3c6d1b Merge branch '1.5.x' 8 years ago
Stephane Nicoll 42adeda6a3 Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll dc067b0fc4 Update Ant sample’s spring-boot-antlib dependency during prepare
Closes gh-6978
8 years ago
Stephane Nicoll 6643ec3713 Next development version 8 years ago
Stephane Nicoll 6bd670edbc Initiate 1.4.x branch 8 years ago
Spring Buildmaster 7e9ed5e1a7 Next Development Version 8 years ago
Andy Wilkinson a96af05882 Update Shade Plugin’s spring-boot-maven-plugin dependency during prepare
See gh-6527
8 years ago
Spring Buildmaster 334baaeffd Next development version 8 years ago
Stephane Nicoll 9a98113a2c Fix gradle samples replacement regex
Closes gh-6357
8 years ago
Stephane Nicoll f9288a3af1 Revert "Polish maven repositories definition"
This commit reverts 62fa602fea

See gh-6031
9 years ago
Stephane Nicoll 62fa602fea Polish maven repositories definition
Previously, Maven repositories definition was specified in a profile that
is active by default. It means that as soon as any profile is enabled by
the user, said profile is no longer enabled. This has the nasty
consequences of having copy/paste in several places to make sure our own
profiles still have the proper repositories definition.

This commit creates a single "repositories" profile that is always active
unless a given property is explicitely specified. This allows to remove
the duplication and make things more consistent.

Some Gradle-specific repositories were also hard-coded in two modules
without any profile at all, meaning they were polluting the build of
anybody using it. While the impacted modules are gradle specific, that
repository has been shared in the new "repositories" profile as well.

Closes gh-6031
9 years ago
Andy Wilkinson 1d3b84a5c8 Update Maven plugin's version as part of the release process
Closes gh-5261
9 years ago
Phillip Webb 6d934bb270 Add spring-boot-test-autoconfigure module
Add a new test module to deal with auto-configuration in tests.

See gh-4901
9 years ago
Phillip Webb 89b7704977 Extract spring-boot-test.jar
Relocate the `org.springframework.boot.test` package from the
`spring-boot.jar` to `spring-boot-test.jar`.

Fixes gh-5184
9 years ago
Phillip Webb fbaf209240 Move master to 1.4.0.BUILD-SNAPSHOT 9 years ago
Spring Buildmaster 504d3e97ba Next development version 9 years ago
Spring Buildmaster 8db59059a5 Next Development Version 9 years ago
Spring Buildmaster 3f6f57a80e Next Development Version 9 years ago
Stephane Nicoll 3298761437 Update maven prerequisite
Closes gh-3614
9 years ago
Dave Syer 74e9e0749b Add support for Spring HATEOAS hypermedia in Actuator endpoints
If spring-hateoas is on the classpath and an MvcEndpoint returns a
@ResponseBody it will be extended and wrapped into a Resource with links.
All the existing endpoints that return sensible JSON data can be extended
this way (i.e. not /logfile). The HAL browser will also be added as an
endpoint if available on the classpath. Finally, asciidocs for the
Actuator endpoints are available as a separate jar file, which if
included in an app will also generate a new (HTTP) endpoint.

Fixes gh-1390
10 years ago
Phillip Webb 983484f429 Rename spring-boot-developer-tools -> devtools
Fixes gh-3099
10 years ago
Phillip Webb a8bf0d942b Add a `spring-boot-developer-tools` module
Add a new `spring-boot-developer-tools` module which will contain
auto-configuration to help during application development.

See gh-3082
10 years ago
Andy Wilkinson 51c49b69c5 Support bom-based dependency management in the CLI
Previously, the CLI’s dependency management used proprietary Properties
file-based metadata to configure its dependency management. Since
spring-boot-gradle-plugin’s move to using the separate dependency
management plugin the CLI was the only user of this format.

This commit updates the CLI to use Maven boms to configure its
dependency management. By default it uses the spring-boot-dependencies
bom. This configuration can be augmented and overridden using the new
@DependencyManagementBom annotation which replaces @GrabMetadata.

Closes gh-2688
Closes gh-2439
10 years ago
Phillip Webb a57a88f5cf Move master to 1.3.0.BUILD-SNAPSHOT 10 years ago
Spring Buildmaster 8f0ad02237 Next development version 10 years ago
Spring Buildmaster 60725cd8bd Next development version 10 years ago
Spring Buildmaster 1a788c1741 Next development version 10 years ago
Andy Wilkinson c8d7a6dc24 Merge branch '1.1.x' 10 years ago
Andy Wilkinson 9a491013c3 Update email addresses in pom files to use new pivotal.io domain
Closes gh-1774
10 years ago
Spring Buildmaster 3e71a21b30 Next development version 10 years ago
Spring Buildmaster edb4b7ed7d Next development version 10 years ago
Spring Buildmaster d63e4b4329 Next development version 10 years ago
Phillip Webb 7d4fbacecd Fix invoker to not download remote artifacts
Updates to prevent the maven-invoker-plugin from downloading remote
snapshot jars. Possibly caused by the recent changes to the
spring-boot-dependencies POM.

See gh-1413
10 years ago
Phillip Webb 7732135a2b Add repositories section to dependencies POM
Add a repositories section to the spring-boot-dependencies POM but
strip it out during a CI build. This allows snapshot and milestone
BOM imports to be used but doesn't pollute published POMs and doesn't
prevent a fresh checkout from building.

Fixes gh-1413
10 years ago
Phillip Webb ac98e5b5ab Polish profile ordering 10 years ago
Phillip Webb fc90b95eb0 Polish module ordering 10 years ago
Spring Buildmaster 74d0c5185a Next development version 10 years ago
Stephane Nicoll 249e09d9bc Switch master to 1.2.0.BUILD-SNAPSHOT 11 years ago
Spring Buildmaster 40327e1ae6 Next development version 11 years ago
Spring Buildmaster 981669b7c0 Next development version 11 years ago
Phillip Webb 200cd535c2 Revert "Next development version"
This reverts commit 67189477fe.
11 years ago
Spring Buildmaster 67189477fe Next development version 11 years ago
Spring Buildmaster 542f3cbda8 Next development version 11 years ago
Phillip Webb c4b22fc3d5 Attempt to fixup prepare stage for release 11 years ago
Phillip Webb af7f53d149 Attempt to fixup prepare stage for release 11 years ago
Phillip Webb 3a8a127285 Implement simpler exclusion logic for Gradle
Simplify the exclusion logic used in Gradle by implementing implicit
exclusions rather than trying to detect transitive excludes.

This commit reverts much of the code originally included to fix gh-1047
which adds far too much complexity to the build and still doesn't solve
the underlying issue.

Fixes gh-1103
11 years ago
Spring Buildmaster 4ca26a21dc Next development version 11 years ago
Spring Buildmaster 05ed7b3bcd Next development version 11 years ago
Phillip Webb 3007a777d0 Roll back to 1.1.0.BUILD-SNAPSHOT 11 years ago
Spring Buildmaster c650f2391e Next development version 11 years ago
Phillip Webb cede104702 Add spring-boot-dependencies to prepare phase 11 years ago
Phillip Webb 6a55c7af2e Add additional modules to prepare profile
Require for the initial build of a new version.
11 years ago
Maciej Walkowiak 95a6ce9e48 Spring Web Services Starter
- upgraded Spring WS to 2.2.0.RELEASE
- replaced default MVC DispatcherServlet with MessageDispatcherServlet
- migrated XML based config with nww Spring WS Java config

Fixes: gh-412
11 years ago
Phillip Webb c07dd17f93 Add starters to prepare build 11 years ago
Phillip Webb cb89995153 Add spring-boot-versions to the prepare profile 11 years ago
Phillip Webb 9391b2c594 Add parent to prepare build
Hopefully allowing us to release
11 years ago
Phillip Webb 4fd4744724 Add spring-boot-versions project
Add a new maven project containing a versions.properties file and
an effective POM. Rework existing projects to use the versions
artifacts.

Partially reverts 307fbba9e4

Fixes gh-913
11 years ago
Phillip Webb 57eec8ccaa Update boot version in other build samples
Add replace goals to update the Spring Boot version in the gradle and
ant samples during the release process.

Fixes gh-425
11 years ago
Phillip Webb af3fb7f080 Fix maven warnings
Fix maven warnings caused by missing version information on the
root POM.
11 years ago
Phillip Webb a13404c670 Fixup POM harmonization
Fix POM harmonization so that the release process now
prepares the dependencies POM rather than starter-parent
11 years ago
Phillip Webb 34b7bb20fd Add maven implicit plugin group ID
Add previously implicit <groupId>org.apache.maven.plugins</groupId>
to plugin declarations.
11 years ago
Phillip Webb 125ab9f738 Add docs to default build
Add spring-boot-docs to the default profile so that imports by default
into eclipse.
11 years ago
Phillip Webb 64a835e91a Move master to 1.1.0.BUILD-SNAPSHOT 11 years ago
Spring Buildmaster d3954a1703 Next development version 11 years ago
Spring Buildmaster a5864ebcd0 Next development version 11 years ago
Spring Buildmaster 15e9dbe98b Next development version 11 years ago
Phillip Webb 0af7f7e347 Add missing POM info 11 years ago
Phillip Webb 488b03387f Polish POM formatting 11 years ago
Phillip Webb 6f9bb233ad Revert "Next development version"
This reverts commit b67bb70ee3.
11 years ago
Spring Buildmaster b67bb70ee3 Next development version 11 years ago
Phillip Webb ac4cdd33c3 Revert "Next development version"
This reverts commit 1d0eea12eb.
Returning to 1.0.0.BUILD-SNAPSHOT for an updated release.
11 years ago
Spring Buildmaster 1d0eea12eb Next development version 11 years ago
Spring Buildmaster b0d4e8ae69 Next development version 11 years ago
Spring Buildmaster cb8668a151 Release version 1.0.0.RC4 11 years ago
Phillip Webb b69c659d8f Polish 11 years ago
Spring Buildmaster 1367d57e8c Next development version 11 years ago
Spring Buildmaster eaff1677a7 Release version 1.0.0.RC3 11 years ago
Phillip Webb 595cb6d55b Fix version-type logic to deal with RCx form 11 years ago
Phillip Webb 68293f34af Upgrade version to 1.0.0.BUILD-SNAPSHOT
Fixes fg-243
11 years ago
Phillip Webb 18cecd077d Move CLI integration tests into spring-boot-cli
Use `maven-failsafe-plugin` to run CLI integration tests as part of
the `spring-boot-cli` project, removing the need for
`spring-boot-cli-integration-tests`.
11 years ago
Andy Wilkinson f418a07ba7 Add basic integration tests for the CLI
Add integration tests for the CLI that invoke it as a user would, i.e.
via the shell script in the package's bin directory.
11 years ago
Andy Wilkinson 895daacde9 Roll spring-boot-maven-settings into the CLI 11 years ago
Andy Wilkinson a58e4cbb1f Add support for configuring Aether via settings.xml
Previously, Aether's configuration was largely hard-coded making it
impossible to configure a mirror, provide credentials for accessing
a repository, etc.

This commit adds support for configuring Aether via Maven's
settings.xml file. The support is optional and must be enabled by
grabbing spring-boot-maven-settings in an init script. The Aether
instance that's used when running the application will then be
configured using settings.xml. The settings file is expected to be
found in ${user.home}/.m2/settings.xml.

The configuration of the following items is currently supported:

 - Offline
 - Proxies
 - Mirrors
 - Server authentication
 - Local repository location

If the support is not enabled, settings.xml does not exist, or
settings.xml does not configure certain things then sensible defaults
are applied.
11 years ago
Dave Syer 8cb0211dce Add "integration" profile in Maven build
By default it is on, but you can switch it
off (`-P '!integration'`) to ignore integration tests
and get a faster build.

.travis.yml uses this feature so that it doesn't keep
failing on a timeout.
11 years ago
Phillip Webb b19f6bb238 Isolate class loading for launched CLI apps
Rework classloading for launched applications so that CLI classes and
dependencies are not visible. This change allows many of the previous
hacks and workarounds to be removed.

With the exception of the 'org.springframework.boot.groovy' package
and 'groovy-all' all user required depndencies are now pulled in
via @Grab annotations.

The updated classloading algorithm has enabled the following changes:

- AetherGrapeEngine is now back in the cli project and the
  spring-boot-cli-grape project has been removed. The AetherGrapeEngine
  has also been simplified.

- The TestCommand now launches a TestRunner (similar in design to the
  SpringApplicationRunner) and report test failures directly using
  the junit TextListener. Adding custom 'testers' source to the users
  project is no longer required. The previous 'double compile' for
  tests has also been removed.

- Utility classes have been removed in favor of using versions from
  spring-core.

- The CLI jar is now packaged using the 'boot-loader' rather than using
  the maven shade plugin.

This commit also applied minor polish refactoring to a number of
classes.
11 years ago
Andy Wilkinson c0ae78f3ec Isolate Aether in a separate class loader
Prior to this commit, the Aether-based GrapeEngine was loaded in the
same class loader as the rest of Boot. This led to Aether's and its
dependencies' types polluting the application's class path. Most
notably, this caused problems with logging as the logging framework
could be permaturely initialized.

This commit isolates AetherGrapeEngine, Aether and its dependencies
into a separate class loader. This is done by customizing the
packaging of the CLI's jar file with the internal directory housing
all of the types that will be loaded by the separate class loader.
11 years ago
Dave Syer a72ab9eb7d Refactor cli properties into single project 11 years ago
Andy Wilkinson c1ec5e5c0e Support @Grab without a version or group
Usually, use of @Grab requires you to specify a group, module, and
version when identifying a dependency. This can be done in two
different ways:

@Grab(group='alpha', module='bravo', version='1.0.0')
@Grab('alpha:bravo:1.0.0')

This commit allows users to only specify a module: the group is
inferred and the version is the one dictated by the boot CLI. Both
forms are supported:

@Grab(module='bravo')
@Grab('bravo')

Groovy's global AST transformations, which is how Grab is implemented,
do not support ordering and we need to augment the AST for the Grab
annotation before its processed by the Grab AST transformation. To
work around this, reflection is used to get hold of the compile
operations in the conversion phase, and a new AST transformation is
inserted immediately before the first AST transformation operation.

To allow a module's groupId and version to be resolved consistently,
META-INF/springcli.properties has been enhanced to include properties
for each module that we want to support in the following form:

<module>.groudId = <groudId>
<module>.version = <version>

<groupId> and <version> are taken from the Maven project's
dependencies and VPP, a Velocity-based pre-processor, is used to
automatically generate the enhanced properties file.

To prevent pollution of spring-boot-cli's class path with the
dependencies that are only required to populate springcli.properties,
a separate project, spring-boot-cli-properties, has been created.
spring-boot-cli depends upon this now project causing it to, via the
shade plug, include the properties file in its jar.

Previously DependencyCustomizer allow a dependency to be added by
specifying its full coordinates, i.e. a group ID, artifact ID, and
version. This commit updates DependencyCustomizer to only require
an artifact/module ID. The group ID and version are then resolved
using the same mechanism as the enhanced @Grab support.

[#56328644] [bs-312] Allow @Grab without version
11 years ago
Phillip Webb a33425920b Rework POMs to support automated CI release 11 years ago
Dave Syer 38e565e920 Back to SNAPSHOT for dev 11 years ago
Dave Syer b634b3bde6 Update to 0.5.0.M2 11 years ago
Phillip Webb a08aac6fa5 Travis CI tweaks 11 years ago
Dave Syer 6e8cbbde3b Use reflection hack for error page in Tocmat 8 11 years ago
Sergey Shcherbakov b4542f722f Support for embedded Tomcat 8 container parallel to the current Tomcat 7 11 years ago
Phillip Webb 1db22aca5c Rework POM structure
Rework main build POM to be an aggregator pom that does not inherit
from any parent. Introduce new spring-boot-dependencies module to
act as a parent for both spring-boot-starter-parent and
spring-boot-parent.
11 years ago
Dave Syer 27ebb52196 Add back dev profile 11 years ago
Dave Syer 859e6c2ea8 Add spring-test to parents for samples 11 years ago
Dave Syer 4bb5de02e7 Switch back to SNAPSHOT for dev 11 years ago
Dave Syer 638a31f5e3 Fix poms for a milestone release 11 years ago
Dave Syer 19a880dff6 Move tools modules under spring-boot-tools 11 years ago
Dave Syer 68e5a7e887 Bump version to 0.5.0.M1 11 years ago
Phillip Webb 57f62a5a20 Remove samples from main POM 11 years ago
Phillip Webb bd5e49fc84 Revert "Remove integration tests project"
Turns out the maven-plugin still causes issues.

This reverts commit 1ccdf2f6cf.
11 years ago
Phillip Webb 1ccdf2f6cf Remove integration tests project
Remove no longer required integration tests project. Samples can
now be called as part of the build since the maven plugin is no
longer an extension.
11 years ago
Dave Syer 92ff433dd0 Add samples to pom so they are part of reactor
(Might remove this later but getting ready for a release)
11 years ago
Dave Syer 5995b7727a Ops -> Actuator 11 years ago
Phillip Webb 3bb79db579 Renamed spring-boot-ups -> spring-boot-starter 11 years ago
Phillip Webb 2752177fba Add spring-boot-gradle-plugin
Develop gradle plugin that can repackage JAR/WAR archives so that
they can be launched using 'java -jar'

Issue: #53129653
11 years ago
Phillip Webb 5e4238f38a Create spring-loader-tools project
Create spring-loader-tools containing utilities that can be used
with both Maven and Gradle plugings.

Refactored existing Maven plugin to use the new project.

Issue: #53129653
11 years ago
Phillip Webb b665a2bb1d Renamed packages
Issue: #54095231
11 years ago
Phillip Webb 3f2bb03fb8 Renamed some projects and polish POMs
Issue: #54095231
11 years ago
Dave Syer 2098e23fca Change package names zero->boot
* actuator -> boot-ops
* cli -> boot-cli
* launcher -> boot-load
* autoconfig -> boot-config
* bootstrap -> boot-strap
* starters -> boot-up

[#54095231] [bs-253] Refactor Zero->Boot
11 years ago
Dave Syer 683ddbf525 Add Reactor autoconfiguration
* Make Rector @Autowirable
* Create a ConsumerBeanPostProcessor so users can add
@On and @Reply to bean methods
* Added groovy auto compiler and script sample

[#53955419] [bs-250]
11 years ago
Dave Syer d639763bd7 Another attempt at making the ui sample work 11 years ago
Phillip Webb 1eca022073 Add JSP-API to tomcat starter
Add JSP API jar dependency to tomcat starter. Primarily to prevent
log warnings.
11 years ago
Dave Syer fff2a804bc Add springcli.properties for version labels
[Fixes #53030591] [bs-191] Use filtering in maven build
11 years ago
Dave Syer 6fd6afc7a3 Upgrade Spring Security to 3.2.0
Existing users should update their dependencies to
spring-security-config instead of *-javaconfig.

[Fixes #53472823] [bs-234]
12 years ago
Dave Syer 789e75d2e5 [bs-170] Out of the box support for thymeleaf security dialect
[Fixes #52121649]
12 years ago
Phillip Webb dc1b787a01 Support color log output
Rework logback formatting to include ansi color output. Also added
support for JUL over SLF4J to ensure that tomcat logging looks OK.

Issue: #53249833
12 years ago
Phillip Webb 8f62222419 Generate default manifest for all projects 12 years ago
Phillip Webb d8d8b7643b Upgrade various dependency versions 12 years ago
Dave Syer 36cbb39dec [bs-194] Restore udev in maven
Also tidy up some TODOs

[Fixes #53030439]
12 years ago
Dave Syer d260fa6456 [bs-173] Upgrade Thymeleaf layout dialect
[Fixes #52629385]
12 years ago
Dave Syer 5b78ebe6e3 Add plugin repos to bootstrap profile 12 years ago
Dave Syer 30802e542f Fix intergration tests spelling 12 years ago
Phillip Webb cd51f357a3 Further maven module restructure 12 years ago
Phillip Webb 346a0bace7 Minor pom tweaks
Fix warnings and include sonar support.
12 years ago
Phillip Webb 40bf334871 Restructure projects layout 12 years ago
Phillip Webb 56bfa30b2c Add setup profile
Add a setup profile allowing the maven plugin to be build alone.
Required to prevent 'unresolveable build extension' errors on a
fresh checkout.

Issue: #52091115
12 years ago
Phillip Webb 19b392bb3d Develop bootstrap maven plugin
Develop a maven plugin that can be used to package executable jar/war
archives. The plugin is intended to be used as a drop-in replacement
for the standard maven-jar-plugin. To use the plugin declare it with
<extensions>true</extensions> then set the project type to
'executable-jar' or 'executable-war'.

Configuration options for 'executable-war' generation are intentionally
much more limited then the standard maven-war-plugin (for example
overlays are not supported). It is anticipated that builds requiring
complex configuration will continue to use the standard plugin in
combination with a custom assembly.

Issue: #52091115
12 years ago
Dave Syer 1f17ac3e34 Add some security managed dependencies 12 years ago
Phillip Webb 7d7dc5107d Use Spring 4.0 snapshot 12 years ago
Phillip Webb ced99ff18c Polish pom.xml
Polish pom.xml formatting and pull version numbers into parent pom
when possible.
12 years ago