This is an automated email from the ASF dual-hosted git repository.
snuyanzin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/calcite.git
The following commit(s) were added to refs/heads/main by this push:
new d274429186 [CALCITE-6174] Upgrade gradle from 7.6.1 to 8.7
d274429186 is described below
commit d2744291866df4103d09090d07e2e0270829521f
Author: Sergey Nuyanzin <[email protected]>
AuthorDate: Mon Jun 5 11:44:37 2023 +0200
[CALCITE-6174] Upgrade gradle from 7.6.1 to 8.7
Gradle wrapper task is removed since now
for the same functionality there could be used
`./gradlew wrapper --gradle-version=<new_gradle_version>
--gradle-distribution-sha256-sum=<distribution-sum>`
Dependencies bumped
gradle rat plugin from 0.7.0 to 0.8.1
jmh plugin from 0.5.3 to 0.7.2
jacoco from 0.8.10 to 0.8.12
kotlin from 1.7.10 to 1.9.22
Sonarplugin version to use in sonarqube is now 4.4.1.3373
There is still need to keep 3.x version in gradle.properties
to make it compilable with jdk8
Replaced deprecated `capitalize`, `html.isEnabled`, `xml.isEnabled`,
`JavaPluginConvention` and `buildDir` in `build.gradle.kts` files
Close apache/calcite#3591
---
Jenkinsfile | 4 +-
build.gradle.kts | 66 ++++++++++++++-------
buildSrc/build.gradle.kts | 7 ++-
buildSrc/settings.gradle.kts | 2 +-
.../apache/calcite/buildtools/javacc/JavaCCTask.kt | 2 +-
core/build.gradle.kts | 17 ++++--
gradle.properties | 8 +--
gradle/wrapper/gradle-wrapper.jar | Bin 61574 -> 43462 bytes
gradle/wrapper/gradle-wrapper.properties | 5 +-
gradlew | 29 +++++----
settings.gradle.kts | 2 +-
site/_docs/howto.md | 10 ++--
testkit/build.gradle.kts | 6 ++
ubenchmark/build.gradle.kts | 8 +--
14 files changed, 107 insertions(+), 59 deletions(-)
diff --git a/Jenkinsfile b/Jenkinsfile
index 53cc1e6f31..7ff37aba28 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -44,9 +44,9 @@ node('ubuntu') {
withEnv(["Path+JDK=$JAVA_JDK_17/bin","JAVA_HOME=$JAVA_JDK_17"]) {
withCredentials([string(credentialsId: 'SONARCLOUD_TOKEN', variable:
'SONAR_TOKEN')]) {
if ( env.BRANCH_NAME.startsWith("PR-") ) {
- sh './gradlew --no-parallel --no-daemon jacocoAggregateTestReport
sonar -PenableJacoco -Dsonar.pullrequest.branch=${CHANGE_BRANCH}
-Dsonar.pullrequest.base=${CHANGE_TARGET} -Dsonar.pullrequest.key=${CHANGE_ID}
-Dsonar.login=${SONAR_TOKEN}'
+ sh './gradlew --no-parallel --no-daemon jacocoAggregateTestReport
sonar -PenableJacoco -Porg.sonarqube.version=4.4.1.3373
-Dsonar.pullrequest.branch=${CHANGE_BRANCH}
-Dsonar.pullrequest.base=${CHANGE_TARGET} -Dsonar.pullrequest.key=${CHANGE_ID}
-Dsonar.login=${SONAR_TOKEN}'
} else {
- sh './gradlew --no-parallel --no-daemon jacocoAggregateTestReport
sonar -PenableJacoco -Dsonar.branch.name=${BRANCH_NAME}
-Dsonar.login=${SONAR_TOKEN}'
+ sh './gradlew --no-parallel --no-daemon jacocoAggregateTestReport
sonar -PenableJacoco -Porg.sonarqube.version=4.4.1.3373
-Dsonar.branch.name=${BRANCH_NAME} -Dsonar.login=${SONAR_TOKEN}'
}
}
}
diff --git a/build.gradle.kts b/build.gradle.kts
index 0f4ff553db..60d340ac34 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -25,12 +25,12 @@ import com.github.vlsi.gradle.properties.dsl.props
import com.github.vlsi.gradle.release.RepositoryType
import de.thetaphi.forbiddenapis.gradle.CheckForbiddenApis
import de.thetaphi.forbiddenapis.gradle.CheckForbiddenApisExtension
-import java.net.URI
import net.ltgt.gradle.errorprone.errorprone
import org.apache.calcite.buildtools.buildext.dsl.ParenthesisBalancer
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
plugins {
+ base
// java-base is needed for platform(...) resolution,
// see https://github.com/gradle/gradle/issues/14822
`java-base`
@@ -68,11 +68,6 @@ repositories {
tasks.wrapper {
distributionType = Wrapper.DistributionType.BIN
- doLast {
- val sha256Uri = URI("$distributionUrl.sha256")
- val sha256Sum = String(sha256Uri.toURL().readBytes())
- propertiesFile.appendText("distributionSha256Sum=${sha256Sum}\n")
- }
}
fun reportsForHumans() = !(System.getenv()["CI"]?.toBoolean() ?: false)
@@ -193,7 +188,7 @@ val javadocAggregate by tasks.registering(Javadoc::class) {
classpath = files(sourceSets.map { set -> set.map { it.output +
it.compileClasspath } })
setSource(sourceSets.map { set -> set.map { it.allJava } })
- setDestinationDir(file("$buildDir/docs/javadocAggregate"))
+
setDestinationDir(file(layout.buildDirectory.get().file("docs/javadocAggregate")))
}
/** Similar to {@link #javadocAggregate} but includes tests.
@@ -208,7 +203,7 @@ val javadocAggregateIncludingTests by
tasks.registering(Javadoc::class) {
classpath = files(sourceSets.map { set -> set.map { it.output +
it.compileClasspath } })
setSource(sourceSets.map { set -> set.map { it.allJava } })
- setDestinationDir(file("$buildDir/docs/javadocAggregateIncludingTests"))
+
setDestinationDir(file(layout.buildDirectory.get().file("docs/javadocAggregateIncludingTests")))
}
val adaptersForSqlline = listOf(
@@ -232,6 +227,21 @@ val sqllineClasspath by configurations.creating {
}
}
+@CacheableRule
+abstract class AddDependenciesRule @Inject constructor(val dependencies:
List<String>) : ComponentMetadataRule {
+ override fun execute(context: ComponentMetadataContext) {
+ listOf("compile", "runtime").forEach { base ->
+ context.details.withVariant(base) {
+ withDependencies {
+ dependencies.forEach {
+ add(it)
+ }
+ }
+ }
+ }
+ }
+}
+
dependencies {
sqllineClasspath(platform(project(":bom")))
sqllineClasspath(project(":testkit"))
@@ -239,12 +249,21 @@ dependencies {
for (p in adaptersForSqlline) {
sqllineClasspath(project(p))
}
+
+ components {
+ for (m in dataSetsForSqlline) {
+ withModule<AddDependenciesRule>(m)
+ }
+ }
+
for (m in dataSetsForSqlline) {
- sqllineClasspath(module(m))
+ sqllineClasspath(m)
}
if (enableJacoco) {
for (p in subprojects) {
- jacocoAggregation(p)
+ if (p.name != "bom") {
+ jacocoAggregation(p)
+ }
}
}
}
@@ -318,7 +337,7 @@ fun
com.github.autostyle.gradle.BaseFormatExtension.license() {
sonarqube {
properties {
property("sonar.test.inclusions", "**/*Test*/**")
- property("sonar.coverage.jacoco.xmlReportPaths",
"$buildDir/reports/jacoco/jacocoAggregateTestReport/jacocoAggregateTestReport.xml")
+ property("sonar.coverage.jacoco.xmlReportPaths",
layout.buildDirectory.get().file("reports/jacoco/jacocoAggregateTestReport/jacocoAggregateTestReport.xml"))
}
}
@@ -449,7 +468,7 @@ allprojects {
// Unfortunately, Gradle passes only config_loc variable by
default, so we make
// all the paths relative to config_loc
configProperties!!["cache_file"] =
- buildDir.resolve("checkstyle/cacheFile").relativeTo(configLoc)
+
layout.buildDirectory.asFile.get().resolve("checkstyle/cacheFile").relativeTo(configLoc)
}
// afterEvaluate is to support late sourceSet addition (e.g. jmh
sourceset)
afterEvaluate {
@@ -512,7 +531,7 @@ allprojects {
}
plugins.withType<JavaPlugin> {
- configure<JavaPluginConvention> {
+ configure<JavaPluginExtension> {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
@@ -800,7 +819,7 @@ allprojects {
}
}
configureEach<Test> {
- outputs.cacheIf("test results depend on the database
configuration, so we souldn't cache it") {
+ outputs.cacheIf("test results depend on the database
configuration, so we shouldn't cache it") {
false
}
useJUnitPlatform {
@@ -850,8 +869,8 @@ allprojects {
description = "$description (skipped by default, to enable
it add -Dspotbugs)"
}
reports {
- html.isEnabled = reportsForHumans()
- xml.isEnabled = !reportsForHumans()
+ html.required.set(reportsForHumans())
+ xml.required.set(!reportsForHumans())
}
enabled = enableSpotBugs
}
@@ -908,8 +927,9 @@ allprojects {
archives(sourcesJar)
}
- val archivesBaseName = "calcite-$name"
- setProperty("archivesBaseName", archivesBaseName)
+ base {
+ archivesName.set("calcite-$name")
+ }
configure<PublishingExtension> {
if (project.path == ":") {
@@ -922,7 +942,7 @@ allprojects {
}
publications {
create<MavenPublication>(project.name) {
- artifactId = archivesBaseName
+ artifactId = base.archivesName.get()
version = rootProject.version.toString()
description = project.description
from(components["java"])
@@ -964,10 +984,14 @@ allprojects {
// Re-format the XML
asNode()
}
+
+ fun capitalize(input: String): String {
+ return input.replaceFirstChar { it.uppercaseChar()
}
+ }
name.set(
- (project.findProperty("artifact.name") as? String)
?: "Calcite ${project.name.capitalize()}"
+ (project.findProperty("artifact.name") as? String)
?: "Calcite ${capitalize(project.name)}"
)
- description.set(project.description ?: "Calcite
${project.name.capitalize()}")
+ description.set(project.description ?: "Calcite
${capitalize(project.name)}")
inceptionYear.set("2012")
url.set("https://calcite.apache.org")
licenses {
diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts
index 06f486a9fc..fdf111eef7 100644
--- a/buildSrc/build.gradle.kts
+++ b/buildSrc/build.gradle.kts
@@ -45,6 +45,11 @@ allprojects {
dirMode = "775".toInt(8)
fileMode = "664".toInt(8)
}
+
+ java {
+ sourceCompatibility = JavaVersion.VERSION_1_8
+ targetCompatibility = JavaVersion.VERSION_1_8
+ }
}
fun Project.applyKotlinProjectConventions() {
@@ -52,7 +57,7 @@ fun Project.applyKotlinProjectConventions() {
apply(plugin = "org.gradle.kotlin.kotlin-dsl")
}
- tasks.withType<KotlinCompile> {
+ tasks.withType<KotlinCompile>().configureEach {
kotlinOptions {
jvmTarget = "1.8"
}
diff --git a/buildSrc/settings.gradle.kts b/buildSrc/settings.gradle.kts
index 1149c90d8d..e3b6a38b80 100644
--- a/buildSrc/settings.gradle.kts
+++ b/buildSrc/settings.gradle.kts
@@ -31,7 +31,7 @@ include("buildext")
val upperCaseLetters = "\\p{Upper}".toRegex()
fun String.toKebabCase() =
- replace(upperCaseLetters) { "-${it.value.toLowerCase()}" }
+ replace(upperCaseLetters) { "-${it.value.lowercase()}" }
fun buildFileNameFor(projectDirName: String) =
"$projectDirName.gradle.kts"
diff --git
a/buildSrc/subprojects/javacc/src/main/kotlin/org/apache/calcite/buildtools/javacc/JavaCCTask.kt
b/buildSrc/subprojects/javacc/src/main/kotlin/org/apache/calcite/buildtools/javacc/JavaCCTask.kt
index 340b7d8cbd..3827062189 100644
---
a/buildSrc/subprojects/javacc/src/main/kotlin/org/apache/calcite/buildtools/javacc/JavaCCTask.kt
+++
b/buildSrc/subprojects/javacc/src/main/kotlin/org/apache/calcite/buildtools/javacc/JavaCCTask.kt
@@ -63,7 +63,7 @@ open class JavaCCTask @Inject constructor(
project.javaexec {
classpath = javaCCClasspath.get()
// The class is in the top-level package
- main = "javacc"
+ getMainClass().set("javacc")
args("-STATIC=${static.get()}")
args("-LOOKAHEAD:${lookAhead.get()}")
args("-OUTPUT_DIRECTORY:${output.get()}/${packageName.get().replace('.', '/')}")
diff --git a/core/build.gradle.kts b/core/build.gradle.kts
index 9674eb8d92..ede7dfee7b 100644
--- a/core/build.gradle.kts
+++ b/core/build.gradle.kts
@@ -114,7 +114,7 @@ tasks.jar {
}
}
-val generatedVersionDir = File(buildDir, "generated/sources/version")
+val generatedVersionDir =
layout.buildDirectory.get().file("generated/sources/version")
val versionClass by tasks.registering(Sync::class) {
val re = Regex("^(\\d+)\\.(\\d+).*")
@@ -150,7 +150,7 @@ val versionClass by tasks.registering(Sync::class) {
}
ide {
- generatedJavaSources(versionClass.get(), generatedVersionDir)
+ generatedJavaSources(versionClass.get(), generatedVersionDir.asFile)
}
sourceSets {
@@ -212,6 +212,11 @@ tasks.withType<AutostyleTask>().configureEach {
mustRunAfter(javaCCTest)
}
+tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach
{
+ kotlinOptions {
+ jvmTarget = "1.8"
+ }
+}
ide {
fun generatedSource(javacc:
TaskProvider<org.apache.calcite.buildtools.javacc.JavaCCTask>, sourceSet:
String) =
generatedJavaSources(javacc.get(), javacc.get().output.get().asFile,
sourceSets.named(sourceSet))
@@ -271,8 +276,12 @@ val integTestAll by tasks.registering() {
description = "Executes integration JDBC tests for all DBs"
}
+fun capitalize(input: String): String {
+ return input.replaceFirstChar { it.uppercaseChar() }
+}
+
for (db in listOf("h2", "mysql", "oracle", "postgresql")) {
- val task = tasks.register("integTest" + db.capitalize(), Test::class) {
+ val task = tasks.register("integTest" + capitalize(db), Test::class) {
group = LifecycleBasePlugin.VERIFICATION_GROUP
description = "Executes integration JDBC tests with $db database"
include("org/apache/calcite/test/JdbcAdapterTest.class")
@@ -280,7 +289,7 @@ for (db in listOf("h2", "mysql", "oracle", "postgresql")) {
systemProperty("calcite.test.db", db)
// Include the jars from the custom configuration to the classpath
// otherwise the JDBC drivers for each DBMS will be missing
- classpath = classpath + configurations.getAt("test" + db.capitalize())
+ classpath += configurations.getAt("test" + capitalize(db))
}
integTestAll {
dependsOn(task)
diff --git a/gradle.properties b/gradle.properties
index 3015b91b3d..e43da37095 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -51,12 +51,12 @@ com.github.spotbugs.version=2.0.0
com.github.vlsi.vlsi-release-plugins.version=1.90
com.google.protobuf.version=0.8.10
de.thetaphi.forbiddenapis.version=3.5.1
-jacoco.version=0.8.10
-kotlin.version=1.7.10
+jacoco.version=0.8.12
+kotlin.version=1.9.22
net.ltgt.errorprone.version=1.3.0
-me.champeau.gradle.jmh.version=0.5.3
+me.champeau.jmh.version=0.7.2
org.jetbrains.gradle.plugin.idea-ext.version=0.5
-org.nosphere.apache.rat.version=0.7.0
+org.nosphere.apache.rat.version=0.8.1
org.owasp.dependencycheck.version=6.1.6
org.sonarqube.version=3.5.0.2730
com.gradle.enterprise.version=3.13.2
diff --git a/gradle/wrapper/gradle-wrapper.jar
b/gradle/wrapper/gradle-wrapper.jar
index 943f0cbfa7..d64cd49177 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and
b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties
b/gradle/wrapper/gradle-wrapper.properties
index 49b350a3a5..bcc1d6e79e 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -16,8 +16,9 @@
#
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip
+distributionSha256Sum=544c35d6bd849ae8a5ed0bcea39ba677dc40f49df7d1835561582da2009b961d
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionSha256Sum=6147605a23b4eff6c334927a86ff3508cb5d6722cd624c97ded4c2e8640f1f87
diff --git a/gradlew b/gradlew
index 65dcd68d65..1aa94a4269 100755
--- a/gradlew
+++ b/gradlew
@@ -83,10 +83,8 @@ done
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
-APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to
pass JVM options to this script.
-DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+# Discard cd standard output in case $CDPATH is set
(https://github.com/gradle/gradle/issues/25036)
+APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
@@ -133,10 +131,13 @@ location of your Java installation."
fi
else
JAVACMD=java
- which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no
'java' command could be found in your PATH.
+ if ! command -v java >/dev/null 2>&1
+ then
+ die "ERROR: JAVA_HOME is not set and no 'java' command could be found
in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
+ fi
fi
# Increase the maximum file descriptors if we can.
@@ -144,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is
checked to see if it worked.
- # shellcheck disable=SC3045
+ # shellcheck disable=SC2039,SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
@@ -152,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is
checked to see if it worked.
- # shellcheck disable=SC3045
+ # shellcheck disable=SC2039,SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
@@ -197,11 +198,15 @@ if "$cygwin" || "$msys" ; then
done
fi
-# Collect all arguments for the java command;
-# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
-# shell script including quotes and variable substitutions, so put them in
-# double quotes to make sure that they get re-expanded; and
-# * put everything else in single quotes, so that it's not re-expanded.
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to
pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Collect all arguments for the java command:
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not
allowed to contain shell fragments,
+# and any embedded shellness will be escaped.
+# * For example: A user cannot expect ${Hostname} to be expanded, as it is
an environment variable and will be
+# treated as '${Hostname}' itself on the command line.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
diff --git a/settings.gradle.kts b/settings.gradle.kts
index adb373f79b..9033080d1d 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -38,7 +38,7 @@ pluginManagement {
idv("com.google.protobuf")
idv("de.thetaphi.forbiddenapis")
idv("jacoco")
- idv("me.champeau.gradle.jmh")
+ idv("me.champeau.jmh")
idv("net.ltgt.errorprone")
idv("org.jetbrains.gradle.plugin.idea-ext")
idv("org.nosphere.apache.rat")
diff --git a/site/_docs/howto.md b/site/_docs/howto.md
index 26571eb5b3..9304c153f6 100644
--- a/site/_docs/howto.md
+++ b/site/_docs/howto.md
@@ -32,7 +32,7 @@ adapters.
## Building from a source distribution
Prerequisite is Java (JDK 8, 11, 17 or 19)
-and Gradle (version 7.6.1) on your path.
+and Gradle (version 8.7) on your path.
Unpack the source distribution `.tar.gz` file,
`cd` to the root directory of the unpacked source,
@@ -91,7 +91,7 @@ For more information about Gradle, check the following links:
## Upgrade Gradle and the Gradle Wrapper
-Gradle's
[documentation](https://docs.gradle.org/current/userguide/upgrading_version_7.html)
+Gradle's
[documentation](https://docs.gradle.org/current/userguide/upgrading_version_8.html)
provides detailed information about how to upgrade Gradle. Here is a list of
steps:
1. Run `./gradlew help --warning-mode=all` to find out whether you are
@@ -99,10 +99,8 @@ provides detailed information about how to upgrade Gradle.
Here is a list of ste
2. Fix the deprecations and repeat the previous step to confirm they are
fixed. This is a step where Gradle doc could be very helpful since it
contains info about deprecations and how to cope with them.
-3. Run `./gradlew wrapper --gradle-version <new_gradle_version>` to upgrade
- Gradle. If necessary it will also upgrade the Gradle Wrapper.
- This step also updates `gradle/wrapper/gradle-wrapper.properties`,
- including the checksum.
+3. Run `./gradlew wrapper --gradle-version=<new_gradle_version>
--gradle-distribution-sha256-sum=<distribution-sum>`
+ to upgrade Gradle. Checksum should be taken from [Gradle release
checksums](https://gradle.org/release-checksums/).
4. Check and update Kotlin version in `gradle.properties` if required.
Check should be done against [Kotlin compatibility
matrix](https://docs.gradle.org/current/userguide/compatibility.html#kotlin).
5. Step 3 will have removed the header from
diff --git a/testkit/build.gradle.kts b/testkit/build.gradle.kts
index 5f4ab9f554..dba83160d3 100644
--- a/testkit/build.gradle.kts
+++ b/testkit/build.gradle.kts
@@ -41,3 +41,9 @@ dependencies {
testImplementation(kotlin("test"))
testImplementation(kotlin("test-junit5"))
}
+
+tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach
{
+ kotlinOptions {
+ jvmTarget = "1.8"
+ }
+}
diff --git a/ubenchmark/build.gradle.kts b/ubenchmark/build.gradle.kts
index 7af86bb461..1764da53f5 100644
--- a/ubenchmark/build.gradle.kts
+++ b/ubenchmark/build.gradle.kts
@@ -15,7 +15,7 @@
* limitations under the License.
*/
plugins {
- id("me.champeau.gradle.jmh")
+ id("me.champeau.jmh")
}
dependencies {
@@ -31,7 +31,7 @@ dependencies {
}
// See https://github.com/melix/jmh-gradle-plugin
-// Unfortunately, current jmh-gradle-plugin does not allow to cusomize jmh
parameters from the
+// Unfortunately, current jmh-gradle-plugin does not allow to customize jmh
parameters from the
// command line, so the workarounds are:
// a) Build and execute the jar itself: ./gradlew jmhJar && java -jar
build/libs/calcite-...jar JMH_OPTIONS
// b) Execute benchmarks via .main() methods from IDE (you might want to
activate "power save mode"
@@ -44,7 +44,7 @@ tasks.withType<JavaExec>().configureEach {
// At best jmh plugin should add the generated directories to the
Gradle model, however,
// currently it builds the jar only :-/
// IntelliJ IDEA "execute main method" adds a JavaExec task, so we
configure it
- classpath(File(buildDir, "jmh-generated-classes"))
- classpath(File(buildDir, "jmh-generated-resources"))
+ classpath(File(layout.buildDirectory.asFile.get(),
"jmh-generated-classes"))
+ classpath(File(layout.buildDirectory.asFile.get(),
"jmh-generated-resources"))
}
}