Commit Graph

774 Commits (8d186945e73319ab8c469f9f478dcf850db155a5)
 

Author SHA1 Message Date
Dave Syer 26f3379d1a Add mongodb to travis CI 11 years ago
Dave Syer d60ba48de0 Fix bug in RelaxedPropertyResolver with prefix ending in separator
E.g. with a prefix spring.jpa.hibernate. we want naming-strategy and
namingstrategy to be resolvable. It wasn't working before this change
because the whole property path was being manipulated, where you
actually need to manipulate the prefix and suffix separately.
11 years ago
Dave Syer 68da5b41c6 Allow relaxed names to include prefixes 11 years ago
Dave Syer a7d12bfddb Add FileEncodingApplicationContextInitializer
Looks for spring.mandatory_file_encoding and matches it against
System.getProperty("file.encoding").

Fixes gh-46
11 years ago
Dave Syer b8bdf22209 Don't repeat relaxed names that already showed up 11 years ago
Andy Wilkinson 97f93bfa64 Support simple @Grab annotations everywhere
Previously, simple @Grab annotations only worked on classes. This commit
updates the simple @Grab support so that they can be used on anything
that can be annotated with @Grab.

The simplified @Grab support relies upon springcli.properties having
been generated. This commit adds an M2E lifecycle mapping for the
antrun plugin so that springcli.properties is generated as part of an
Eclipse build, thereby making it easier to run tests in Eclipse that
rely upon the simplified @Grab support.
11 years ago
Dave Syer 0ec2d19e38 Add spring.thymeleaf.encoding to ThymeleafAutoConfiguration
Both the template resolver and the view resolver now have their
encoding set explicitly (defaulting to UTF-8).

Fixes gh-79
11 years ago
Dave Syer 2c60828cf2 Ensure ServerProperties default values does not override
Since ServerProperties had primitive properties for port (in
particular) it was not possible to check when applying those
properties if the user had actually changed the value. This
in turn meant that a custom EmbeddedServletContainerFactory
could not set the default values.

Fixed by making int properties of ServerProperties into
Integer and checking for null before setting on the
container factory.

Fixes gh-84
11 years ago
Andy Wilkinson b855ab6cae Treat Maven artifacts with bundle packaging as jars
Previously, LocalM2Resource used the pom's packaging configuration to
determine the suffix of the file that it should look for, e.g. if
the pom's packaging was jar, it would look for a file with a .jar
suffix in artifactExists(). This logic fails for artifacts with bundle
packaging as it would look for a .bundle file rather than a .jar file,
fail to find the file, and incorrectly report that the artifact does not
exist.

This commit updates LocalM2Resource to look for a file with a .jar
suffix when the packaging configuration in the pom is bundle.
11 years ago
Phillip Webb 35ff983b40 Prevent duplicate resource enumeration form loader
Fix LaunchedURLClassLoader to only enumerate resources from the
rootLoader and the URLs.

Commit cd2c189 (Support javaagent instrumentation with loader) added
a parent classloader and used filtering in the loadClass() method
to ensure classes were loaded from the appropriate location. The change
in parent means that locally packaged resources are found twice, once
from the parent, and once from the self archive URL.

LaunchedURLClassLoader now overrides getResource and getResources to
filter out the parent classloader and instead only add resources from
the root classloader and the URLs.

Issue: #56232870
11 years ago
Dave Syer 64d9f4f18d Allow user to override static resource handler mappings
A new API in Spring allows us to check for existing mappings in the
resource handler registry
11 years ago
Dave Syer 9df0c9eb4a Fix paragraphs that ran together 11 years ago
Dave Syer 6bfc888a58 Remove missing links 11 years ago
Phillip Webb 33a597b661 Update homebrew location 11 years ago
Dave Syer bcfc134702 Add explicit header link 11 years ago
Dave Syer 3adfdd34ec Use simplified @Grab where possible 11 years ago
Dave Syer 1dd0cca294 Update M4->M5 in README 11 years ago
Phillip Webb af0d08c998 Polish 11 years ago
Phillip Webb b772f7c2e4 Polish
Minor formatting and consistent copyright header.
11 years ago
Phillip Webb 1a9ce42da9 Apply source formatting to samples 11 years ago
Phillip Webb efe102bd51 Polish CLI tester code
Reduce duplication by extracting FileOptions class to be shared by
both the RunCommand and the TestCommand.

