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
8405df10
Commit
8405df10
authored
Jun 21, 2021
by
Andy Wilkinson
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '2.4.x' into 2.5.x
Closes gh-26997
parents
c99d1dae
e18eb082
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
27 additions
and
19 deletions
+27
-19
JavaPluginAction.java
.../springframework/boot/gradle/plugin/JavaPluginAction.java
+17
-13
JavaPluginActionIntegrationTests.java
.../boot/gradle/plugin/JavaPluginActionIntegrationTests.java
+2
-2
JavaPluginActionIntegrationTests.gradle
...oot/gradle/plugin/JavaPluginActionIntegrationTests.gradle
+8
-4
No files found.
spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/JavaPluginAction.java
View file @
8405df10
...
...
@@ -19,7 +19,6 @@ package org.springframework.boot.gradle.plugin;
import
java.io.File
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.Set
;
import
org.gradle.api.Action
;
...
...
@@ -41,6 +40,7 @@ import org.gradle.api.plugins.JavaPluginConvention;
import
org.gradle.api.plugins.JavaPluginExtension
;
import
org.gradle.api.provider.Provider
;
import
org.gradle.api.tasks.SourceSet
;
import
org.gradle.api.tasks.SourceSetContainer
;
import
org.gradle.api.tasks.TaskProvider
;
import
org.gradle.api.tasks.bundling.Jar
;
import
org.gradle.api.tasks.compile.JavaCompile
;
...
...
@@ -195,7 +195,11 @@ final class JavaPluginAction implements PluginApplicationAction {
}
private
void
configureAdditionalMetadataLocations
(
JavaCompile
compile
)
{
compile
.
doFirst
(
new
AdditionalMetadataLocationsConfigurer
());
SourceSetContainer
sourceSets
=
compile
.
getProject
().
getConvention
().
getPlugin
(
JavaPluginConvention
.
class
)
.
getSourceSets
();
sourceSets
.
stream
().
filter
((
candidate
)
->
candidate
.
getCompileJavaTaskName
().
equals
(
compile
.
getName
()))
.
map
((
match
)
->
match
.
getResources
().
getSrcDirs
()).
findFirst
()
.
ifPresent
((
locations
)
->
compile
.
doFirst
(
new
AdditionalMetadataLocationsConfigurer
(
locations
)));
}
private
void
configureDevelopmentOnlyConfiguration
(
Project
project
)
{
...
...
@@ -225,7 +229,13 @@ final class JavaPluginAction implements PluginApplicationAction {
* inner-class rather than a lambda due to
* https://github.com/gradle/gradle/issues/5510.
*/
private
static
class
AdditionalMetadataLocationsConfigurer
implements
Action
<
Task
>
{
private
static
final
class
AdditionalMetadataLocationsConfigurer
implements
Action
<
Task
>
{
private
final
Set
<
File
>
locations
;
private
AdditionalMetadataLocationsConfigurer
(
Set
<
File
>
locations
)
{
this
.
locations
=
locations
;
}
@Override
public
void
execute
(
Task
task
)
{
...
...
@@ -234,8 +244,7 @@ final class JavaPluginAction implements PluginApplicationAction {
}
JavaCompile
compile
=
(
JavaCompile
)
task
;
if
(
hasConfigurationProcessorOnClasspath
(
compile
))
{
findMatchingSourceSet
(
compile
)
.
ifPresent
((
sourceSet
)
->
configureAdditionalMetadataLocations
(
compile
,
sourceSet
));
configureAdditionalMetadataLocations
(
compile
);
}
}
...
...
@@ -246,15 +255,10 @@ final class JavaPluginAction implements PluginApplicationAction {
.
anyMatch
((
name
)
->
name
.
startsWith
(
"spring-boot-configuration-processor"
));
}
private
Optional
<
SourceSet
>
findMatchingSourceSet
(
JavaCompile
compile
)
{
return
compile
.
getProject
().
getConvention
().
getPlugin
(
JavaPluginConvention
.
class
).
getSourceSets
().
stream
()
.
filter
((
sourceSet
)
->
sourceSet
.
getCompileJavaTaskName
().
equals
(
compile
.
getName
())).
findFirst
();
}
private
void
configureAdditionalMetadataLocations
(
JavaCompile
compile
,
SourceSet
sourceSet
)
{
String
locations
=
StringUtils
.
collectionToCommaDelimitedString
(
sourceSet
.
getResources
().
getSrcDirs
());
private
void
configureAdditionalMetadataLocations
(
JavaCompile
compile
)
{
compile
.
getOptions
().
getCompilerArgs
()
.
add
(
"-Aorg.springframework.boot.configurationprocessor.additionalMetadataLocations="
+
locations
);
.
add
(
"-Aorg.springframework.boot.configurationprocessor.additionalMetadataLocations="
+
StringUtils
.
collectionToCommaDelimitedString
(
this
.
locations
));
}
}
...
...
spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/JavaPluginActionIntegrationTests.java
View file @
8405df10
...
...
@@ -31,11 +31,11 @@ import org.springframework.boot.gradle.testkit.GradleBuild;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
/**
* Integration tests for {@link
War
PluginAction}.
* Integration tests for {@link
Java
PluginAction}.
*
* @author Andy Wilkinson
*/
@GradleCompatibility
@GradleCompatibility
(
configurationCache
=
true
)
class
JavaPluginActionIntegrationTests
{
GradleBuild
gradleBuild
;
...
...
spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/JavaPluginActionIntegrationTests.gradle
View file @
8405df10
...
...
@@ -37,9 +37,13 @@ task('configurationAttributes') {
}
task
(
'configurationResolvabilityAndConsumability'
)
{
doFirst
{
def
configuration
=
configurations
.
findByName
(
configurationName
)
println
"canBeResolved: ${configuration.canBeResolved}"
println
"canBeConsumed: ${configuration.canBeConsumed}"
if
(
project
.
hasProperty
(
"configurationName"
))
{
Configuration
configuration
=
configurations
.
findByName
(
configurationName
)
def
canBeResolved
=
configuration
.
canBeResolved
def
canBeConsumed
=
configuration
.
canBeConsumed
doFirst
{
println
"canBeResolved: ${canBeResolved}"
println
"canBeConsumed: ${canBeConsumed}"
}
}
}
\ No newline at end of file
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