Commit Graph

266 Commits (db0c41851ba3bccd324f11f4fbe550e7fe4db7f7)

Author SHA1 Message Date
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
Phillip Webb 57bed2e5f6 Use fully qualified checkstyle class names
Update `checkstyle.xml` to use fully qualified class names. This reduces
the number of warning log messages when running `mvn -X` and should also
be slightly faster.
9 years ago
Andy Wilkinson ce68fdf515 Merge branch '1.3.x' 9 years ago
Andy Wilkinson 1037239efc Upgrade to Dependency Management Plugin 0.5.7.RELEASE
Closes gh-6105
9 years ago
Phillip Webb e664d585d9 Allow MockRest static imports
Update checkstyle rules to allow static imports from
MockRestRequestMatchers and MockRestResponseCreators.
9 years ago
Andy Wilkinson de0bcaa50e Update WebMvcTest to auto-configure supported template engines
Closes gh-5801
9 years ago
Spring Buildmaster 819a9574a6 Next Development Version 9 years ago
Spring Buildmaster 376bbe68d8 Next Development Version 9 years ago
Ruben Dijkstra 9a1db18172 Upgrade animal sniffer Java signature
Closes gh-5684
9 years ago
Andy Wilkinson eb3180d581 Provide test auto-configuration for Spring REST Docs
This commit introduces a new annotation, @AutoConfigureRestDocs,
which can be used to enable auto-configuration of Spring REST Docs.
The auto-configuration removes the need to use Spring REST Docs' JUnit
rule and will automatically configure MockMvc. Combined with the new
auto-configuration for MockMvc it allows a test class to be free of
boilerplate configuration:

@RunWith(SpringRunner.class)
@WebMvcTest
@AutoConfigureRestDocs(outputDir = "target/generated-snippets",
        uriScheme = "https", uriHost = "api.example.com",
        uriPort = 443)
public class ExampleDocumentationTests {

    @Autowired
    private MockMvc mvc;

    @Test
    public void documentIndex() {
        // …
    }

}

For more advanced customization a RestDocsMockMvcConfigurationCustomizer
bean can be used.

If a RestDocumentationResultHandler is found in the context, it will
be passed to the ConfigurableMockMvcBuilder's alwaysDo method as part
of its customization.

Closes gh-5563
9 years ago
Andy Wilkinson 33f0ea3480 Rework SpringApplicationTest to support web modes
Rework the new testing support so that @SpringApplicationTest can be
used for standard integration tests, web integration tests with a
mock Servlet environment and web integration tests with an embedded
servlet container. This means that it a replacement for 1.3's
@IntegrationTest and @WebIntegrationTest and allows all
SpringApplication testing to be configured using a common annotation.

The old @IntegrationTest and @WebIntegrationTest along with their
supporting classes have been reinstated to their previous form (while
remaining deprecated). This should ensure that they continue to work
in 1.4 exactly as they did in 1.3 giving users a smooth path to
@SpringApplicationTest.

See gh-5477
9 years ago
Phillip Webb 893a6c32f3 Upgrade to checkstyle 6.17
Fixes gh-5547
9 years ago
Andy Wilkinson 779649bfdb Merge branch '1.3.x' 9 years ago
Andy Wilkinson bb473c32e2 Enable Animal Sniffer checking of spring-boot-loader-tools
Previously, Animal Sniffer checking of spring-boot-loader-tools
was disabled as it failed with an NPE. This has been fixed in
Animal Sniffer 1.15.

This commit upgrades Animal Sniffer to 1.15 and adds the necessary
annotations to suppress failures for safe usage of sun.* and Java 7
APIs.

Note that UsesUnsafeJava has been copied from spring-boot and made
package-private. This retains the clearer intent of the custom
annotation (versus @IgnoreJRERequirement) while avoiding the change
in the build order that would be necessary for
spring-boot-loader-tools to use the annotation from spring-boot.