Also applied minor code convention tweaks.
11 years ago
Dave Syer 910202b0f6 Fix build 11 years ago
Dave Syer ef17ff8d24 Adapt device change to new springcli.properties 11 years ago
Roy Clarkson 5cdaa43912 Add Spring Mobile Device Resolver autoconfiguration 11 years ago
Ulrich von Poblotzki f306eda703 Implemented the error handling in case of commucation failures 11 years ago
Ulrich von Poblotzki 386bb73169 Added simple error hangling to 'SnakeTimer#broadcast'
In some cases the websocket communication fails and Snake#sendMessage throws an exception.
In that case the send loop is interrupted and later clients are not update.
11 years ago
Dave Syer 84a213f774 Add README to cli 11 years ago
Dave Syer a72ab9eb7d Refactor cli properties into single project 11 years ago
Dave Syer b5f0f97110 Clean up TestCommand paraphenalia 11 years ago
Greg Turnquist 1ce13cc2c2 Add 'spring test [files]' command to compile and test code automatically
- Look for JUnit test symbols, and add JUnit automatically
- Look for Spock test symbols, and add Spock automatically
- Based on what test libraries were used, invoke relevant embedded testers
  and accumulate results
- Make it so that multiple testers can be invoked through a single 'test' command
- Print out total results and write out detailed trace errors in results.txt
- Update based on the new artifact resolution mechanism
11 years ago
Dave Syer 4655eb3a94 Expose SpringApplicationBuilder in SpringBootServletInitializer 11 years ago
Dave Syer 6cd060c4cf Fix deployable WAR (Servlets have to be registered)
Includes smart guess for prepending servlet context initializer
in SpringApplicationBuilder.
11 years ago
Andy Wilkinson ad7503b0bb Ensure VPP is available to ant run plugin in full build 11 years ago
Andy Wilkinson c5a5f07fb0 Add spring-boot-cli-properties to full build 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
Ulrich von Poblotzki 4ddae32de9 Updated Tomcat version updated to 8.0.0-RC3
The RC1 version had some websocket issues, that prevented propper websocket communication.
In some cases the SocketJS communication was downgraded to 'xhr_streaming'.
11 years ago
Dave Syer 3b2abe9c17 Use create_drop JPA as default if in-memory
[Fixes #55277582] [bs-288]
11 years ago
Dave Syer bbec4f7cf5 Make default proxyTargetClass=false
If the default is true JPA repositories all have to have
default constructors etc.
11 years ago
Eberhard Wolff c6e0c76341 Added test for AOP auto configuration and dependency to AspectJ 11 years ago
Dave Syer 6d6c261caa Add amqp starter to build 11 years ago
Dave Syer 1a59698f8b Tweak AMQP sample slightly 11 years ago
Eberhard Wolff 1096ed6d1f Added AMQP starter and sample 11 years ago
Greg Turnquist f6a011a743 Add documentation on how to use gvm to support CLI dev work 11 years ago
Dave Syer 1be040170c Fix bug with ordering of property sources
Profile-specific property sources were being added last,
*after* the global values, which means they did not
override in the way that users would expect.

Fixed by storing the global property sources in an
intermediate list and applying them after the profile
specific ones.
11 years ago
Dave Syer a082f2bed5 Investigating 11 years ago
Dave Syer dfb660aa87 Add schema.sql,data.sql to default SQL initializers
...for compatibility with Spring JDBC. Users can still
optionally specify spring.database.schema, but the default
location is schema-${spring.database.platform}.sql, schema.sql,
data.sql.

[Fixes #58332710]
11 years ago
ggerard 182328697d Spelling error: "everypone" 11 years ago
Eberhard Wolff 0760a4ad87 Added Spring Boot Guides from spring.io 11 years ago
Dave Syer 5fe9ef69c7 Add SpringApplicationContextLoader 11 years ago
Dave Syer eabb1e70a4 Refine SpringApplicationBuilder and add a test for profiles 11 years ago