421 Commits

Author SHA1 Message Date
Andy Wilkinson
5f9fddd44a Explicitly apply mirror and auth settings to remote repos in the CLI
Previously, the CLI relied on Aether using the session's mirror
selector and authentication selector to customize the configured
repositories. These selectors are only used to configure what Aether
calls recessive repositories (repositories discovered when resolving
an artifact), rather than the explicitly configured repositories that
are typically used.

This commit updates AetherGrapeEngine to apply mirror and
authentication configuration to every added repository, bringing its
behaviour for these two settings into line with what it already does
for proxy configuration.

Fixes #1354
2014-08-19 17:55:54 +01:00
Dave Syer
eb4aee6c45 Improve error logging in InstallCommand 2014-08-19 07:40:33 +01:00
Dave Syer
1fe1399959 Add install command
Fixes gh-1393
2014-08-18 18:01:22 +01:00
Dave Syer
457cea60e6 Add ServiceLoader for AST transformations
The loading is via a marker interface SpringBootAstTransformation
to avoid clashing with other services registered as org.groovy.*

Fixes gh-1392
2014-08-18 16:15:06 +01:00
Phillip Webb
92899474ac Polish 2014-08-06 09:10:23 -07:00
Dave Syer
0c6a0bde5f Export SPRING_HOME for commands to consume if needed 2014-08-04 15:47:38 -07:00
Dave Syer
6ba8269db8 Add public getter for dependency context 2014-07-31 15:57:41 -07:00
Dave Syer
59b8fc63d9 Scan for a valid MANIFEST.MF instead of taking the first one
Fixes gh-1321
2014-07-31 09:51:49 -07:00
Andy Wilkinson
f5c8a8879a Isolate CLI integration tests from any settings decryption failures 2014-07-24 20:38:21 +01:00
Andy Wilkinson
4d4cc076c6 Don't fail hard when settings.xml can't be decrypted by the CLI 2014-07-24 17:54:09 +01:00
Phillip Webb
fa88c481a5 Remote trailing whitespace 2014-07-02 15:17:14 -07:00
Dave Syer
54a23f9920 Make -q and -v do something more sensible
-q switches off all logging and the banner, -v switches logging to debug,
running with neither will be info.

Fixes gh-1108
2014-06-27 16:24:51 +01:00
Dave Syer
fd757cb371 Add logging.level to application.properties
E.g.

logging.level.org.springframework: DEBUG
logging.level.org.hibernate: WARN

Fixed gh-788
2014-06-27 15:49:17 +01:00
Dave Syer
179ac6022a Remove @GrabResolvers before packaging jar in CLI
Since all dependencies are local in a jar there is no need for
a GrabResolver (and it breaks the app because the default ivy
GrapeEngine is used instead of the smart, pretty Boot one).

Fixes gh-1179
2014-06-27 10:20:56 +01:00
Phillip Webb
9632abf825 Formatting and cleanup 2014-06-26 09:41:15 -07:00
Phillip Webb
1f36d4657f Fix various Windows related issues
Fixes gh-1168
2014-06-25 14:31:41 -07:00
Phillip Webb
f30b962ff9 Add support for unpacking nested JARs
Update the executable JAR code to automatically unpack any entries
which include an entry comment starting `UNPACK:` to the temp folder.
The existing Maven and Gradle plugins have been updated with new
configuration options and the `spring-boot-tools` project has been
updated to write the appropriate entry comment based on a flag passed
in via the `Library` class.

This support has been added to allow libraries such a JRuby (which
assumes that `jruby-complete.jar` is always accessible as file) to work
with Spring Boot executable jars.

Fixes gh-1070
2014-06-24 00:46:56 -07:00
Phillip Webb
a374929c90 Polish 2014-06-15 09:09:06 -07:00
Dave Syer
2c691e5ae5 Enhance JarCommand to support lists of includes and excludes
The lists are comma separated. In addition, user can add prefixes
"+" or "-", to signal that those values should be removed from the
default list, not added to a fresh one. E.g.

$ spring jar app.jar --include lib/*.jar,-static/** --exclude -**/*.jar