Closes gh-5284
9 years ago
Spring Buildmaster 225d877ab9 Next Development Version 9 years ago
Andy Wilkinson 2429e1a7e8 Merge branch '1.3.x' 9 years ago
Andy Wilkinson 718f509271 Upgrade to Dependency Management Plugin 0.5.6.RELEASE
Closes gh-5211
9 years ago
Phillip Webb cc5d4b8b7f Add AssertJ checkstyle rule
Closes gh-5083
9 years ago
Phillip Webb 8b4d801dd6 Add support for AssertJ
Add AssertJ as a managed dependency and also include it in
spring-boot-starter-test. Also provide a simple adapter class to allow
Hamcrest matchers to be used as AssertJ Conditions.

Fixes gh-5048
9 years ago
Stephane Nicoll fb0664902f Add dependency management for lombok
Closes gh-4598
9 years ago
Stephane Nicoll bead239448 Remove support for Log4j
Apache Log4j 1.x is EOL and has now been replaced by log4j 2. This commit
removes the deprecated support for Log4j 1.x

See gh-4905
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
Andy Wilkinson d1b47c8a8f Add integration tests for default launch script
This commit adds a suit of integration tests for the launch script. See
the accompanying README.adoc for further details.

Closes gh-4872
9 years ago
Andy Wilkinson 2aff82bb64 Merge branch '1.2.x' 9 years ago
Spring Buildmaster 8db59059a5 Next Development Version 9 years ago
Stephane Nicoll bb736e255b Fix SNAPSHOT version 9 years ago
Matt Benson ea7a758901 Upgrade to maven-invoker-plugin 1.10
Closes gh-4760
9 years ago
Andy Wilkinson 17c4fa9d81 Upgrade to Gradle Dependency Management Plugin 0.5.4.RELEASE
Closes gh-4538
9 years ago
Ruben Dijkstra 02830989be Configure Checkstyle line separator so it does not use system default
In its default configuration, Checkstyle would fail on Windows as it
would expect CRLF, the system default line separator.

Closes gh-4666
9 years ago
Spring Buildmaster 3f6f57a80e Next Development Version 9 years ago
Phillip Webb edd3f1eade Revert spring-security-oauth upgrade
It doesn't appear to be in Maven Central and it's breaking the eclipse
setup.
9 years ago
Dave Syer 02523799aa Add release repo to default profile 9 years ago
Phillip Webb cf68f83ef6 Update checkstyle import order rules
See gh-4234
9 years ago
Spring Buildmaster 2b38a861e3 Next Development Version 9 years ago
Phillip Webb 822820f256 Revert "Relax `ParenPad` checkstyle rule"
The updated formatter means that we can reinstate the rule.

This reverts commit 82fffe3062.
9 years ago
Phillip Webb 2a16c25977 Replace import-control checkstyle file with regex
Fix Eclipse build warnings by replacing checkstyle's import-control file
with a simple regex rule.

