|
18 | 18 | import java.io.File;
|
19 | 19 | import java.util.Arrays;
|
20 | 20 | import java.util.Collections;
|
| 21 | +import java.util.HashSet; |
21 | 22 | import java.util.List;
|
22 | 23 | import java.util.Map;
|
23 | 24 | import java.util.Set;
|
@@ -113,19 +114,25 @@ private void configureJarManifestConventions(Project project) {
|
113 | 114 | .collect(Collectors.toSet());
|
114 | 115 | Set<String> javadocJarTaskNames = sourceSets.stream().map(SourceSet::getJavadocJarTaskName)
|
115 | 116 | .collect(Collectors.toSet());
|
116 |
| - project.getTasks().withType(Jar.class, (jar) -> project.afterEvaluate((evaluated) -> { |
117 |
| - jar.metaInf((metaInf) -> metaInf.from(extractLegalResources)); |
118 |
| - jar.manifest((manifest) -> { |
119 |
| - Map<String, Object> attributes = new TreeMap<>(); |
120 |
| - attributes.put("Automatic-Module-Name", project.getName().replace("-", ".")); |
121 |
| - attributes.put("Build-Jdk-Spec", project.property("sourceCompatibility")); |
122 |
| - attributes.put("Built-By", "Spring"); |
123 |
| - attributes.put("Implementation-Title", |
124 |
| - determineImplementationTitle(project, sourceJarTaskNames, javadocJarTaskNames, jar)); |
125 |
| - attributes.put("Implementation-Version", project.getVersion()); |
126 |
| - manifest.attributes(attributes); |
127 |
| - }); |
128 |
| - })); |
| 117 | + Set<String> jarTaskNames = sourceSets.stream().map(SourceSet::getJarTaskName).collect(Collectors.toSet()); |
| 118 | + Set<String> jarTasksOfInterest = new HashSet<String>(); |
| 119 | + jarTasksOfInterest.addAll(sourceJarTaskNames); |
| 120 | + jarTasksOfInterest.addAll(javadocJarTaskNames); |
| 121 | + jarTasksOfInterest.addAll(jarTaskNames); |
| 122 | + project.getTasks().matching((task) -> jarTasksOfInterest.contains(task.getName())).withType(Jar.class, |
| 123 | + (jar) -> project.afterEvaluate((evaluated) -> { |
| 124 | + jar.metaInf((metaInf) -> metaInf.from(extractLegalResources)); |
| 125 | + jar.manifest((manifest) -> { |
| 126 | + Map<String, Object> attributes = new TreeMap<>(); |
| 127 | + attributes.put("Automatic-Module-Name", project.getName().replace("-", ".")); |
| 128 | + attributes.put("Build-Jdk-Spec", project.property("sourceCompatibility")); |
| 129 | + attributes.put("Built-By", "Spring"); |
| 130 | + attributes.put("Implementation-Title", |
| 131 | + determineImplementationTitle(project, sourceJarTaskNames, javadocJarTaskNames, jar)); |
| 132 | + attributes.put("Implementation-Version", project.getVersion()); |
| 133 | + manifest.attributes(attributes); |
| 134 | + }); |
| 135 | + })); |
129 | 136 | }
|
130 | 137 |
|
131 | 138 | private String determineImplementationTitle(Project project, Set<String> sourceJarTaskNames,
|
|
0 commit comments