This is an automated email from the ASF dual-hosted git repository. paulk pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/groovy.git
commit f04f35c015116badbed7f847e617905123e41d68 Author: Paul King <[email protected]> AuthorDate: Sun Aug 6 22:57:29 2023 +1000 GROOVY-11150: Bump JMH to 1.37 (performance test dependency) plus minor refactor --- .../groovy/gradle/PerformanceTestsExtension.groovy | 74 +++++++++++----------- versions.properties | 2 +- 2 files changed, 39 insertions(+), 37 deletions(-) diff --git a/build-logic/src/main/groovy/org/apache/groovy/gradle/PerformanceTestsExtension.groovy b/build-logic/src/main/groovy/org/apache/groovy/gradle/PerformanceTestsExtension.groovy index 4cf8f15074..176e95f94d 100644 --- a/build-logic/src/main/groovy/org/apache/groovy/gradle/PerformanceTestsExtension.groovy +++ b/build-logic/src/main/groovy/org/apache/groovy/gradle/PerformanceTestsExtension.groovy @@ -73,59 +73,61 @@ class PerformanceTestsExtension { void version(String v) { def version = v.replace('.', '_') - def groovyConf = configurations.create("perfGroovy$version") { Configuration it -> - it.canBeResolved = true - it.canBeConsumed = false - it.resolutionStrategy { + def groovyConf = configurations.create("perfGroovy$version") { Configuration conf -> + conf.canBeResolved = true + conf.canBeConsumed = false + conf.resolutionStrategy { disableDependencyVerification() } - it.extendsFrom(configurations.getByName("stats")) - it.attributes { + conf.extendsFrom(configurations.getByName("stats")) + conf.attributes { it.attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category, Category.LIBRARY)) it.attribute(Bundling.BUNDLING_ATTRIBUTE, objects.named(Bundling, Bundling.EXTERNAL)) it.attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, objects.named(LibraryElements, LibraryElements.JAR)) it.attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage, Usage.JAVA_RUNTIME)) } - it.dependencies.add(dependencies.create(v == 'current' ? dependencies.project([path: ':']) : (v.startsWith('4') ? "org.apache.groovy:groovy:$v" : "org.codehaus.groovy:groovy:$v"))) + conf.dependencies.add(dependencies.create(v == 'current' ? dependencies.project([path: ':']) : (v.startsWith('4') ? "org.apache.groovy:groovy:$v" : "org.codehaus.groovy:groovy:$v"))) if (!v.startsWith('2.4')) { - it.dependencies.add(dependencies.create(v == 'current' ? dependencies.project([path: ':groovy-dateutil']) : (v.startsWith('4') ? "org.apache.groovy:groovy-dateutil:$v" : "org.codehaus.groovy:groovy-dateutil:$v"))) - it.dependencies.add(dependencies.create(v == 'current' ? dependencies.project([path: ':groovy-datetime']) : (v.startsWith('4') ? "org.apache.groovy:groovy-datetime:$v" : "org.codehaus.groovy:groovy-datetime:$v"))) + conf.dependencies.add(dependencies.create(v == 'current' ? dependencies.project([path: ':groovy-dateutil']) : (v.startsWith('4') ? "org.apache.groovy:groovy-dateutil:$v" : "org.codehaus.groovy:groovy-dateutil:$v"))) + conf.dependencies.add(dependencies.create(v == 'current' ? dependencies.project([path: ':groovy-datetime']) : (v.startsWith('4') ? "org.apache.groovy:groovy-datetime:$v" : "org.codehaus.groovy:groovy-datetime:$v"))) } - it.dependencies.add(dependencies.create(v == 'current' ? dependencies.project([path: ':groovy-swing']) : (v.startsWith('4') ? "org.apache.groovy:groovy-swing:$v" : "org.codehaus.groovy:groovy-swing:$v"))) - it.dependencies.add(dependencies.create(v == 'current' ? dependencies.project([path: ':groovy-sql']) : (v.startsWith('4') ? "org.apache.groovy:groovy-sql:$v" : "org.codehaus.groovy:groovy-sql:$v"))) - it.dependencies.add(dependencies.create(v == 'current' ? dependencies.project([path: ':groovy-xml']) : (v.startsWith('4') ? "org.apache.groovy:groovy-xml:$v" : "org.codehaus.groovy:groovy-xml:$v"))) - it.dependencies.add(dependencies.create(v == 'current' ? dependencies.project([path: ':groovy-templates']) : (v.startsWith('4') ? "org.apache.groovy:groovy-templates:$v" : "org.codehaus.groovy:groovy-templates:$v"))) - it.dependencies.add(dependencies.create('org.cyberneko:html:1.9.8')) - it.dependencies.add(dependencies.create('commons-net:commons-net:3.9.0')) - it.dependencies.add(dependencies.create('net.sourceforge.htmlunit:htmlunit:2.70.0')) - it.dependencies.add(dependencies.create('com.sleepycat:je:18.3.12')) - it.dependencies.add(dependencies.create('commons-httpclient:commons-httpclient:3.1')) - it.dependencies.add(dependencies.create('net.sf.jopt-simple:jopt-simple:5.0.4')) - it.dependencies.add(dependencies.create('com.baulsupp.kolja:jcurses:0.9.5.3')) - it.dependencies.add(dependencies.create('org.mnode.mstor:mstor:1.0.3')) - it.dependencies.add(dependencies.create('commons-lang:commons-lang:2.6')) - it.dependencies.add(dependencies.create('dnsjava:dnsjava:3.5.2')) - it.dependencies.add(dependencies.create('net.sourceforge.expectj:expectj:2.0.7')) - it.dependencies.add(dependencies.create('jline:jline:2.14.6')) - it.dependencies.add(dependencies.create('prevayler:prevayler:2.02.005')) + conf.dependencies.add(dependencies.create(v == 'current' ? dependencies.project([path: ':groovy-swing']) : (v.startsWith('4') ? "org.apache.groovy:groovy-swing:$v" : "org.codehaus.groovy:groovy-swing:$v"))) + conf.dependencies.add(dependencies.create(v == 'current' ? dependencies.project([path: ':groovy-sql']) : (v.startsWith('4') ? "org.apache.groovy:groovy-sql:$v" : "org.codehaus.groovy:groovy-sql:$v"))) + conf.dependencies.add(dependencies.create(v == 'current' ? dependencies.project([path: ':groovy-xml']) : (v.startsWith('4') ? "org.apache.groovy:groovy-xml:$v" : "org.codehaus.groovy:groovy-xml:$v"))) + conf.dependencies.add(dependencies.create(v == 'current' ? dependencies.project([path: ':groovy-templates']) : (v.startsWith('4') ? "org.apache.groovy:groovy-templates:$v" : "org.codehaus.groovy:groovy-templates:$v"))) + [ + 'org.cyberneko:html:1.9.8', + 'commons-net:commons-net:3.9.0', + 'net.sourceforge.htmlunit:htmlunit:2.70.0', + 'com.sleepycat:je:18.3.12', + 'commons-httpclient:commons-httpclient:3.1', + 'net.sf.jopt-simple:jopt-simple:5.0.4', + 'com.baulsupp.kolja:jcurses:0.9.5.3', + 'org.mnode.mstor:mstor:1.0.3', + 'commons-lang:commons-lang:2.6', + 'dnsjava:dnsjava:3.5.2', + 'net.sourceforge.expectj:expectj:2.0.7', + 'jline:jline:2.14.6', + 'prevayler:prevayler:2.02.005', + 'xerces:xercesImpl:2.12.2' + ].each {conf.dependencies.add(dependencies.create(it)) } } def outputFile = layout.buildDirectory.file("compilation-stats-${version}.csv") - def perfTest = tasks.register("performanceTestGroovy${version}", JavaExec) { - it.group = "Performance tests" - it.mainClass.set('org.apache.groovy.perf.CompilerPerformanceTest') - it.classpath(groovyConf, sourceSets.getByName('test').output) - it.jvmArgs = ['-Xms512m', '-Xmx512m'] - it.outputs.file(outputFile) - def je = it - it.doFirst { + def perfTest = tasks.register("performanceTestGroovy${version}", JavaExec) { je -> + je.group = "Performance tests" + je.mainClass.set('org.apache.groovy.perf.CompilerPerformanceTest') + je.classpath(groovyConf, sourceSets.getByName('test').output) + je.jvmArgs = ['-Xms512m', '-Xmx512m'] + je.outputs.file(outputFile) + je.doFirst { def args = [outputFile.get().toString(), "-cp", groovyConf.asPath] args.addAll(testFiles.collect { it.toString() }) je.setArgs(args) println je.args.asList() } } - tasks.named("performanceTests", PerformanceTestSummary) { - it.csvFiles.from(perfTest) + tasks.named("performanceTests", PerformanceTestSummary) { pts -> + pts.csvFiles.from(perfTest) } } } diff --git a/versions.properties b/versions.properties index 72fcd7ad09..de21116c39 100644 --- a/versions.properties +++ b/versions.properties @@ -34,7 +34,7 @@ jackson=2.15.2 jarjar=1.8.0 javaParser=3.25.4 jline=2.14.6 -jmh=1.36 +jmh=1.37 jruby=9.2.17.0 logback=1.4.9 junit=4.13.2
