Skip to content

Commit cfdccba

Browse files
committed
chore: drop xmlpull dependency
1 parent 824e1c3 commit cfdccba

File tree

6 files changed

+12
-287
lines changed

6 files changed

+12
-287
lines changed

lib/aareadme.txt

Lines changed: 0 additions & 280 deletions
Original file line numberDiff line numberDiff line change
@@ -8,283 +8,3 @@ lib/junit - test jar for JUnit sampler
88
lib/opt - Directory where Optional 3rd party libraries live
99
lib/src - storage area for source and javadoc jars, e.g. for use in IDEs
1010
Excluded from SVN, not included in classpath
11-
12-
Which jars are used by which modules?
13-
====================================
14-
[not exhaustive]
15-
16-
asm-7.1 (org.ow2.asm)
17-
----------------------
18-
- JSON Path extractor
19-
20-
accessors-smart-1.2 (net.minidev)
21-
----------------------
22-
- JSON Path extractor
23-
24-
bsf-2.4.0.jar (org.apache.bsf)
25-
-------------
26-
http://jakarta.apache.org/site/downloads/downloads_bsf.cgi
27-
- BSF test elements (sampler etc.)
28-
29-
bsh-2.0b6.jar (org.bsh)
30-
-------------
31-
- BeanShell test elements
32-
33-
dec-0.1.2 (org.brotli.dec)
34-
-----------------
35-
https://github.com/google/brotli/tree/master/java/org/brotli
36-
- Used by HTTP4 HC Impl for brotli decoding
37-
38-
caffeine 2.8.0
39-
-----------------
40-
https://github.com/ben-manes/caffeine/
41-
- Used by CssParser
42-
- Used by JMS Publisher Sampler
43-
44-
commons-codec-1.13
45-
-----------------
46-
http://commons.apache.org/downloads/download_codec.cgi
47-
- Used by ProxyControl and JSR223Test Element for Base64 and md5
48-
49-
commons-collections-3.2.2
50-
-------------------------
51-
http://commons.apache.org/downloads/download_collections.cgi
52-
- ListenerNotifier
53-
- Anakia
54-
55-
commons-io-2.6
56-
--------------
57-
http://commons.apache.org/downloads/download_io.cgi
58-
- FTPSampler
59-
60-
commons-jexl-2.1.1, commons-jexl3-3.1
61-
----------------
62-
http://commons.apache.org/downloads/download_jexl.cgi
63-
- Jexl function and BSF test elements
64-
65-
commons-lang-2.6
66-
----------------
67-
http://commons.apache.org/downloads/download_lang.cgi
68-
- velocity (Anakia)
69-
70-
commons-lang3-3.9
71-
----------------
72-
http://commons.apache.org/downloads/download_lang.cgi
73-
- URLCollection (unescapeXml)
74-
75-
commons-math3-3.6.1
76-
-----------------
77-
http://commons.apache.org/proper/commons-math/download_math.cgi
78-
- BackendListener
79-
80-
commons-net-3.6
81-
-----------------
82-
http://commons.apache.org/downloads/download_net.cgi
83-
- FTPSampler
84-
85-
commons-pool2-2.7.0
86-
-----------------
87-
http://commons.apache.org/proper/commons-pool/download_pool.cgi
88-
- BackendListener
89-
90-
darcula
91-
-----------------
92-
https://github.com/bulenkov/Darcula/
93-
- Look and Feel
94-
95-
dnsjava-2.1.9
96-
-----------------
97-
https://github.com/dnsjava/dnsjava
98-
- DNSCacheManager
99-
100-
groovy-3.0.3
101-
----------------------
102-
Advised scripting language for JSR223 Test Elements
103-
104-
freemarker-2.3.29.jar
105-
----------------------
106-
- used by Report/Dashboard feature
107-
108-
javax.activation-api-1.2.0.jar
109-
----------------------
110-
- used by SMTP Sampler
111-
112-
javax.activation-1.2.0.jar
113-
----------------------
114-
- used by SMTP Sampler
115-
116-
jackson-annotations-2.9.9 (com.fasterxml.jackson)
117-
----------------------
118-
119-
Used by JsonExporter in report generator (com.fasterxml.jackson)
120-
----------------------
121-
jackson-annotations-2.9.9 (https://github.com/FasterXML/jackson-annotations)
122-
jackson-core-2.9.9 (https://github.com/FasterXML/jackson-core)
123-
jackson-databind-2.9.9 (https://github.com/FasterXML/jackson-databind)
124-
125-
jCharts-0.7.5 (org.jCharts)
126-
-------------
127-
http://jcharts.sourceforge.net/downloads.html
128-
- AxisGraph,LineGraph,LineChart
129-
130-
jdom-1.1.3
131-
--------
132-
http://www.jdom.org/downloads/index.html
133-
- Anakia
134-
135-
jodd-core-5.0.13
136-
--------
137-
http://www.jodd.org/
138-
- CSS/JQuery like extractor dependency
139-
140-
jodd-lagarto-5.0.6
141-
--------
142-
http://jodd.org/doc/csselly/
143-
- CSS/JQuery like extractor
144-
145-
jodd-log-5.0.6
146-
--------
147-
http://www.jodd.org/
148-
- CSS/JQuery like extractor dependency
149-
150-
jodd-props-5.0.6
151-
--------
152-
http://www.jodd.org/
153-
- used by Report/Dashboard feature properties management
154-
155-
json-path-2.4.0
156-
--------
157-
https://github.com/jayway/JsonPath
158-
- JSON Path Extractor
159-
- JSON Path Renderer
160-
161-
json-smart-2.3 (net.minidev)
162-
--------
163-
https://github.com/netplex/json-smart-v2
164-
- JSON Path Extractor
165-
- JSON Path Renderer
166-
167-
jsoup-1.12.1
168-
--------
169-
http://www.jsoup.org/
170-
- CSS/JQuery like extractor
171-
172-
log4j2-2.12.1
173-
--------
174-
https://logging.apache.org/log4j/2.x/
175-
- Logging framework
176-
177-
ph-css-6.2.0
178-
--------
179-
https://github.com/phax/ph-css
180-
- CssParser
181-
182-
ph-commons-9.3.7
183-
--------
184-
https://github.com/phax/ph-commons
185-
- CssParser
186-
187-
rhino-1.7.11
188-
--------
189-
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Download_Rhino
190-
- javascript function
191-
- IfController
192-
- WhileController
193-
- BSF (Javascript)
194-
195-
jTidy-r938
196-
----
197-
- http: various modules for parsing html
198-
- org.xml.sax - various
199-
- XPathUtil (XPath assertion)
200-
201-
junit 4.12
202-
-----------
203-
- unit tests, JUnit sampler
204-
205-
HttpComponents
206-
- HttpComponents Core 4.4.12
207-
- HttpComponents Client 4.5.10
208-
- HttpComponents AsyncClient 4.1.4
209-
- HttpComponents Core NIO 4.4.12
210-
-----------
211-
http://hc.apache.org/
212-
- httpclient 4 implementation for HTTP sampler
213-
- httpasyncclient implementation for InfluxDB Backend Listener Client
214-
215-
oro-2.0.8
216-
---------
217-
http://jakarta.apache.org/site/downloads/downloads_oro.cgi
218-
- regular expressions: various
219-
220-
rsyntaxtextarea-3.0.4
221-
---------------------
222-
http://fifesoft.com/rsyntaxtextarea/
223-
- syntax coloration
224-
225-
serialiser-2.7.1
226-
----------------
227-
http://www.apache.org/dyn/closer.cgi/xml/xalan-j
228-
- xalan
229-
230-
slf4j-api-1.7.28
231-
----------------
232-
http://www.slf4j.org/
233-
- jodd-core
234-
- json-path
235-
- jmeter internal logging
236-
237-
tika-1.21
238-
--------------
239-
http://tika.apache.org/
240-
- Regular Expression Extractor
241-
242-
commons-dbcp2-2.5.0 (org.apache.commons.dbcp2)
243-
--------------------------
244-
- DataSourceElement (JDBC)
245-
246-
Saxon-HE-9.9.1-5 (net.sf.saxon)
247-
--------------------------
248-
- XPath2Extractor (XML)
249-
250-
velocity-1.7
251-
--------------
252-
http://velocity.apache.org/download.cgi
253-
- Anakia (create documentation) Not used by JMeter runtime
254-
255-
xalan_2.7.1
256-
-----------
257-
http://www.apache.org/dyn/closer.cgi/xml/xalan-j
258-
+org.apache.xalan|xml|xpath
259-
260-
xml-apis-1.4.01
261-
--------------
262-
http://xerces.apache.org/xerces2-j/download.cgi
263-
+javax.xml
264-
+org.w3c.dom
265-
+org.xml.sax
266-
267-
The x* jars above are used for XML handling
268-
269-
xmlgraphics-commons-2.6 (org.apache.xmlgraphics.image.codec)
270-
------------------
271-
http://xmlgraphics.apache.org/commons/download.html
272-
- SaveGraphicsService
273-
274-
xmlpull-1.1.3.1
275-
---------------
276-
http://www.xmlpull.org/impls.shtml
277-
- xstream
278-
279-
280-
xpp3_min-1.1.4c
281-
---------------
282-
http://x-stream.github.io/download.html
283-
or
284-
http://www.extreme.indiana.edu/dist/java-repository/xpp3/distributions/
285-
- xstream
286-
287-
xstream-1.4.11
288-
-------------
289-
http://x-stream.github.io/download.html
290-
- SaveService

src/bom-thirdparty/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,5 @@ dependencies {
144144
api("xalan:serializer:2.7.3")
145145
api("xalan:xalan:2.7.3")
146146
api("xml-apis:xml-apis:1.4.01")
147-
api("xmlpull:xmlpull:1.1.3.1")
148147
}
149148
}

src/core/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ dependencies {
4040
}
4141
api("com.thoughtworks.xstream:xstream") {
4242
because("XStream in used in public API")
43+
// We use StaXDriver, so we exclude xmlpull, see https://x-stream.github.io/download.html#optional-deps
44+
exclude("io.github.x-stream", "mxparser")
4345
}
4446
api("org.apache.logging.log4j:log4j-1.2-api")
4547
api("org.apache.logging.log4j:log4j-api")

src/core/src/main/java/org/apache/jmeter/save/SaveService.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@
5656
import com.thoughtworks.xstream.converters.DataHolder;
5757
import com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider;
5858
import com.thoughtworks.xstream.converters.reflection.ReflectionProvider;
59+
import com.thoughtworks.xstream.io.HierarchicalStreamDriver;
60+
import com.thoughtworks.xstream.io.xml.StaxDriver;
5961
import com.thoughtworks.xstream.io.xml.XppDriver;
6062
import com.thoughtworks.xstream.mapper.CannotResolveClassException;
6163
import com.thoughtworks.xstream.mapper.Mapper;
@@ -78,8 +80,8 @@ public class SaveService {
7880
public static final String TEST_CLASS_NAME = "TestClassName"; // $NON-NLS-1$
7981

8082
private static final class XStreamWrapper extends XStream {
81-
private XStreamWrapper(ReflectionProvider reflectionProvider) {
82-
super(reflectionProvider);
83+
private XStreamWrapper(ReflectionProvider reflectionProvider, HierarchicalStreamDriver hierarchicalStreamDriver) {
84+
super(reflectionProvider, hierarchicalStreamDriver);
8385
}
8486

8587
// Override wrapMapper in order to insert the Wrapper in the chain
@@ -110,8 +112,8 @@ public String serializedClass(@SuppressWarnings("rawtypes") // superclass does n
110112
}
111113
}
112114

113-
private static final XStream JMXSAVER = new XStreamWrapper(new PureJavaReflectionProvider());
114-
private static final XStream JTLSAVER = new XStreamWrapper(new PureJavaReflectionProvider());
115+
private static final XStream JMXSAVER = new XStreamWrapper(new PureJavaReflectionProvider(), new StaxDriver());
116+
private static final XStream JTLSAVER = new XStreamWrapper(new PureJavaReflectionProvider(), new StaxDriver());
115117
static {
116118
JTLSAVER.setMode(XStream.NO_REFERENCES); // This is needed to stop XStream keeping copies of each class
117119
JMeterUtils.setupXStreamSecurityPolicy(JMXSAVER);

src/core/src/main/java/org/apache/jmeter/util/JMeterUtils.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181
import com.github.benmanes.caffeine.cache.LoadingCache;
8282
import com.thoughtworks.xstream.XStream;
8383
import com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider;
84+
import com.thoughtworks.xstream.io.xml.StaxDriver;
8485
import com.thoughtworks.xstream.security.AnyTypePermission;
8586
import com.thoughtworks.xstream.security.NoTypePermission;
8687

@@ -1416,8 +1417,8 @@ public static String formatJMeterExportedVariableName(String elementName) {
14161417
/**
14171418
* @return {@link XStream} XStream instance following JMeter security policy
14181419
*/
1419-
public static final XStream createXStream() {
1420-
XStream xstream = new XStream(new PureJavaReflectionProvider());
1420+
public static XStream createXStream() {
1421+
XStream xstream = new XStream(new PureJavaReflectionProvider(), new StaxDriver());
14211422
JMeterUtils.setupXStreamSecurityPolicy(xstream);
14221423
return xstream;
14231424
}

src/protocol/http/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ dependencies {
2929

3030
api("com.thoughtworks.xstream:xstream") {
3131
because("HTTPResultConverter uses XStream in public API")
32+
exclude("io.github.x-stream", "mxparser")
3233
}
3334

3435
compileOnly("javax.activation:javax.activation-api") {

0 commit comments

Comments
 (0)