Skip to content

Commit 60a3b9d

Browse files
bric3amarziali
andauthored
Split jetty-server-9.0 project setup to multiple modules (#9683)
* wip # Conflicts: # dd-java-agent/instrumentation/jetty/jetty-server/jetty-server-9.0/build.gradle * wip jetty 9.4.21 * wipwip * fix: muzzle depes * wip jetty 10.0 * style: make google-java-format happy * Fix jetty 11 test * jetty 10 * fix: Jersey tests * fix: javax-servlet tests * fix: jersey-server-9.4.21 websocket tests * fix: cxf-2.1 tests --------- Co-authored-by: Andrea Marziali <andrea.marziali@datadoghq.com>
1 parent 456ad68 commit 60a3b9d

File tree

53 files changed

+1057
-219
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+1057
-219
lines changed

dd-java-agent/instrumentation/cxf-2.1/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ dependencies {
6060
testRuntimeOnly project(':dd-java-agent:instrumentation:jetty:jetty-server:jetty-server-7.0')
6161
testRuntimeOnly project(':dd-java-agent:instrumentation:jetty:jetty-server:jetty-server-7.6')
6262
testRuntimeOnly project(':dd-java-agent:instrumentation:jetty:jetty-server:jetty-server-9.0')
63+
testRuntimeOnly project(':dd-java-agent:instrumentation:jetty:jetty-server:jetty-server-10.0')
6364
testRuntimeOnly project(':dd-java-agent:instrumentation:jetty:jetty-server:jetty-server-11.0')
6465
testRuntimeOnly project(':dd-java-agent:instrumentation:jetty:jetty-server:jetty-server-12.0')
6566
testRuntimeOnly project(':dd-java-agent:instrumentation:trace-annotation')

dd-java-agent/instrumentation/jersey/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ dependencies {
5353
jersey2JettyTestRuntimeOnly group: 'javax.activation', name: 'javax.activation-api', version: '1.2.0'
5454
jersey2JettyTestRuntimeOnly group: 'javax.xml.bind', name: 'jaxb-api', version: '2.2.3'
5555
jersey2JettyTestRuntimeOnly project(':dd-java-agent:instrumentation:jetty:jetty-server:jetty-server-9.0')
56+
jersey2JettyTestRuntimeOnly project(':dd-java-agent:instrumentation:jetty:jetty-server:jetty-server-9.0.4')
5657
jersey2JettyTestRuntimeOnly project(':dd-java-agent:instrumentation:jersey-2-appsec')
5758
jersey2JettyTestRuntimeOnly project(':dd-java-agent:instrumentation:jax-rs-annotations-2')
5859

@@ -68,6 +69,7 @@ dependencies {
6869
jersey3JettyTestRuntimeOnly group: 'javax.activation', name: 'javax.activation-api', version: '1.2.0'
6970
jersey3JettyTestRuntimeOnly group: 'javax.xml.bind', name: 'jaxb-api', version: '2.2.3'
7071
jersey3JettyTestRuntimeOnly project(':dd-java-agent:instrumentation:jetty:jetty-server:jetty-server-9.0')
72+
jersey3JettyTestRuntimeOnly project(':dd-java-agent:instrumentation:jetty:jetty-server:jetty-server-10.0')
7173
jersey3JettyTestRuntimeOnly project(':dd-java-agent:instrumentation:jetty:jetty-server:jetty-server-11.0')
7274
jersey3JettyTestRuntimeOnly project(':dd-java-agent:instrumentation:jersey-2-appsec')
7375
jersey3JettyTestRuntimeOnly project(':dd-java-agent:instrumentation:jersey-3-appsec')
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
ext {
2+
minJavaVersionForTests = JavaVersion.VERSION_11
3+
}
4+
5+
muzzle {
6+
pass {
7+
name = "10_series"
8+
group = "org.eclipse.jetty"
9+
module = 'jetty-server'
10+
versions = "[10,11)"
11+
assertInverse = true
12+
javaVersion = 11
13+
}
14+
pass {
15+
name = "after_10"
16+
group = "org.eclipse.jetty"
17+
module = 'jetty-server'
18+
versions = "[10,12)"
19+
assertInverse = true
20+
javaVersion = 11
21+
}
22+
pass {
23+
name = 'named_dispatches'
24+
group = 'org.eclipse.jetty'
25+
module = 'jetty-server'
26+
versions = "[10.0.16,11),[11.0.16,12)"
27+
assertInverse = true
28+
//extraDependency "javax.servlet:javax.servlet-api:3.1.0"
29+
//extraDependency "jakarta.servlet:jakarta.servlet-api:5.0.0"
30+
javaVersion = 11
31+
}
32+
}
33+
34+
apply from: "$rootDir/gradle/java.gradle"
35+
apply plugin: "idea"
36+
37+
addTestSuiteForDir("latestDepTest", "test")
38+
addTestSuiteExtendingForDir("latestDepForkedTest", "latestDepTest", "test")
39+
40+
dependencies {
41+
main_java11Implementation project(':dd-java-agent:instrumentation:jetty:jetty-common')
42+
main_java11Implementation project(':dd-java-agent:instrumentation:jetty:jetty-server:jetty-server-9.0')
43+
main_java11CompileOnly group: 'org.eclipse.jetty', name: 'jetty-server', version: '10.0.0'
44+
45+
// Don't want to conflict with jetty from the test server.
46+
testImplementation(project(':dd-java-agent:instrumentation-testing')) {
47+
exclude group: 'org.eclipse.jetty', module: 'jetty-server'
48+
}
49+
testImplementation project(':dd-java-agent:instrumentation:jetty:jetty-util-9.4.31')
50+
51+
testImplementation group: 'org.eclipse.jetty', name: 'jetty-server', version: '10.0.0'
52+
testImplementation group: 'org.eclipse.jetty', name: 'jetty-servlet', version: '10.0.0'
53+
testImplementation group: 'org.eclipse.jetty.websocket', name: 'websocket-javax-server', version: '10.0.0'
54+
testImplementation project(':dd-java-agent:appsec:appsec-test-fixtures')
55+
testImplementation testFixtures(project(":dd-java-agent:instrumentation:jetty:jetty-server:jetty-server-9.0"))
56+
testImplementation testFixtures(project(':dd-java-agent:instrumentation:servlet:javax-servlet:javax-servlet-3.0'))
57+
58+
// Include all jetty-server instrumentation modules for testing. Only the version-compatible module will apply at runtime.
59+
testRuntimeOnly project(":dd-java-agent:instrumentation:jetty:jetty-server:jetty-server-9.0")
60+
testRuntimeOnly project(':dd-java-agent:instrumentation:servlet:javax-servlet:javax-servlet-2.2')
61+
testRuntimeOnly project(':dd-java-agent:instrumentation:websocket:javax-websocket-1.0')
62+
// Include all appsec instrumentation modules for testing. Only the version-compatible module will apply at runtime.
63+
testRuntimeOnly project(':dd-java-agent:instrumentation:jetty:jetty-appsec:jetty-appsec-7.0')
64+
testRuntimeOnly project(':dd-java-agent:instrumentation:jetty:jetty-appsec:jetty-appsec-8.1.3')
65+
testRuntimeOnly project(':dd-java-agent:instrumentation:jetty:jetty-appsec:jetty-appsec-9.2')
66+
testRuntimeOnly project(':dd-java-agent:instrumentation:jetty:jetty-appsec:jetty-appsec-9.3')
67+
// Include all websocket instrumentation modules for testing. Only the version-compatible module will apply at runtime.
68+
testRuntimeOnly project(':dd-java-agent:instrumentation:websocket:javax-websocket-1.0')
69+
testRuntimeOnly project(':dd-java-agent:instrumentation:websocket:jakarta-websocket-2.0')
70+
testRuntimeOnly project(':dd-java-agent:instrumentation:websocket:jetty-websocket:jetty-websocket-10')
71+
72+
latestDepTestImplementation group: 'org.eclipse.jetty', name: 'jetty-server', version: '10.+'
73+
latestDepTestImplementation group: 'org.eclipse.jetty', name: 'jetty-servlet', version: '10.+'
74+
latestDepTestImplementation group: 'org.eclipse.jetty.websocket', name: 'websocket-javax-server', version: '10.+'
75+
latestDepTestImplementation project(':dd-java-agent:instrumentation:jetty:jetty-appsec:jetty-appsec-9.3')
76+
latestDepTestImplementation testFixtures(project(':dd-java-agent:instrumentation:servlet:javax-servlet:javax-servlet-3.0'))
77+
78+
latestDepForkedTestImplementation group: 'org.eclipse.jetty', name: 'jetty-server', version: '10.+'
79+
latestDepForkedTestImplementation group: 'org.eclipse.jetty', name: 'jetty-servlet', version: '10.+'
80+
latestDepForkedTestImplementation group: 'org.eclipse.jetty.websocket', name: 'websocket-javax-server', version: '10.+'
81+
latestDepForkedTestImplementation project(':dd-java-agent:instrumentation:jetty:jetty-appsec:jetty-appsec-9.3')
82+
latestDepForkedTestImplementation testFixtures(project(':dd-java-agent:instrumentation:servlet:javax-servlet:javax-servlet-3.0'))
83+
}
84+
85+
configurations.named('latestDepForkedTestRuntimeClasspath') {
86+
resolutionStrategy {
87+
force libs.slf4j
88+
}
89+
}
90+
91+
tasks.withType(AbstractCompile).configureEach {
92+
configureCompiler(it, 11, JavaVersion.VERSION_1_8)
93+
}
94+
95+
idea {
96+
module {
97+
jdkName = '11'
98+
}
99+
}
File renamed without changes.
File renamed without changes.
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,6 @@ public JettyServerInstrumentation() {
4444
super("jetty");
4545
}
4646

47-
@Override
48-
public String muzzleDirective() {
49-
return "10_series";
50-
}
51-
5247
@Override
5348
public String instrumentedType() {
5449
return "org.eclipse.jetty.server.HttpChannel";
@@ -90,6 +85,11 @@ public Reference[] additionalMuzzleReferences() {
9085
};
9186
}
9287

88+
@Override
89+
public String muzzleDirective() {
90+
return "10_series";
91+
}
92+
9393
@Override
9494
public void typeAdvice(TypeTransformer transformer) {
9595
transformer.applyAdvice(new HttpChannelHandleVisitorWrapper());
Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,15 @@ public RequestInstrumentation() {
1515
super("jetty");
1616
}
1717

18-
@Override
19-
public String muzzleDirective() {
20-
return "10_series";
21-
}
22-
2318
@Override
2419
public String instrumentedType() {
2520
return "org.eclipse.jetty.server.Request";
2621
}
2722

23+
public String muzzleDirective() {
24+
return "10_series";
25+
}
26+
2827
@Override
2928
public void methodAdvice(MethodTransformer transformer) {
3029
transformer.applyAdvice(
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)