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
238ef98f
Commit
238ef98f
authored
Jul 22, 2017
by
kashike
Committed by
Andy Wilkinson
Sep 20, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use -parameters compiler arg by default in Gradle builds
See gh-9839
parent
8ab12d90
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
77 additions
and
0 deletions
+77
-0
JavaPluginAction.java
.../springframework/boot/gradle/plugin/JavaPluginAction.java
+11
-0
JavaPluginActionIntegrationTests.java
.../boot/gradle/plugin/JavaPluginActionIntegrationTests.java
+31
-0
JavaPluginActionIntegrationTests.gradle
...oot/gradle/plugin/JavaPluginActionIntegrationTests.gradle
+35
-0
No files found.
spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/JavaPluginAction.java
View file @
238ef98f
...
...
@@ -17,6 +17,7 @@
package
org
.
springframework
.
boot
.
gradle
.
plugin
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.concurrent.Callable
;
import
org.gradle.api.Action
;
...
...
@@ -41,6 +42,7 @@ import org.springframework.boot.gradle.tasks.run.BootRun;
*/
final
class
JavaPluginAction
implements
PluginApplicationAction
{
private
static
final
String
PARAMETERS_COMPILER_ARG
=
"-parameters"
;
private
final
SinglePublishedArtifact
singlePublishedArtifact
;
JavaPluginAction
(
SinglePublishedArtifact
singlePublishedArtifact
)
{
...
...
@@ -60,6 +62,7 @@ final class JavaPluginAction implements PluginApplicationAction {
configureArtifactPublication
(
project
,
bootJar
);
configureBootRunTask
(
project
);
configureUtf8Encoding
(
project
);
configureParametersCompilerArg
(
project
);
}
private
void
disableJarTask
(
Project
project
)
{
...
...
@@ -121,4 +124,12 @@ final class JavaPluginAction implements PluginApplicationAction {
}));
}
private
void
configureParametersCompilerArg
(
Project
project
)
{
project
.
getTasks
().
withType
(
JavaCompile
.
class
,
compile
->
{
final
List
<
String
>
compilerArgs
=
compile
.
getOptions
().
getCompilerArgs
();
if
(!
compilerArgs
.
contains
(
PARAMETERS_COMPILER_ARG
))
{
compilerArgs
.
add
(
PARAMETERS_COMPILER_ARG
);
}
});
}
}
spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/JavaPluginActionIntegrationTests.java
View file @
238ef98f
...
...
@@ -73,6 +73,37 @@ public class JavaPluginActionIntegrationTests {
.
contains
(
"compileTestJava = UTF-8"
);
}
@Test
public
void
javaCompileTasksUseParametersCompilerFlagByDefault
()
{
assertThat
(
this
.
gradleBuild
.
build
(
"javaParametersCompilerArg"
,
"-PapplyJavaPlugin"
)
.
getOutput
()).
contains
(
"compileJava has -parameters by default = true"
)
.
contains
(
"compileTestJava has -parameters by default = true"
);
}
// -parameters and an additional compiler arg
@Test
public
void
javaCompileTasksUseParametersCompilerFlagWhenOtherAdded
()
{
assertThat
(
this
.
gradleBuild
.
build
(
"javaParametersCompilerArg"
,
"-PapplyJavaPlugin"
,
"-PparametersAddOther"
)
.
getOutput
()).
contains
(
"compileJava has -parameters when another arg has been added = true"
)
.
contains
(
"compileTestJava has -parameters when another arg has been added = true"
);
}
// -parameters removed
@Test
public
void
javaCompileTasksDoesNotUseParametersWhenParametersRemoved
()
{
assertThat
(
this
.
gradleBuild
.
build
(
"javaParametersCompilerArg"
,
"-PapplyJavaPlugin"
,
"-PparametersRemove"
)
.
getOutput
()).
contains
(
"compileJava has -parameters when removed = false"
)
.
contains
(
"compileTestJava has -parameters when removed = false"
);
}
// compiler args cleared
@Test
public
void
javaCompileTasksDoesNotUseParametersWhenArgsCleared
()
{
assertThat
(
this
.
gradleBuild
.
build
(
"javaParametersCompilerArg"
,
"-PapplyJavaPlugin"
,
"-PparametersClear"
)
.
getOutput
()).
contains
(
"compileJava has -parameters when cleared = false"
)
.
contains
(
"compileTestJava has -parameters when cleared = false"
);
}
@Test
public
void
assembleRunsBootJarAndJarIsSkipped
()
{
BuildResult
result
=
this
.
gradleBuild
.
build
(
"assemble"
);
...
...
spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/JavaPluginActionIntegrationTests.gradle
View file @
238ef98f
...
...
@@ -10,6 +10,24 @@ if (project.hasProperty('applyJavaPlugin')) {
apply
plugin:
'java'
}
if
(
project
.
hasProperty
(
'parametersRemove'
))
{
tasks
.
withType
(
JavaCompile
)
{
options
.
compilerArgs
.
remove
(
'-parameters'
)
}
}
if
(
project
.
hasProperty
(
'parametersClear'
))
{
tasks
.
withType
(
JavaCompile
)
{
options
.
compilerArgs
.
clear
()
}
}
if
(
project
.
hasProperty
(
'parametersAddOther'
))
{
tasks
.
withType
(
JavaCompile
)
{
options
.
compilerArgs
.
add
(
'-Xlint:all'
)
}
}
task
(
'taskExists'
)
{
doFirst
{
println
"$taskName exists = ${tasks.findByName(taskName) != null}"
...
...
@@ -23,3 +41,20 @@ task('javaCompileEncoding') {
}
}
}
task
(
'javaParametersCompilerArg'
)
{
doFirst
{
tasks
.
withType
(
JavaCompile
)
{
def
contains
=
options
.
compilerArgs
.
contains
(
'-parameters'
)
if
(
project
.
hasProperty
(
'parametersRemove'
))
{
println
"$name has -parameters when removed = ${contains}"
}
else
if
(
project
.
hasProperty
(
'parametersClear'
))
{
println
"$name has -parameters when cleared = ${contains}"
}
else
if
(
project
.
hasProperty
(
'parametersAddOther'
))
{
println
"$name has -parameters when another arg has been added = ${contains}"
}
else
{
println
"$name has -parameters by default = ${contains}"
}
}
}
}
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