我正在将 Checker Framework 添加到现有的 Java Gradle 构建中。我已经集成了 Checker 并提出了问题,这一切都很好。但是现在我已经添加了它,我的构建不再像以前那样生成 .jar 文件。
以前,我会在 .jar 获得一个 .jar build/libs/myproject.jar
。现在我看到了build/checkerframework
,build/main
但没有build/libs
,也没有 .jar。
我build.gradle
的在下面。以前有人尝试过吗?有成功吗?
我想我也会接受一个显示如何在构建之外运行 Checker 的答案,例如gradle check
使用 Checker 运行构建并gradle build
生成 .jar。但如果可能的话,我真的更喜欢只有一个构建步骤。
谢谢!
plugins {
id "org.checkerframework" version "0.5.18"
id 'application'
}
apply plugin: 'org.checkerframework'
checkerFramework {
checkers = [
'org.checkerframework.checker.nullness.NullnessChecker',
'org.checkerframework.checker.units.UnitsChecker'
]
}
repositories {
jcenter()
}
java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
jar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
// Embed all dependencies to create a "fat jar" as required for AWS deployment.
// Exclude 3rd-party signing files to prevent security errors at runtime
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
} {
exclude 'META-INF/*.RSA', 'META-INF/*.SF', 'META-INF/*.DSA'
}
manifest {
attributes('Main-Class': 'client.CliMain')
}
}