gpt4 book ai didi

java - Gradle:在我自己的任务中从导入的插件调用任务

转载 作者:行者123 更新时间:2023-12-03 05:02:54 28 4
gpt4 key购买 nike

我习惯了 Maven,但目前我正在使用 Gradle,我不太确定如何调用其他插件定义的任务。 (编辑:我可以在 CLI 中调用这些任务,但我也想在我自己的自定义任务中调用它们。)

但我正在导入 this plugin格式化(和强制格式化)我的 Java 项目;我最感兴趣调用的任务是 goJFverGJF

我已经尝试了几种方法来调用包含的任务,而且我做了更多的谷歌搜索。如果有帮助,我可以分享我尝试调用其他任务的一些(可能令人尴尬的)方式,但我认为目前这可能是不必要的信息。

这是我的build.gradle:

plugins {
id 'java'
// https://github.com/sherter/google-java-format-gradle-plugin
id 'com.github.sherter.google-java-format' version '0.9'
}

group 'org.example'
version '1.0-SNAPSHOT'

sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11

repositories {
mavenCentral()
}

dependencies {
implementation("com.google.guava:guava:30.0-jre")
testImplementation(platform('org.junit:junit-bom:5.7.0'))
testImplementation('org.junit.jupiter:junit-jupiter:5.7.0')
}

// Alias for goJF:
task fmt {
goJF
}

// Alias for verGJF:
task vfmt {
verGJF
}

test {
useJUnitPlatform()
}

最佳答案

工作示例 here .

来自documentation ,我们注意到有配置插件任务的例子。所以别名是该方法的简化。考虑:

plugins {
id 'java'
// https://github.com/sherter/google-java-format-gradle-plugin
id 'com.github.sherter.google-java-format' version '0.9'
}

import com.github.sherter.googlejavaformatgradleplugin.GoogleJavaFormat
import com.github.sherter.googlejavaformatgradleplugin.VerifyGoogleJavaFormat

group 'org.example'
version '1.0-SNAPSHOT'

sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11

repositories {
mavenCentral()
}

dependencies {
implementation("com.google.guava:guava:30.0-jre")
testImplementation(platform('org.junit:junit-bom:5.7.0'))
testImplementation('org.junit.jupiter:junit-jupiter:5.7.0')
}

task fmt(type: GoogleJavaFormat) {
}

task vfmt(type: VerifyGoogleJavaFormat) {
}

test {
useJUnitPlatform()
}

这里的fmt是一个GoogleJavaFormat类型的新任务; vfmt 属于 VerifyGoogleJavaFormat 类型。这些实例可以指定它们自己的配置(并使用 doFirstdoLast 等做其他事情)。但按原样,它们充当别名。

关于java - Gradle:在我自己的任务中从导入的插件调用任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64652901/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com