Commit Graph

49367 Commits

Author SHA1 Message Date
Dave Syer
4ca26058fa [bs-73] Tweak configuration class detection algorithm some more
This looks like becoming a recurring theme. Unfortunately it's
not very easy to test if a class might eventually be instantiatable
by Spring.

This change fixes the main bootstrap SpringApplicationTests
which were failing because they used non-static inner classes
for test configurations.
2013-04-26 10:45:17 +01:00
Dave Syer
d6a670e13e [bs-47] Add default command line args to SpringApplication
* See SpringApplication.setDefaultCommandLineArgs
* Assumes command line is in "simple" form (TODO: if we
need JOpt etc. support then the command line args parsing from
Spring needs to be exposed)
* If defaults are provided the command line might be re-ordered
slightly (non-option args come after option args)
* Allows custom application.properties file names to be specified
as a side effect (--spring.config.name=... or
--spring.config.location=...}.

[Fixes #48284369]
2013-04-26 10:45:08 +01:00
Dave Syer
61fa55b524 [bs-62] Add assertions to CLI integration tests
[Fixes #48658503]
2013-04-26 08:22:30 +01:00
Dave Syer
bcf86b320e [bs-72], [bs-75] Add Batch plugin features
* Auto config in main bootstrap jar
* Compiler enhancements in groovy cli
* Sample script in cli samples

[Fixes #48716881], [Fixes #48788313]
2013-04-26 07:01:37 +01:00
Dave Syer
83e0ea22c1 [bs-19] Add samples and CLI support for Spring Integration
$ cd spring-bootstrap-cli
    $ export SPRING_HOME=target
    $ src/main/scripts/spring run samples/integration.groovy

The big disadvantage at the moment is that there is no goo way to
detect Spring Integration in the AST (at least not as good as @Enable*).
So for now we are looking for @MessageEndpoint or a class name with
SpringIntegration in it.

[#48151147]
2013-04-25 17:15:05 +01:00
Dave Syer
d82c50804f [bs-73] Tweak algorithm for detecting anonymous classes
Apparently an anonymous class in Groovy is no anonymous in the compiled code,
so we need another heuristic.  We now check for non-existence of public
constructors (if there are none then there's no point regsistering that
class with an application context).

[#48718891]
2013-04-25 17:12:01 +01:00
Dave Syer
a2d328ae3a [bs-73] Anonymous classes cannot be used in @Bean definitions in .groovy scripts
* Added a test for each of the classes loaded by the SpringApplication
* If it's an anonymous class or looks like a Groovy closure we ignore it
* The CLI sample job.groovy also modified to take advantage

[Fixes #48718891]
2013-04-25 16:02:44 +01:00
Dave Syer
737886e4da Fix help and extend clean command
Examples:

    $ spring clean --all org.springframework commons-logging
    $ spring clean --all org.springframework:spring-tx
2013-04-25 11:25:13 +01:00
Dave Syer
ca99e4d7b9 Remove unnecessary explicit FQCN 2013-04-25 10:18:32 +01:00
Dave Syer
c9a8cb9341 [bs-72] Add Batch compiler by default
We could take this out again when we decide what to do about plugins
but it's good to have it in for now because it shows how to do it,
and exposes some holes.  The job.groovy script now works, but
a lot of it should be defaulted through auto-configuration.

(See also [bs-73] for a non-Batch related bug.)

[#48716881]
2013-04-25 09:36:32 +01:00
Dave Syer
214b3a28db [bs-71] "spring run app.groovy" stalls at end (non-daemon thread)
* Change default so that file is not watched (add --watch to watch it)
* The runner thread is set to daemon mode

[Fixes #48716955]
2013-04-25 09:06:54 +01:00
Dave Syer
a91b482849 Improve readability of SpringBootstrapCompilerAutoConfiguration 2013-04-25 08:42:22 +01:00
Dave Syer
38f0cf1ed2 [bs-62] Add integration tests for CLI samples
[Fixes #48658503]
2013-04-24 16:09:17 +01:00
Dave Syer
c91e83c7d2 [bs-59] Add zip packaging for cli module
* Also added "spring" shell script (in zip), so you can
unzip it and run out of the box
* To run in developer mode use SPRING_HOME, e.g.

        $ cd spring-bootstrap-cli
        $ SPRING_HOME=target src/main/scripts/spring run samples/web.groovy
* Also added "clean" command to remove spring bootstrap grapes
(useful to force a refresh of snapshot jars)

[#48644271]
2013-04-24 11:38:57 +01:00
Dave Syer
8a4b50e289 [bs-14] Ensure all servlet context initializers are called
Misuse of TreeSet in EmbeddedWebApplicationContext corrected
(use List and Comparator instead of TreeSet).

[Fixes #48055339]
2013-04-24 10:14:22 +01:00
Dave Syer
fb6b224470 Fast forward existing prototype work 2013-04-24 10:02:07 +01:00
Phillip Webb
80b151e2b3 first commit 2012-10-21 10:53:52 -07:00