Commit Graph

12 Commits

Author SHA1 Message Date
Dave Syer
4a40e8f833 Support for main class detection in installApp
I'm sure someone can do a better job of this, but here's a proposal
that works. It uses our FindMainTask to set the relevant properties
if theu are missing in the application plugin.

Fixes gh-1105
2014-06-17 10:11:19 +01:00
Phillip Webb
3a8a127285 Implement simpler exclusion logic for Gradle
Simplify the exclusion logic used in Gradle by implementing implicit
exclusions rather than trying to detect transitive excludes.

This commit reverts much of the code originally included to fix gh-1047
which adds far too much complexity to the build and still doesn't solve
the underlying issue.

Fixes gh-1103
2014-06-16 16:54:48 -07:00
Dave Syer
299311d71f Grab main class from "run" task if it exists
The test is a bit crap at the minute (no assertion), but the build
is successful and you can see from the log that the correct main
is used

Fixes gh-1099
2014-06-16 18:24:09 +01:00
Dave Syer
8b03834d79 Add integration test for "gradle install"
See gh-1105
2014-06-16 12:56:50 +01:00
Andy Wilkinson
6c4d9d7190 Add integration tests to check Gradle plugin's war packaging behaviour
There was a problem with the Gradle plugin packaging application
dependencies in WEB-INF/lib-provided when only the servlet container
and its dependencies should be packaged there. See #1064 for details.

This commit adds two tests, one for Tomcat and one for Jetty, to
verify that only the expected entries appear in WEB-INF/lib-provided.

Closes #1071
2014-06-12 15:44:27 +01:00
Andy Wilkinson
f5f3903538 Resolve versionManagement configuration lazily and preserve exclusions
Previously, the versionManagement configuration was resolved as part of
the Boot Gradle plugin being applied. This meant that no dependencies
could be added to it and attempting to do so would result in a failure:
“You can't change a configuration which is not in unresolved state”.
This commit updates ApplyExcludeRules to wrap its processing in a
before resolve action. This defers the resolution of the
versionManagement configuration until one of the project’s other
configurations is being resolved. Fixes #1077

In addition to the above, the transitive exclusions that the Gradle
plugin provides were being lost if custom version management provided
a version for the same dependency. This commit updates
AbstractDependencies to preserve the exclusions from an existing
dependency declaration while using the version from the newer
dependency. This ensures that the exclusions remain while allowing
versions to be overridden. Fixes #1079
2014-06-11 15:51:39 +01:00
Phillip Webb
933c6b3a43 Remove superfluous commons-logging excludes
Update all starter POMs to remove commons-logging dependencies that are
not longer required when using the Spring Boot Gradle plugin.

Mainly reverts code from 196f92bd42

See gh-1047
2014-06-09 00:41:30 -07: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
Andy Wilkinson
e0a5c29601 Add tests to verify starter dependencies when used with Gradle
We've had problems with the starters when used with Gradle. They have
been pulling in commons-logging (#987) and the wrong version of Spring
(#1028) due to Gradle's different exclusion and dependency resolution
semantics.

This commit adds some integration tests that use Gradle's tooling API
to take each starter in turn and build a Gradle project that depends
upon it. The build looks at the transitive dependencies and checks
that neither commons-logging nor any Spring modules with the wrong
version are present.

Closes #1036
2014-06-06 10:59:31 +01:00
Phillip Webb
bd5e49fc84 Revert "Remove integration tests project"
Turns out the maven-plugin still causes issues.

This reverts commit 1ccdf2f6cf.
2013-08-01 00:09:49 -07:00
Phillip Webb
1ccdf2f6cf Remove integration tests project
Remove no longer required integration tests project. Samples can
now be called as part of the build since the maven plugin is no
longer an extension.
2013-07-31 13:30:48 -07:00
Dave Syer
2098e23fca Change package names zero->boot
* actuator -> boot-ops
* cli -> boot-cli
* launcher -> boot-load
* autoconfig -> boot-config
* bootstrap -> boot-strap
* starters -> boot-up

[#54095231] [bs-253] Refactor Zero->Boot
2013-07-26 14:13:41 +01:00