to include a jar file specifically, and make sure it is not excluded,
and additionally not include the static/** resources that would otherwise
be included in the defaults. As soon as "+" or "-" prefixes are detected
the default entries are all added (except the ones exlcuded with "-").

Fixes gh-1090
2014-06-12 18:31:43 +01:00
Phillip Webb
9b982dabdb Restore dependency-tools API compatibility
Refactor dependency-tools to restore API compatibility with Spring
Boot 1.0. This should reduce reflection hacks that tools such as Gretty
would otherwise have to make.

See gh-1035
2014-06-08 23:58:02 -07:00
Phillip Webb
e891aa3525 Polish 2014-06-06 22:58:43 -07:00
Dave Syer
32dff415c3 Rationalize the Reactor autoconfig
It didn't make sense not to do anything at all if a Reactor @Bean
was detected, so now we only back off creating the rootReactor if
one is present.
2014-06-05 12:52:23 +01:00
Andy Wilkinson
156dadaebe Initialize DependencyResolutionContext with default dependency mgmt
In the absence of a @GrabMetadata annotation,
DependencyResolutionContext provided no dependency management. This
was leading to incorrect dependency versions being pulled in. This
commit intializes the context with default dependency management that
will be replaced should @GrabMetadata be encountered.

Fixes #1021
2014-06-03 16:26:30 +01:00
Dave Syer
efcbb32788 Remove some compiler warnings 2014-06-02 10:56:12 +01:00
Phillip Webb
f95cb602cc Fix CLI command/option package tangle
Fix package tangle in CLI my extracting ExitStatus to a status package.

See gh-1004
2014-06-01 18:59:09 +01:00
Phillip Webb
5da23e9968 Fix grape -> compiler package tangle
Fix package tangle by moving DependencyResolutionContext from the
compiler package to grape.

See gh-1004
2014-06-01 18:49:13 +01:00
Andy Wilkinson
212c30f6c7 Enhance DependencyCustomer: allow type and classifier to be specified
Closes #1002
2014-05-30 23:27:07 +01:00
Andy Wilkinson
059d504fd7 Fix DependencyCustomizerTests following merge of 1.0.x 2014-05-30 23:27:06 +01:00
Andy Wilkinson
0d7da4375f Merge branch '1.0.x' 2014-05-30 23:26:59 +01:00
Andy Wilkinson
abc1e5de8f Fix ifAnyMissingClasses to return false if no classes are missing
Fixes #1003
2014-05-30 17:28:03 +01:00
Phillip Webb
97acd20d62 Polish 2014-05-30 16:47:30 +01:00
Andy Wilkinson
2fec9c4790 Merge branch '1.0.x' 2014-05-30 15:33:47 +01:00
Andy Wilkinson
8f7c96e8f0 Honour ext and classifier on @Grabbed dependencies
We currently honour type, but ignore ext. Aether doesn't make a
distinction between the two so a Grab that specifies both type and ext
but with different values is considered to be an error.

Fixes #995
2014-05-30 15:12:09 +01:00
Dave Syer
ed15f742fd Fix bug in GroovyTemplate convenience
It was ignoring the engine argument in the 3 arg version
of template().
2014-05-30 11:32:02 +01:00
Dave Syer
2f653f0616 Add support for Spring HTTP in CLI tests 2014-05-30 10:18:11 +01:00
Dave Syer
ed0cfea6d2 Add SmartImportCustomizer
Only imports classes with names that are not already
imported into teh SourceUnit

Fixes gh-983
2014-05-30 06:44:38 +01:00
Phillip Webb
11a093bdc0 Polish 2014-05-30 00:31:11 +01:00
Dave Syer
48c1228253 Add support for groovy utilities in "spring jar"
Also an integration test that uses the (new)
@EnableGroovyTemplates to switch on the template conveniences
in a non-webapp

Fixes gh-990
2014-05-29 18:21:27 +01:00
Dave Syer
3c6dfb72c5 Add ExitStatus to Command.run()
The main difference for now is the removal of the --nohup
(slightly hacky) option in TestCommand. Now a TestCommand
can signal to its caller that it wants to be hung up.

Fixes gh-975
2014-05-29 13:58:12 +01:00
Dave Syer
6fbafc3ca4 Add RUNTME scope to transitive dependencies in CLI
Fixes gh-977
2014-05-28 18:18:15 +01:00
Dave Syer
e7aa192d82 Add ConfigurationProperties to autoconfigs 2014-05-28 17:36:55 +01:00
Dave Syer
8436627598 Allow tests to System.exit() by default
Otherwise the ApplicationContext stays alive and if it's a
server app the JVM does not exit at the end of "spring test".
User can override with "spring test foo.groovy --nohup"
(which we have to do in our unit tests).
2014-05-28 17:36:55 +01:00
Phillip Webb
7fd26a556d Fix social property binding
Update Spring Social auto-configurations to read properties using
the `dashed` notation and with the appropriate prefixes. This allows
properties to be specified in any of the relaxed forms.

Also minor refactor to extract common logic to a new
SocialAutoConfigurerAdapter base class.

See gh-941
2014-05-28 17:36:07 +01:00
Phillip Webb
5df52d3e94 Polish 2014-05-28 17:36:07 +01:00
Dave Syer
05d1a104e4 Add spring-test annotations to auto imports 2014-05-28 14:05:13 +01:00
Andy Wilkinson
47e3a72390 Source code formatting 2014-05-28 13:38:03 +01:00
Craig Walls
5e1913576e Document Spring Social support 2014-05-28 13:30:41 +01:00
Craig Walls
f006b1231c Add Spring Social autoconfiguration 2014-05-28 13:30:41 +01:00
Dave Syer
064998697d Ensure CLI adds @EnableAutoConfiguration in an appropriate place
Up to now we have been treating the *first* class to be compiled
as the "main" application and adding @EnableAutoConfiguration. This
isn't always appropriate (e.g. if it's a test case), so now we
look for an appropriate annotation before falling back to the old
behaviour.

In addition ensures classes with a field of type Reactor trigger
the reactor auto imports.

See gh-969
2014-05-28 13:00:31 +01:00
Dave Syer
3d9da64382 Add auto imports for integration testing
JUnit tests can now be @SpringApplicationConfiguration
and @IntegrationTest without any explicit imports. Also
makes @RunWith(SpringJUnit4ClassRunner) optional.

Fixes gh-969
2014-05-28 10:58:56 +01:00