Skip to content

Commit eef31bc

Browse files
Improve ASM support in vert.x 5.0 (#8285)
Fix failing ASM tests in vert.x 5.0
1 parent 28acd37 commit eef31bc

38 files changed

+2269
-131
lines changed

buildSrc/src/main/groovy/MuzzlePlugin.groovy

+28-22
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ class MuzzlePlugin implements Plugin<Project> {
338338
*/
339339
private static Set<Artifact> muzzleDirectiveToArtifacts(MuzzleDirective muzzleDirective, VersionRangeResult rangeResult) {
340340

341-
final Set<Version> versions = filterAndLimitVersions(rangeResult, muzzleDirective.skipVersions)
341+
final Set<Version> versions = filterAndLimitVersions(rangeResult, muzzleDirective.skipVersions, muzzleDirective.includeSnapshots)
342342

343343
final Set<Artifact> allVersionArtifacts = versions.collect { version ->
344344
new DefaultArtifact(muzzleDirective.group, muzzleDirective.module, muzzleDirective.classifier ?: "", "jar", version.toString())
@@ -371,20 +371,21 @@ class MuzzlePlugin implements Plugin<Project> {
371371
final Set<Version> versions = rangeResult.versions.toSet()
372372
allRangeResult.versions.removeAll(versions)
373373

374-
return filterAndLimitVersions(allRangeResult, muzzleDirective.skipVersions).collect { version ->
374+
return filterAndLimitVersions(allRangeResult, muzzleDirective.skipVersions, muzzleDirective.includeSnapshots).collect { version ->
375375
final MuzzleDirective inverseDirective = new MuzzleDirective()
376376
inverseDirective.name = muzzleDirective.name
377377
inverseDirective.group = muzzleDirective.group
378378
inverseDirective.module = muzzleDirective.module
379379
inverseDirective.versions = "$version"
380380
inverseDirective.assertPass = !muzzleDirective.assertPass
381381
inverseDirective.excludedDependencies = muzzleDirective.excludedDependencies
382+
inverseDirective.includeSnapshots = muzzleDirective.includeSnapshots
382383
inverseDirective
383384
}.toSet()
384385
}
385386

386-
private static Set<Version> filterAndLimitVersions(VersionRangeResult result, Set<String> skipVersions) {
387-
return limitLargeRanges(result, filterVersion(result.versions.toSet(), skipVersions), skipVersions)
387+
private static Set<Version> filterAndLimitVersions(VersionRangeResult result, Set<String> skipVersions, boolean includeSnapshots) {
388+
return limitLargeRanges(result, filterVersion(result.versions.toSet(), skipVersions, includeSnapshots), skipVersions)
388389
}
389390

390391
private static Set<Version> limitLargeRanges(VersionRangeResult result, Set<Version> versions, Set<String> skipVersions) {
@@ -506,26 +507,30 @@ class MuzzlePlugin implements Plugin<Project> {
506507
/**
507508
* Filter out snapshot-type builds from versions list.
508509
*/
509-
private static filterVersion(Set<Version> list, Set<String> skipVersions) {
510+
private static filterVersion(Set<Version> list, Set<String> skipVersions, boolean includeSnapshots) {
510511
list.removeIf {
511512
def version = it.toString().toLowerCase(Locale.ROOT)
512-
return version.endsWith("-snapshot") ||
513-
version.contains("rc") ||
514-
version.contains(".cr") ||
515-
version.contains("alpha") ||
516-
version.contains("beta") ||
517-
version.contains("-b") ||
518-
version.contains(".m") ||
519-
version.contains("-m") ||
520-
version.contains("-dev") ||
521-
version.contains("-ea") ||
522-
version.contains("-atlassian-") ||
523-
version.contains("public_draft") ||
524-
version.contains("-cr") ||
525-
version.contains("-preview") ||
526-
skipVersions.contains(version) ||
527-
version.matches(END_NMN_PATTERN) ||
528-
version.matches(GIT_SHA_PATTERN)
513+
if (includeSnapshots) {
514+
return skipVersions.contains(version)
515+
} else {
516+
return version.endsWith("-snapshot") ||
517+
version.contains("rc") ||
518+
version.contains(".cr") ||
519+
version.contains("alpha") ||
520+
version.contains("beta") ||
521+
version.contains("-b") ||
522+
version.contains(".m") ||
523+
version.contains("-m") ||
524+
version.contains("-dev") ||
525+
version.contains("-ea") ||
526+
version.contains("-atlassian-") ||
527+
version.contains("public_draft") ||
528+
version.contains("-cr") ||
529+
version.contains("-preview") ||
530+
skipVersions.contains(version) ||
531+
version.matches(END_NMN_PATTERN) ||
532+
version.matches(GIT_SHA_PATTERN)
533+
}
529534
}
530535
return list
531536
}
@@ -559,6 +564,7 @@ class MuzzleDirective {
559564
boolean assertInverse = false
560565
boolean skipFromReport = false
561566
boolean coreJdk = false
567+
boolean includeSnapshots = false
562568
String javaVersion
563569

564570
void coreJdk(version = null) {

dd-java-agent/instrumentation/vertx-web-4.0/build.gradle

+3-13
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ ext {
55
// unbound it for latest
66
latestDepTestMinJavaVersionForTests = JavaVersion.VERSION_11
77
latestDepForkedTestMinJavaVersionForTests = JavaVersion.VERSION_11
8-
latest4xTestMaxJavaVersionForTests = JavaVersion.VERSION_25
9-
latest4xForkedTestMaxJavaVersionForTests = JavaVersion.VERSION_25
108
latestDepTestMaxJavaVersionForTests = JavaVersion.VERSION_25
119
latestDepForkedTestMaxJavaVersionForTests = JavaVersion.VERSION_25
1210
}
@@ -17,15 +15,13 @@ muzzle {
1715
pass {
1816
group = 'io.vertx'
1917
module = "vertx-web"
20-
versions = "[4.0.0,)"
18+
versions = "[4.0.0,5)"
2119
assertInverse = true
2220
}
2321
}
2422

2523
addTestSuiteForDir('latestDepTest', 'latestDepTest')
2624
addTestSuiteExtendingForDir('latestDepForkedTest', 'latestDepTest', 'latestDepTest')
27-
addTestSuiteForDir('latest4xTest', 'test')
28-
addTestSuiteExtendingForDir('latest4xForkedTest', 'latest4xTest', 'test')
2925

3026
configurations {
3127
testArtifacts
@@ -54,11 +50,8 @@ dependencies {
5450
testRuntimeOnly project(':dd-java-agent:instrumentation:jackson-core')
5551
testRuntimeOnly project(':dd-java-agent:instrumentation:netty-buffer-4')
5652

57-
latest4xTestImplementation group: 'io.vertx', name: 'vertx-web', version: '4.+'
58-
latest4xTestImplementation group: 'io.vertx', name: 'vertx-web-client', version: '4.+'
59-
60-
latestDepTestImplementation group: 'io.vertx', name: 'vertx-web', version: '+'
61-
latestDepTestImplementation group: 'io.vertx', name: 'vertx-web-client', version: '+'
53+
latestDepTestImplementation group: 'io.vertx', name: 'vertx-web', version: '4.+'
54+
latestDepTestImplementation group: 'io.vertx', name: 'vertx-web-client', version: '4.+'
6255
}
6356

6457
[compileLatestDepTestJava, compileLatestDepForkedTestJava].each {
@@ -67,6 +60,3 @@ dependencies {
6760
[compileLatestDepForkedTestGroovy, compileLatestDepTestGroovy].each {
6861
it.javaLauncher = getJavaLauncherFor(11)
6962
}
70-
[latest4xForkedTest, latest4xTest].each {
71-
it.jvmArgs += '-Dtest.dd.latest4xTest=true'
72-
}

0 commit comments

Comments
 (0)