build-logic/build-parameters/build.gradle.kts (106 lines of code) (raw):

/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to you under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ plugins { id("org.gradlex.build-parameters") version "1.4.4" id("com.github.vlsi.gradle-extensions") version "1.90" id("build-logic.kotlin-dsl-gradle-plugin") } buildParameters { // Other plugins can contribute parameters, so below list is not exhaustive enableValidation.set(false) pluginId("build-logic.build-params") bool("enableMavenLocal") { defaultValue.set(true) description.set("Add mavenLocal() to repositories") } bool("enableJavaFx") { defaultValue.set(false) description.set("Build and include classes that depend on JavaFX. Disabled by default since JavaFX is not included in the default Java distributions") } bool("coverage") { defaultValue.set(false) description.set("Collect test coverage") } integer("targetJavaVersion") { defaultValue.set(17) mandatory.set(true) description.set("Java version for source and target compatibility") } integer("jdkBuildVersion") { defaultValue.set(17) mandatory.set(true) description.set("JDK version to use for building JMeter. If the value is 0, then the current Java is used. (see https://docs.gradle.org/8.0/userguide/toolchains.html#sec:consuming)") } string("jdkBuildVendor") { description.set("JDK vendor to use building JMeter (see https://docs.gradle.org/8.0/userguide/toolchains.html#sec:vendors)") } string("jdkBuildImplementation") { description.set("Vendor-specific virtual machine implementation to use building JMeter (see https://docs.gradle.org/8.0/userguide/toolchains.html#selecting_toolchains_by_virtual_machine_implementation)") } integer("jdkTestVersion") { description.set("JDK version to use for testing JMeter. If the value is 0, then the current Java is used. (see https://docs.gradle.org/8.0/userguide/toolchains.html#sec:consuming)") } string("jdkTestVendor") { description.set("JDK vendor to use testing JMeter (see https://docs.gradle.org/8.0/userguide/toolchains.html#sec:vendors)") } string("jdkTestImplementation") { description.set("Vendor-specific virtual machine implementation to use testing JMeter (see https://docs.gradle.org/8.0/userguide/toolchains.html#selecting_toolchains_by_virtual_machine_implementation)") } bool("spotbugs") { defaultValue.set(false) description.set("Run SpotBugs verifications") } bool("sonarqube") { defaultValue.set(false) description.set("Report verification results to Sonarqube") } bool("ignoreSpotBugsFailures") { defaultValue.set(false) description.set("Ignore SpotBugs failures") } bool("enableCheckerframework") { defaultValue.set(false) description.set("Run CheckerFramework (nullness) verifications") } bool("skipAutostyle") { defaultValue.set(false) description.set("Skip AutoStyle verifications") } bool("skipCheckstyle") { defaultValue.set(false) description.set("Skip Checkstyle verifications") } bool("skipDist") { defaultValue.set(false) description.set("Allow to skip building source/binary distributions") } bool("skipForbiddenApis") { defaultValue.set(true) description.set("Skip forbidden-apis verifications") } bool("suppressPomMetadataWarnings") { defaultValue.set(true) description.set("Skip suppressPomMetadataWarningsFor warnings triggered by inability to map test fixtures dependences to Maven pom.xml") } bool("enableErrorprone") { // By default, disable errorProne in CI so we don't perform the same checks in several jobs defaultValue.set(System.getenv("CI") != "true") description.set("Enable ErrorProne verifications") } bool("skipJavadoc") { defaultValue.set(false) description.set("Skip javadoc generation") } bool("failOnJavadocWarning") { defaultValue.set(true) description.set("Fail build on javadoc warnings") } bool("enableGradleMetadata") { defaultValue.set(false) description.set("Generate and publish Gradle Module Metadata") } bool("useGpgCmd") { defaultValue.set(false) description.set("By default use Java implementation to sign artifacts. When useGpgCmd=true, then gpg command line tool is used for signing artifacts") } bool("werror") { defaultValue.set(true) description.set("Treat javac, javadoc, kotlinc warnings as errors") } }