Merge branch '4.1.x'

Closes gh-51496
This commit is contained in:
Phillip Webb
2026-08-28 15:51:53 -07:00
2 changed files with 38 additions and 7 deletions
@@ -38,11 +38,19 @@ import org.gradle.api.GradleException;
import org.gradle.api.JavaVersion;
import org.gradle.api.Project;
import org.gradle.api.Task;
import org.gradle.api.artifacts.ComponentMetadataDetails;
import org.gradle.api.artifacts.Configuration;
import org.gradle.api.artifacts.ConfigurationContainer;
import org.gradle.api.artifacts.Dependency;
import org.gradle.api.artifacts.DependencySet;
import org.gradle.api.artifacts.ModuleVersionIdentifier;
import org.gradle.api.attributes.AttributeContainer;
import org.gradle.api.attributes.Bundling;
import org.gradle.api.attributes.Category;
import org.gradle.api.attributes.DocsType;
import org.gradle.api.attributes.Usage;
import org.gradle.api.file.FileTreeElement;
import org.gradle.api.model.ObjectFactory;
import org.gradle.api.plugins.JavaBasePlugin;
import org.gradle.api.plugins.JavaPlugin;
import org.gradle.api.plugins.JavaPluginExtension;
@@ -159,6 +167,7 @@ class JavaConventions {
configureProhibitedDependencyChecks(project);
configureFactoriesFilesChecks(project);
configureNullability(project);
configureDependencyFixes(project);
});
}
@@ -397,4 +406,32 @@ class JavaConventions {
}
}
private void configureDependencyFixes(Project project) {
project.getDependencies().getComponents().all((details) -> {
// https://github.com/spring-projects/spring-framework/issues/37209
if ("org.springframework".equals(details.getId().getGroup())) {
addDocumentaionVariant(project, details, "javadocElements", DocsType.JAVADOC, "javadoc");
addDocumentaionVariant(project, details, "sourcesElements", DocsType.SOURCES, "sources");
}
});
}
private void addDocumentaionVariant(Project project, ComponentMetadataDetails details, String name, String docsType,
String classifier) {
ModuleVersionIdentifier id = details.getId();
String file = "%s-%s-%s.jar".formatted(id.getName(), id.getVersion(), classifier);
details.addVariant(name, (variant) -> {
variant.attributes((attributes) -> addDocumentationAttributes(project, attributes, docsType));
variant.withFiles((files) -> files.addFile(file));
});
}
private void addDocumentationAttributes(Project project, AttributeContainer attributes, String docsType) {
ObjectFactory objects = project.getObjects();
attributes.attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.class, Usage.JAVA_RUNTIME));
attributes.attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.class, Category.DOCUMENTATION));
attributes.attribute(Bundling.BUNDLING_ATTRIBUTE, objects.named(Bundling.class, Bundling.EXTERNAL));
attributes.attribute(DocsType.DOCS_TYPE_ATTRIBUTE, objects.named(DocsType.class, docsType));
}
}
+1 -7
View File
@@ -13,15 +13,9 @@ graalVersion=25
hamcrestVersion=3.0
jackson2Version=2.21.5
jacksonVersion=3.1.5
<<<<<<< HEAD
javaFormatVersion=0.0.47
javaFormatVersion=0.0.48
junitJupiterVersion=6.1.3
kotlinVersion=2.4.10
=======
javaFormatVersion=0.0.48
junitJupiterVersion=6.0.3
kotlinVersion=2.3.21
>>>>>>> 4.1.x
mavenVersion=3.9.13
mockitoVersion=5.23.0
nativeBuildToolsVersion=1.1.8