直接从我的自定义插件配置 gradle "maven-publish" 插件
Configure gradle "maven-publish" plugin directly from my custom plugin
我是 gradle 的新手,想创建应用 maven-publish
插件的自定义 gradle 插件。此外,我的插件应该配置 maven-publish
插件,以便其他插件用户什么都不做。而我的插件会自动配置maven-publish
。
我试图找到任何相同的教程,但没有找到。
如何从我的自定义插件配置 maven-publish
gradle 插件?
从自定义插件配置其他插件非常普遍。您应该能够参考那里的任何自定义插件以获取示例。具体来说,对于 maven-publish
,我创建了以下示例:
import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.publish.PublishingExtension;
import org.gradle.api.publish.maven.MavenPublication;
import org.gradle.api.publish.maven.plugins.MavenPublishPlugin;
import java.net.URI;
public class MyPlugin implements Plugin<Project> {
@Override
public void apply(Project project) {
project.getPluginManager().apply(MavenPublishPlugin.class);
project.getExtensions().configure(PublishingExtension.class, publishing -> {
publishing.repositories(repositories -> {
repositories.maven(maven -> {
maven.setUrl(URI.create("https://my-publishing-repo.com"));
});
});
publishing.publications(publications -> {
publications.create("mavenJava", MavenPublication.class, mavenJava -> {
mavenJava.artifact(project.getTasks().named("bootJar"));
});
});
});
}
}
这相当于 Gradle 构建文件 (Kotlin DSL) 中的以下内容:
plugins {
`maven-publish`
}
publishing {
repositories {
maven {
url = uri("https://my-publishing-repo.com")
}
}
publications {
create<MavenPublication>("mavenJava") {
artifact(tasks.named("bootJar").get())
}
}
}
参考我的指导中的以下指南:
我是 gradle 的新手,想创建应用 maven-publish
插件的自定义 gradle 插件。此外,我的插件应该配置 maven-publish
插件,以便其他插件用户什么都不做。而我的插件会自动配置maven-publish
。
我试图找到任何相同的教程,但没有找到。
如何从我的自定义插件配置 maven-publish
gradle 插件?
从自定义插件配置其他插件非常普遍。您应该能够参考那里的任何自定义插件以获取示例。具体来说,对于 maven-publish
,我创建了以下示例:
import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.publish.PublishingExtension;
import org.gradle.api.publish.maven.MavenPublication;
import org.gradle.api.publish.maven.plugins.MavenPublishPlugin;
import java.net.URI;
public class MyPlugin implements Plugin<Project> {
@Override
public void apply(Project project) {
project.getPluginManager().apply(MavenPublishPlugin.class);
project.getExtensions().configure(PublishingExtension.class, publishing -> {
publishing.repositories(repositories -> {
repositories.maven(maven -> {
maven.setUrl(URI.create("https://my-publishing-repo.com"));
});
});
publishing.publications(publications -> {
publications.create("mavenJava", MavenPublication.class, mavenJava -> {
mavenJava.artifact(project.getTasks().named("bootJar"));
});
});
});
}
}
这相当于 Gradle 构建文件 (Kotlin DSL) 中的以下内容:
plugins {
`maven-publish`
}
publishing {
repositories {
maven {
url = uri("https://my-publishing-repo.com")
}
}
publications {
create<MavenPublication>("mavenJava") {
artifact(tasks.named("bootJar").get())
}
}
}
参考我的指导中的以下指南: