diff --git a/high-performance/build.gradle b/high-performance/build.gradle new file mode 100644 index 000000000..7f6baf197 --- /dev/null +++ b/high-performance/build.gradle @@ -0,0 +1,62 @@ +import net.ltgt.gradle.errorprone.CheckSeverity + +plugins { + id 'java-library' + id 'groovy' + id 'net.ltgt.errorprone' version '4.3.0' +} + +java { + toolchain { + languageVersion = JavaLanguageVersion.of(25) + } +} + +repositories { + mavenCentral() + mavenLocal() +} + +dependencies { + api project(':') + api 'org.jspecify:jspecify:1.0.0' + + testImplementation 'org.junit.jupiter:junit-jupiter:5.14.1' + testImplementation 'org.spockframework:spock-core:2.4-groovy-5.0' + testImplementation 'net.bytebuddy:byte-buddy:1.18.1' + testImplementation 'org.objenesis:objenesis:3.5' + testImplementation 'org.apache.groovy:groovy:5.0.4' + testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.14.1' + + errorprone 'com.uber.nullaway:nullaway:0.12.10' + errorprone 'com.google.errorprone:error_prone_core:2.44.0' +} + +tasks.withType(JavaCompile) { + options.release = 25 + options.compilerArgs += ["-parameters"] + options.errorprone { + disableAllChecks = true + check("NullAway", CheckSeverity.ERROR) + option("NullAway:CustomContractAnnotations", "graphql.Contract") + option("NullAway:OnlyNullMarked", "true") + option("NullAway:JSpecifyMode", "true") + } + if (name.toLowerCase().contains("test")) { + options.errorprone { + disable("NullAway") + } + } +} + +tasks.withType(GroovyCompile) { + options.encoding = 'UTF-8' +} + +tasks.withType(Test) { + useJUnitPlatform() + testLogging { + events "FAILED", "SKIPPED" + exceptionFormat = "FULL" + } +} diff --git a/settings.gradle b/settings.gradle index 62e342849..51c903791 100644 --- a/settings.gradle +++ b/settings.gradle @@ -17,3 +17,5 @@ plugins { } rootProject.name = 'graphql-java' + +include 'high-performance'