spring-session PublishAllJavaComponentsPlugin 源码

  • 2022-08-16
  • 浏览 (509)

spring-session PublishAllJavaComponentsPlugin 代码

文件路径:/buildSrc/src/main/java/org/springframework/gradle/maven/PublishAllJavaComponentsPlugin.java

package org.springframework.gradle.maven;


import org.gradle.api.Action;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.plugins.JavaPlatformPlugin;
import org.gradle.api.plugins.JavaPlugin;
import org.gradle.api.publish.PublishingExtension;
import org.gradle.api.publish.VariantVersionMappingStrategy;
import org.gradle.api.publish.VersionMappingStrategy;
import org.gradle.api.publish.maven.MavenPublication;
import org.gradle.api.publish.maven.plugins.MavenPublishPlugin;

public class PublishAllJavaComponentsPlugin implements Plugin<Project> {
	@Override
	public void apply(Project project) {
		project.getPlugins().withType(MavenPublishPlugin.class).all((mavenPublish) -> {
			PublishingExtension publishing = project.getExtensions().getByType(PublishingExtension.class);
			publishing.getPublications().create("mavenJava", MavenPublication.class, new Action<MavenPublication>() {
				@Override
				public void execute(MavenPublication maven) {
					project.getPlugins().withType(JavaPlugin.class, (plugin) -> {
						maven.from(project.getComponents().getByName("java"));
					});
					project.getPlugins().withType(JavaPlatformPlugin.class, (plugin) -> {
						maven.from(project.getComponents().getByName("javaPlatform"));
					});
				}
			});
		});
	}
}

相关信息

spring-session 源码目录

相关文章

spring-session MavenPublishingConventionsPlugin 源码

spring-session PublishArtifactsPlugin 源码

spring-session PublishLocalPlugin 源码

spring-session SpringMavenPlugin 源码

spring-session SpringNexusPublishPlugin 源码

spring-session SpringSigningPlugin 源码

0  赞