Fixes gh-4006
9 years ago
Phillip Webb 82fffe3062 Relax `ParenPad` checkstyle rule
Eclipse Mars has a formatter bug (#479291) that sometimes adds
additional whitespace on annotations. Until it's fixed we need to relax
the `ParenPad` checkstyle rule.
9 years ago
Phillip Webb 47576354f7 Merge branch '1.2.x' 9 years ago
Phillip Webb cb6e30c8f5 Ignore helpmojo from Eclipse m2e config
Ignore the `helpmojo` goal to save needing an additional Eclipse plugin.
9 years ago
Andy Wilkinson a5ca1eb019 Move dependency management for Spring REST Docs into dependencies pom 9 years ago
Andy Wilkinson e9349ee53f Suppress warning from M2E by explicitly ignoring invoker plugin 9 years ago
Andy Wilkinson 1be4394855 Add lifecycle mapping for checkstyle plugin to keep Eclipse happy 9 years ago
Spring Buildmaster 9409c49c10 Next development version 9 years ago
Stephane Nicoll 002d3bd85d Add fast profile
Checkstyle and animal sniffer takes a significant amount of time when
building the project.

Add a "fast" profile that flips the `disable.checks` property. Can be
enabled either via `-Pfast` or `-Ddisable.checks=true`.

See gh-3928
9 years ago
Stephane Nicoll e70f02c4a2 Relocate checkstyle configuration
See gh-3928
9 years ago
Phillip Webb 43528abe1e Try to get cargo working 9 years ago
Phillip Webb c813060f18 Add checkstyle to build
Fixes gh-3928
9 years ago
Andy Wilkinson b31e578489 Upgrade to Spring REST Docs 1.0.0.RC1 9 years ago
Stephane Nicoll 1a71eb1f3b Move spring-restdocs version to dependency management
Closes gh-3905
9 years ago
Phillip Webb 85bb347fba Add eclipse specific profile to set execution env
Update the parent POM to include a new profile which is automatically
enabled by eclipse.

The profile duplicates `default` and also set the compiler version to
1.8. This means that M2E sets the execution environment to `JavaSE-1.8`
but the command line build still compiles 1.6 compatible code.

Fixes gh-3618
9 years ago
Stephane Nicoll 19fe86169f Upgrade maven-enforcer-plugin to 1.4
Closes gh-3661
9 years ago
Stephane Nicoll 3298761437 Update maven prerequisite
Closes gh-3614
9 years ago
Huang YunKun e142c063b5 Remove pre Java8 option 'MaxPermSize'
Closes gh-3487
9 years ago
Andy Wilkinson 4ad23166ea Use a Java 7-compatible version of org.json:json and remove duplicate
Closes gh-3412
10 years ago
Spring Buildmaster 7ce391db4f Next development version 10 years ago
Andy Wilkinson b3b648f050 Upgrade dependency management plugin for compatibility with Gradle 2.5
Closes gh-3334
10 years ago
Dave Syer d1e6c3b5c0 All JDK 1.8 as a lower limit 10 years ago
Phillip Webb 6b92160295 Enforce Java 8 for compiling 10 years ago
Spring Buildmaster 5d81c87b43 Next Development Version 10 years ago
Phillip Webb b41f852338 Add @UsesUnsafeJava annotation
Add a new annotation to indicate to Animal Sniffer that a method uses
a call to `Unsafe`.

Closes gh-3080
10 years ago
Andy Wilkinson 3c484f8c15 Upgrade to dependency-management-plugin 0.5.1.RELEASE
Closes gh-2935
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
Andy Wilkinson 73e7f1eec0 Merge branch '1.2.x' 10 years ago
Xiang Li 71ce0f6c95 Remove duplicate json.version property from spring-boot-parent pom.xml
Closes gh-2854
10 years ago
Andy Wilkinson dcd0eb7895 Update to Dependency Management Plugin 0.5.0.RELEASE
Closes gh-2822
10 years ago
Stephane Nicoll bbbb34a690 Expose cache statistics as metrics
Add an abstraction that provides a standard manner to retrieve a
statistics snapshot of a cache.

Specific implementations for JSR-107, ehcache, hazelcast, guava and
concurrent map are provided. At the moment the size of the cache and
the hit/miss ratios are recorded. Cache metrics are exposed via the
`cache.` prefix followed by the name of the cache. In case of conflict,
the name of the cache manager is added as a qualifier.

It is possible to easily register a new CacheStatisticsProvider for an
unsupported cache system and the CacheStatistics object itself can be
extended to provide additional metrics.

See gh-2633
Closes gh-2770
10 years ago
Phillip Webb 8143d1f36d Apply animal sniffer to entire build
Move animal sniffer configuration out of spring-boot-dependencies to
spring-boot-parent and apply it to all projects.

See gh-716
10 years ago
Spring Buildmaster e03c11dda8 Next development version 10 years ago
Stephane Nicoll 80194bd0e3 Upgrade to maven-archiver 2.6
Closes gh-2376
10 years ago
Andy Wilkinson 2c3c62d71c Replace basic Gradle dependency management with use of separate plugin
This commit replaces Spring Boot's basic dependency management support
with separate dependency management plugin. This has a number of
benefits including:

1. A Maven bom can be used rather than a custom properties file
2. Dependency management is applied transitively rather than only to
   direct dependencies
3. Exclusions are applied as they would be in Maven
4. Gradle-generated poms are automatically configured with the
   appropriate dependency management

Closes gh-2133
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
Phillip Webb 4b9cb6afee Revert "Disable javadoc linting when building with JDK 8+"
This reverts commit 78432fc745.
10 years ago
Andy Wilkinson 78432fc745 Disable javadoc linting when building with JDK 8+
Java 8 introduced new, aggressive linting of javadoc that’s enabled by
default. The linter isn’t sufficiently configurable to allow us to tune
it to meet the project’s conventions for javadoc so our only realistic
option is to disable linting.

This commit introduces a new profile to disable javadoc linting. To
maintain compatibility with JDK 7, the profile is only active when the
build’s running on JDK 8 or later.

Closes gh-2233
10 years ago
Spring Buildmaster 60725cd8bd Next development version 10 years ago
Stephane Nicoll 77427f53cc Support of Lombok annotated ConfigurationProperties
Previously, no configuration properties were discovered on a class using
lombok instead of regular getters/setters.

This commit adds a support for some of the lombok annotations,
specifically that is @Data, @Getter and @Setter. Provides the same
semantic as what lombok is generating.

Closes gh-2114
10 years ago
Spring Buildmaster 1a788c1741 Next development version 10 years ago
Phillip Webb 90e9187b80 Polish deployment tests 10 years ago
Phillip Webb 44dde9fc12 Add deployment integration tests
Add deployment tests for Tomcat, TomEE and WildFly to ensure that
a basic Spring Boot application can be deployed to a traditional
Application server.

Since the deployment tests can be quite slow, they currently only
run in the "full" build profile.

Fixes gh-1736
10 years ago
Phillip Webb 4fa8a94dd4 Update to latest Maven plugins
Fixes gh-1899
10 years ago
Stephane Nicoll 884c058e57 Add processor to generate configuration meta-data
Adds an annotation processor to generates a JSON meta-data file at
compile time from @ConfigurationProperties items. Each meta-data file
can include an array or 'properties' and 'groups'.

A 'property' is a single item that may appear in a Spring Boot
'application.properties' file with a given value. For example,
'server.port' and 'server.context-path' are properties. Each property
may optionally include 'type' and 'description' attributes to provide
the data type (e.g. `java.lang.Integer`, `java.lang.String`) and
some short documentation (taken from the field javadoc) about what the
property is for. For consistency, the type of a primitive is translated
to its wrapper counterpart, i.e. `boolean` becomes `java.lang.Boolean`.

A 'group' provides a higher level grouping of properties. For example
the 'server.port' and 'server.context-path' properties are in the
'server' group.

Both 'property' and 'group' items may additional have 'sourceType' and
'sourceMethod' attributes to indicate the source that contributed them.

Users may use `META-INF/additional-spring-configuration-metadata.json`
to manually provide additionally meta-data that is not covered by
@ConfigurationProperties objects. The contents of this file will be
read and merged with harvested items. The complete meta-data file is
finally written to `META-INF/spring-configuration-metadata.json`.

See gh-1001
10 years ago
Phillip Webb 830ce80824 Polish CLI init command
Rename a few classes and methods and extract some logic into helper
classes. Also change 2 char shortcuts to a single char.

Closes gh-1751
10 years ago
Phillip Webb 1a61ffd7d1 Update maven-invoker-plugin to 1.9 10 years ago
Phillip Webb e6e0cf094b Move more repositories to generated settings.xml 10 years ago
Phillip Webb a1f1ab7a50 Upgrade maven-plugin-plugin to 3.3 10 years ago
Phillip Webb 80ee963cc5 Merge branch '1.1.x' 10 years ago
Phillip Webb ccda6f63d9 Attempt to fix failing build 10 years ago
Phillip Webb e237dbeec5 Move repositories out of parent POM
Move repository declarations out of the parent POM and into setting.xml
(except for the default profile). Also added jboss repository in an
attempt to fix the failing CI release.

Fixed gh-1349
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
Phillip Webb 6fd244c28b Move m2e ignore configuration to parent POM 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
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 77d5453af2 Add gmavenplus-plugin to parent POM 11 years ago
Phillip Webb 84da33f176 Add more enforcer rules 11 years ago
Phillip Webb bdcb9407eb Restore commons-logging dependency for spring-boot
Restore the dependency on commons-logging (transitively via spring-core)
for spring-boot. This means that we are not tied directly to SLF4J, but
it is still an option that can be used via `jcl-over-slf4j`.

The `spring-boot-starter-parent` continues to replace `commons-logging`
with `jcl-over-slf4j`.

Fixes gh-981
11 years ago
Andy Wilkinson 7a8be3d600 Use Spring Framework bom and fully exclude commons-logging
Closes #955
Closes #978
11 years ago
Andy Wilkinson 209acd9226 Merge branch '1.0.x' 11 years ago
Andy Wilkinson 7d6438ad9b Upgrade to Aether 0.9.1 11 years ago
Dave Syer 344fb4616d Add sources jar to default built 11 years ago
Phillip Webb 1c5ebc72c5 Revert "Fix dependency management failure"
This reverts commit 1ef3d3bda9.
11 years ago
Stephane Nicoll 1ef3d3bda9 Fix dependency management failure
All dependencies have recently moved to the spring-boot-dependencies
POM but that POM does not contain the repositories that are required to
download milestone artifacts.

This commit moves the default profile that is active by default at the
right place in the hierarchy so that it is applied there as well.
11 years ago
Stephane Nicoll 15501eaafb Exclude support in the maven plugin
This commit provides several options to exclude one or more
dependencies:

* excludes allows to specify an arbitrary number of exclude sub
  element defining the groupId and artifactId of the dependency
  to exclude
* excludedGroupIds defines the comma separated list of groupIds
  to exclude
* excludeArtifactIds defines the comma separated list of artifactIds
  to exclude

While any artifact can be excluded, this is designed to exclude
provided-scoped dependencies that should not be bundled in the
executable jar/war.

The outcome of java -jar myapp.jar should be consistent with the run
goal: these exclusions are therefore applied to the classpath that
the run goal computes to launch the application.

This commit also adds some integration tests and updates the
plugin's documentation

Fixes gh-649, gh-650 and gh-674
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
Stephane Nicoll 888703cf26 Add maven plugin documentation
This commit adds the generated site for the maven plugin alongside
the developer guide and javadoc. The maven plugin is available in
the "/maven-plugin" context.

The advanced information described in the developer guide have
been migrated to the plugin site as most the information is taken
from the code itself, which avoids duplication.

Fixes #749
11 years ago
John Blum 34cbe1e60b Created a Spring Data GemFire Starter POM
... as well as a Spring Boot Sample Application with associated tests
for demonstrating how to get started using both Spring Data GemFire
and GemFire.
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
Phillip Webb fca7a8dc96 Enforce Java 1.7 during the release
Add enforcer rules to ensure that only Java 1.7 is used during the
release.

Fixes gh-712
11 years ago
Mattias Severson 506e57663a Relaxed <requireJavaVersion> configuration of the maven-enforcer-plugin
This commit resolves #695 by changing the configuration so that all Java versions from 1.7 and above are allowed.
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
Andy Wilkinson b8858bdb8f Enable support for use of encryption in Maven's settings.xml
This commit updates the CLI so that it will decrypt any encrypted
passwords in a user's Maven settings.xml file.

The code that performs the decrytion has a transitive dependency on
three types in Plexus' logging API. There are tens of different
artifacts containing this API available in Maven Central. Rather than
bloating the API with a dependency on a complete Plexus container,
which could perhaps be considered the primary source, a dependency on
a considerably smaller artifact has been introduced.

Closes #574
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 2669d81433 Upgrade 3rd-Party Dependencies
Fixes gh-393
11 years ago
Phillip Webb b69c659d8f Polish 11 years ago
Andy Wilkinson 05fd50d190 Dependency version upgrades
- spring-integration-core 3.0.1.RELEASE (closes #360)
 - Logback 1.1.1 (closes #361)
 - maven-settings-builder 3.1.1 (closes #359)
 - maven-aether-provider 3.1.1 (closes #356)
 - jopt-simple 4.6 (closes #357)
 - SLF4J 1.7.6 (closes #318)
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 49ef1cd236 Update CLI to use spring-boot-dependency-tools
Update `GroovyCompiler` and `AetherGrapeEngineFactory` to use the
recently added `spring-boot-dependency-tools` in favor of loading
dependency information from a generated properties file.
11 years ago
Phillip Webb 853b0a8027 Fix some maven warnings 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
Phillip Webb c8a1d8830c Refactor CLI internals for REPL shell
Numerous updates to the Spring CLI, primarily for better embedded REPL
shell support:

* Refactor the CLI application to help separate concerts between the
  main CLI and the embedded shell. Both the CLI and embedded shell now
  delegate to a new `CommandRunner` to handle running commands. The
  runner can be configured differently depending depending on need.
  For example, the embedded shell adds the 'prompt' and 'clear'
  commands.

* Most `Command` implementations have been moved to sub-packages so that
  they can be co-located with the classes that they use.

* Option commands are now only used in the CLI, the embedded shell
  does not user them and details have been removed from the Command
  interface.

* The REPL shell has been significantly refactored to:
    - Support CTRL-C to cancel the running process. This is supported
      when running external commands and most internal commands.
    - Fork a new JVM when running commands (primarily for CTRL-C support
      but also for potential memory and classpath issues)
    - Change the "continue" trigger from `<<` to `\`
    - Support command completion of files
    - Add ANSI color output
    - Provide 'help' support for internal commands (such as 'clear')
    - Remove the now redundant `stop` command

Fixes gh-227
11 years ago
Phillip Webb e3b352e0b5 Support 'headless' applications
Update SpringApplication to run by default in 'headless' mode. This
prevents the AWT system from creating a Java icon (for example in the
OSX dock).

Also update builds to run tests in 'headless' mode.
11 years ago
Phillip Webb 26d900f3ad Revert "Allow maven build with JDK 1.8"
Revert commit fd15b62a9d to
ensure that we don't accidentally use Java 8 features.
11 years ago
Christian Dupuis fd15b62a9d Allow maven build with JDK 1.8 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
Phillip Webb 36cdc41cb0 Attempt to automate javadoc deployment 11 years ago
Phillip Webb 657bd5573a Attempt to automate javadoc deployment 11 years ago
Phillip Webb d635d8af72 Upgrade dependencies 11 years ago
Dave Syer 3f1cfbf241 Add JSTL to JSP sample 11 years ago
Phillip Webb 127da15c3c Add homebrew formula as generated artifact 11 years ago
Phillip Webb a9c9c383f4 Polish pom.xml
Aplly consistent formatting, drop JDK 8 support and cleanup repo
locations to use spring.io.
11 years ago
Andy Wilkinson 629a77c3e2 Remove ASM dependency and use Spring Core's instead
Depending on ASM itself can cause problems as it can clash with other
libraries' dependency on it. This commit updates
spring-boot-loader-tools to depend upon spring-core and use its
repackaged copy of ASM instead. Depending on spring-core also brings
with it the advantage of giving access to its various bits of utility
code.

spring-boot-maven-plugin has been updated to remove its ASM
exclusions as they will no longer clash with the version from
spring-boot-loader-tools

(59483608)
11 years ago