Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
2801f6a8
Commit
2801f6a8
authored
Jun 18, 2015
by
Stephane Nicoll
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #2792 from jazir1979/master
* pull2792: Add useTestClassPath to run/start maven goals
parents
8230d2cb
e3c2fb72
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
90 additions
and
1 deletion
+90
-1
pom.xml
...g-boot-maven-plugin/src/it/run-use-test-classpath/pom.xml
+39
-0
SampleApplication.java
...t-classpath/src/main/java/org/test/SampleApplication.java
+33
-0
verify.groovy
...-maven-plugin/src/it/run-use-test-classpath/verify.groovy
+3
-0
AbstractRunMojo.java
.../java/org/springframework/boot/maven/AbstractRunMojo.java
+10
-1
usage.apt.vm
...-tools/spring-boot-maven-plugin/src/site/apt/usage.apt.vm
+5
-0
No files found.
spring-boot-tools/spring-boot-maven-plugin/src/it/run-use-test-classpath/pom.xml
0 → 100644
View file @
2801f6a8
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
org.springframework.boot.maven.it
</groupId>
<artifactId>
run-use-test-classpath
</artifactId>
<version>
0.0.1.BUILD-SNAPSHOT
</version>
<properties>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>
@project.groupId@
</groupId>
<artifactId>
@project.artifactId@
</artifactId>
<version>
@project.version@
</version>
<executions>
<execution>
<phase>
package
</phase>
<goals>
<goal>
run
</goal>
</goals>
<configuration>
<useTestClasspath>
true
</useTestClasspath>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-context
</artifactId>
<version>
@spring.version@
</version>
<scope>
test
</scope>
</dependency>
</dependencies>
</project>
spring-boot-tools/spring-boot-maven-plugin/src/it/run-use-test-classpath/src/main/java/org/test/SampleApplication.java
0 → 100644
View file @
2801f6a8
/*
* Copyright 2012-2015 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
test
;
public
class
SampleApplication
{
public
static
void
main
(
String
[]
args
)
{
Class
<?>
appContext
=
null
;
try
{
appContext
=
Class
.
forName
(
"org.springframework.context.ApplicationContext"
);
}
catch
(
ClassNotFoundException
e
)
{
throw
new
IllegalStateException
(
"Test dependencies not added to classpath"
,
e
);
}
System
.
out
.
println
(
"I haz been run"
);
}
}
spring-boot-tools/spring-boot-maven-plugin/src/it/run-use-test-classpath/verify.groovy
0 → 100644
View file @
2801f6a8
def
file
=
new
File
(
basedir
,
"build.log"
)
return
file
.
text
.
contains
(
"I haz been run"
)
spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AbstractRunMojo.java
View file @
2801f6a8
...
...
@@ -36,6 +36,7 @@ import org.apache.maven.plugins.annotations.Parameter;
import
org.apache.maven.project.MavenProject
;
import
org.apache.maven.shared.artifact.filter.collection.AbstractArtifactFeatureFilter
;
import
org.apache.maven.shared.artifact.filter.collection.FilterArtifacts
;
import
org.springframework.boot.loader.tools.FileUtils
;
import
org.springframework.boot.loader.tools.MainClassFinder
;
...
...
@@ -45,6 +46,7 @@ import org.springframework.boot.loader.tools.MainClassFinder;
* @author Phillip Webb
* @author Stephane Nicoll
* @author David Liu
* @author Daniel Young
* @see RunMojo
* @see StartMojo
*/
...
...
@@ -131,6 +133,13 @@ public abstract class AbstractRunMojo extends AbstractDependencyFilterMojo {
@Parameter
(
property
=
"fork"
)
private
Boolean
fork
;
/**
* Flag to include the test classpath when running.
* @since 1.3
*/
@Parameter
(
property
=
"useTestClasspath"
,
defaultValue
=
"false"
)
private
Boolean
useTestClasspath
;
/**
* Specify if the application process should be forked.
* @return {@code true} if the application process should be forked
...
...
@@ -340,7 +349,7 @@ public abstract class AbstractRunMojo extends AbstractDependencyFilterMojo {
private
void
addDependencies
(
List
<
URL
>
urls
)
throws
MalformedURLException
,
MojoExecutionException
{
FilterArtifacts
filters
=
getFilters
(
new
TestArtifactFilter
());
FilterArtifacts
filters
=
this
.
useTestClasspath
?
getFilters
()
:
getFilters
(
new
TestArtifactFilter
());
Set
<
Artifact
>
artifacts
=
filterDependencies
(
this
.
project
.
getArtifacts
(),
filters
);
for
(
Artifact
artifact
:
artifacts
)
{
if
(
artifact
.
getFile
()
!=
null
)
{
...
...
spring-boot-tools/spring-boot-maven-plugin/src/site/apt/usage.apt.vm
View file @
2801f6a8
...
...
@@ -151,6 +151,11 @@ mvn spring-boot:run
in such a way that any dependency that is excluded in the plugin's configuration gets excluded
from the classpath as well. See {{{./examples/exclude-dependency.html}Exclude a dependency}} for
more details.
Sometimes it is useful to include test dependencies when running the application. For example,
if you want to run your application in a test mode that uses stub classes. If you wish to do this,
you can set the <<<useTestClasspath>>> parameter to true. Note that this is only applied when you
run an application: the <<<repackage>>> goal will not add test dependencies to the resulting JAR/WAR.
* Working with integration tests
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment