Skip to content

Commit 2f45b60

Browse files
authored
Use lazy APIs on ConfigurationContainer (#197)
1 parent 9ef4db2 commit 2f45b60

File tree

3 files changed

+23
-17
lines changed

3 files changed

+23
-17
lines changed

src/main/java/org/gradlex/javamodule/moduleinfo/ExtraJavaModuleInfoPlugin.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public void apply(Project project) {
8686
}
8787

8888
private void configureModuleDescriptorTasks(Project project) {
89-
project.getExtensions().getByType(SourceSetContainer.class).all(sourceSet -> {
89+
project.getExtensions().getByType(SourceSetContainer.class).configureEach(sourceSet -> {
9090
String name = sourceSet.getTaskName("", "moduleDescriptorRecommendations");
9191
project.getTasks().register(name, ModuleDescriptorRecommendation.class, task -> {
9292
Transformer<List<File>, Configuration> artifactsTransformer = configuration -> {
@@ -148,20 +148,20 @@ private void configureTransform(Project project, ExtraJavaModuleInfoPluginExtens
148148
// Automatically get versions from the runtime classpath
149149
if (GradleVersion.current().compareTo(GradleVersion.version("6.8")) >= 0) {
150150
//noinspection UnstableApiUsage
151-
c.shouldResolveConsistentlyWith(project.getConfigurations().getByName(RUNTIME_CLASSPATH_CONFIGURATION_NAME));
151+
c.shouldResolveConsistentlyWith(project.getConfigurations().named(RUNTIME_CLASSPATH_CONFIGURATION_NAME).get());
152152
}
153153
});
154154

155155
// If 'internal' is added by 'org.gradlex.jvm-dependency-conflict-resolution', extend from it to get access to versions
156-
project.getConfigurations().all(otherConfiguration -> {
156+
project.getConfigurations().configureEach(otherConfiguration -> {
157157
if ("internal".equals(otherConfiguration.getName())) {
158158
javaModulesMergeJars.extendsFrom(otherConfiguration);
159159
}
160160
});
161161

162162
Attribute<String> artifactType = Attribute.of("artifactType", String.class);
163163

164-
project.getExtensions().getByType(SourceSetContainer.class).all(sourceSet -> {
164+
project.getExtensions().getByType(SourceSetContainer.class).configureEach(sourceSet -> {
165165
// by default, activate plugin for all source sets
166166
extension.activate(sourceSet);
167167

src/main/java/org/gradlex/javamodule/moduleinfo/ExtraJavaModuleInfoPluginExtension.java

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public void module(Provider<MinimalExternalModuleDependency> alias, String modul
8181
* @param moduleName the Module Name of the Module to construct
8282
* @param moduleVersion version to write into the module-info.class
8383
*/
84-
public void module(String identifier, String moduleName, String moduleVersion) {
84+
public void module(String identifier, String moduleName, @Nullable String moduleVersion) {
8585
module(identifier, moduleName, moduleVersion, m -> {
8686
m.exportAllPackages();
8787
if (identifier.contains(":")) { // only if the identifier is a coordinates (not a Jar)
@@ -97,7 +97,7 @@ public void module(String identifier, String moduleName, String moduleVersion) {
9797
* @param moduleName the Module Name of the Module to construct
9898
* @param moduleVersion version to write into the module-info.class
9999
*/
100-
public void module(Provider<MinimalExternalModuleDependency> alias, String moduleName, String moduleVersion) {
100+
public void module(Provider<MinimalExternalModuleDependency> alias, String moduleName, @Nullable String moduleVersion) {
101101
module(alias.get().getModule().toString(), moduleName, moduleVersion);
102102
}
103103

@@ -230,9 +230,12 @@ public void knownModule(Provider<MinimalExternalModuleDependency> alias, String
230230
* @param sourceSet the Source Set to activate (e.g. sourceSets.test)
231231
*/
232232
public void activate(SourceSet sourceSet) {
233-
Configuration runtimeClasspath = getConfigurations().getByName(sourceSet.getRuntimeClasspathConfigurationName());
234-
Configuration compileClasspath = getConfigurations().getByName(sourceSet.getCompileClasspathConfigurationName());
235-
Configuration annotationProcessor = getConfigurations().getByName(sourceSet.getAnnotationProcessorConfigurationName());
233+
NamedDomainObjectProvider<Configuration> runtimeClasspath =
234+
getConfigurations().named(sourceSet.getRuntimeClasspathConfigurationName());
235+
NamedDomainObjectProvider<Configuration> compileClasspath =
236+
getConfigurations().named(sourceSet.getCompileClasspathConfigurationName());
237+
NamedDomainObjectProvider<Configuration> annotationProcessor =
238+
getConfigurations().named(sourceSet.getAnnotationProcessorConfigurationName());
236239

237240
activate(runtimeClasspath);
238241
activate(compileClasspath);
@@ -275,9 +278,12 @@ public void activate(NamedDomainObjectProvider<?> sourceSetOrResolvable) {
275278
* @param sourceSet the Source Set to deactivate (e.g. sourceSets.test)
276279
*/
277280
public void deactivate(SourceSet sourceSet) {
278-
Configuration runtimeClasspath = getConfigurations().getByName(sourceSet.getRuntimeClasspathConfigurationName());
279-
Configuration compileClasspath = getConfigurations().getByName(sourceSet.getCompileClasspathConfigurationName());
280-
Configuration annotationProcessor = getConfigurations().getByName(sourceSet.getAnnotationProcessorConfigurationName());
281+
NamedDomainObjectProvider<Configuration> runtimeClasspath =
282+
getConfigurations().named(sourceSet.getRuntimeClasspathConfigurationName());
283+
NamedDomainObjectProvider<Configuration> compileClasspath =
284+
getConfigurations().named(sourceSet.getCompileClasspathConfigurationName());
285+
NamedDomainObjectProvider<Configuration> annotationProcessor =
286+
getConfigurations().named(sourceSet.getAnnotationProcessorConfigurationName());
281287

282288
deactivate(runtimeClasspath);
283289
deactivate(compileClasspath);

src/main/java/org/gradlex/javamodule/moduleinfo/PublishedMetadata.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public class PublishedMetadata implements Serializable {
7878
private List<String> componentVariant(Provider<String> versionsProvidingConfiguration, Project project, String usage) {
7979
Configuration versionsSource;
8080
if (versionsProvidingConfiguration.isPresent()) {
81-
versionsSource = project.getConfigurations().getByName(versionsProvidingConfiguration.get());
81+
versionsSource = project.getConfigurations().named(versionsProvidingConfiguration.get()).get();
8282
} else {
8383
// version provider is not configured, create on adhoc based on ALL classpaths of the project
8484
versionsSource = maybeCreateDefaultVersionSourcConfiguration(project.getConfigurations(), project.getObjects(),
@@ -118,10 +118,10 @@ private Configuration maybeCreateDefaultVersionSourcConfiguration(ConfigurationC
118118

119119
if (sourceSets != null) {
120120
for (SourceSet sourceSet : sourceSets) {
121-
Configuration implementation = configurations.getByName(sourceSet.getImplementationConfigurationName());
122-
Configuration compileOnly = configurations.getByName(sourceSet.getCompileOnlyConfigurationName());
123-
Configuration runtimeOnly = configurations.getByName(sourceSet.getRuntimeOnlyConfigurationName());
124-
Configuration annotationProcessor = configurations.getByName(sourceSet.getAnnotationProcessorConfigurationName());
121+
Configuration implementation = configurations.named(sourceSet.getImplementationConfigurationName()).get();
122+
Configuration compileOnly = configurations.named(sourceSet.getCompileOnlyConfigurationName()).get();
123+
Configuration runtimeOnly = configurations.named(sourceSet.getRuntimeOnlyConfigurationName()).get();
124+
Configuration annotationProcessor = configurations.named(sourceSet.getAnnotationProcessorConfigurationName()).get();
125125
c.extendsFrom(implementation, compileOnly, runtimeOnly, annotationProcessor);
126126
}
127127
}

0 commit comments

Comments
 (0)