Commit Graph

245 Commits

Author SHA1 Message Date
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
Dave Syer
f1f36cd002 Extract closure grabber into AstUtils 2014-05-25 18:58:25 +01:00
Dave Syer
b71f07932e Support for explicit module path in dependency
Instead of *always* needing to pull auto-import dependencies
from the master parent pom, we now allow normal @Grab-style
module specifications, e.g. "io.ratpack:ratpack-groovy:0.9.2"
2014-05-25 18:58:07 +01:00
Phillip Webb
1a475102de Polish 2014-05-22 20:33:08 +01:00
Dave Syer
1e6a4f3f65 Remove duplicate JreProxySelector
Since we upgraded Aether we now have the native JreProxySelector
available so we don't need to keep a copy ourselves.
2014-05-22 18:03:52 +01:00
Dave Syer
0e2f9e74db Ensure a JreProxySelector is applied as a fallback
The issue was that the JreProxySelector was only applied
if the existing selector was null, but that hasn't been the case
since we added supporty for settings.xml. The strategy now is to
fallback to a JreProxySelector if the existing one is null
or not already a composite. Fixes gh-914.
2014-05-22 17:38:24 +01:00
Andy Wilkinson
1deeccda30 Revert "Work around Groovy compiler bug that can name classes incorrectly"
This reverts commit 46fc5c05e3.

Closes #598
2014-05-21 13:58:44 +01:00
Phillip Webb
8bcda1bcbe Polish 2014-05-20 18:26:56 +01:00
Dave Syer
334c8142c4 Enhance Groovy template support in CLI
to allow user to specify the TemplateEngine

Fixes gh-908
2014-05-20 12:36:32 +01:00
Andy Wilkinson
d2fc80b818 Allow custom dependency metadata to be used with the CLI
Add support for a new annotation, @GrabMetadata, that can be used
to provide the coordinates of one or more properties files, such as
the one published by Spring IO Platform, as a source of dependency
metadata. For example:

@GrabMetadata("com.example:metadata:1.0.0")

The referenced properties files must be in the format
group:module=version.

Limitations:

 - Only a single @GrabMetadata annotation is supported
 - The referenced properties file must be accessible in one of the
   default repositories, i.e. it cannot be accessed in a repository
   that's added using @GrabResolver

Closes #814
2014-05-19 17:47:31 +01:00
Phillip Webb
506c0f50b9 Allow meta-data driven version overrides in Gradle
Add a `versionManagement` gradle configuration which can be used to
provide alternative version meta-data. Primarily added so that the
Spring IO platform can provide version overrides without causing a
cyclic build dependency.

Fixes gh-750
2014-05-08 14:37:42 +01:00
Dave Syer
894482df1a Initialize logback is it is present in CLI
This (empirically) fixes gh-726 using a new utility
(LogbackInitializer) in the loader tools. If anyone has enough
Gradle fu to understand where to put it (after the classpath is established
but before compilation) we could do the same thing in the Gradle plugin
(and that would fix gh-724).
2014-05-07 07:21:48 -07:00
Dave Syer
1b7d8d9ade Add SignalUtils to handle OS interrupts
Extract into a utility to be shared between Shell and RunMojo

Fixes gh-773
2014-05-02 20:17:22 +01:00
Dave Syer
b12631d75d Ensure Spring Integration 4.0 is used in CLI
There was an issue with the generated poms for the dependency
tools (I'm not sure the generation step works if you don't
do "mvn clean"). Anyway I verified that it works and removed
the (now) unnecessary provided dependency from spring-boot-cli.

Fixes gh-362
2014-05-01 12:57:12 +01:00
Artem Bilan
ce3aafa7a9 Upgrade to Spring Integration 4.0
Closes #751
2014-05-01 10:07:17 +01:00
Dave Syer
b884a73396 Share RunProcess with CLI 2014-05-01 09:48:05 +01:00
Dave Syer
12ede8689a Prevent duplicate files from getting onto sources 2014-04-30 17:33:23 +01:00
Dave Syer
f46d281b22 Upgrade to Reactor 1.1
Fixes gh-706
2014-04-30 11:27:29 +01:00
sopov.ivan
174b654faf minor test fixes
Reverting arguments in assertEquals where constant was placed on
the "actual" place. Replacing assertEquals with assertFalse, assertTrue
and assertNull where applicable.

Fixes gh-735
2014-04-26 14:14:05 +01:00
Phillip Webb
4119ef5cf4 Use random ports for tests
Update remaining tests to use random ports.

Fixes gh-337
2014-04-23 19:11:54 +01:00
Dave Syer
0ed1642989 Tweak autoconfigs in websocket support 2014-04-18 13:38:30 -07:00
Dave Syer
ac16aa1757 Add SpringWebsocketCompilerAutoConfiguration
Fixes gh-693
2014-04-18 13:23:01 -07:00
Phillip Webb
ed3fc06d81 Remove non-working cli --edit option
Fixes gh-611
2014-03-31 17:28:14 -07:00
Phillip Webb
35b1a59bbd Fix cli --watch option
Fix SpringApplicationRunner to correctly locate files to watch for
reload.

Fixes gh-610
2014-03-31 17:25:59 -07:00
Andy Wilkinson
46fc5c05e3 Work around Groovy compiler bug that can name classes incorrectly
If a source URL is added to a CompilationUnit and that source URL does
not contain any slashes, the resulting ClassNode in the AST will be
incorrectly named. For example, a URL of 'file:foo.groovy' will produce
a ClassNode named 'file:foo'. The expected name is 'foo'.

This commit works around this problem by adding any URL sources with a
file protocol to the compilation unit as File instances. Any URL sources
that do not have a file protocol continue to be added as URL instances.
Such URLs are still prone to this bug should we be dealing with one
that contains no slashes. A fix for the underlying Groovy bug will
address this possibility.

Fixes #594
2014-03-27 16:49:37 +00:00
Phillip Webb
beaddb2362 Polish 2014-03-26 13:29:26 -07:00
Phillip Webb
0960ac760e Check that cli jar command only writes .jars
Update `JarCommand` to check that the file extension of the output is
`.jar`.

Fixes gh-581
2014-03-25 14:58:35 -07:00