apache / jmeter

Apache JMeter open-source load testing tool for analyzing and measuring the performance of a variety of services
https://jmeter.apache.org/
Apache License 2.0
8.3k stars 2.09k forks source link

Use custom directory when launching JMeter from sources (e.g. build/standalone) #5521

Open asfimport opened 3 years ago

asfimport commented 3 years ago

@vlsi (Bug 65237): Historically, the approach was to build the jars, copy them to /lib and then launch JMeter.

However, it creates several issues: a) The source files, the build artifacts and log files interfere. It is hard to decide which files to remove when cleaning the workspace b) Adding custom plugins for testing is non-trivial as well. For instance, if the user adds their own plugins right to /lib/ext (or whatever), then gradlew clean should keep them there otherwise the user would have to copy the jars again and again

What do you think if the base scripts and files to launch JMeter were co-located in a single folder (e.g. /startup/src/main/resources) and copyDist task copied those files into a temporary folder (e.g. /src/dist/build/standalone/)?

That does not solve "user-provided plugins for testing", however, it would separate the source files from the playground.

User-provided plugins could be handled by adding a magic /test-plugins/lib folder which would be excluded by gitignore. The files from that folder could be copied into /src/dist/build/standalone/lib as well. Then we can wipe /src/dist/build/standalone/ and re-create it easily.

WDYT?

See also https://github.com/apache/jmeter/issues/5195

Severity: normal OS: All

asfimport commented 3 years ago

@FSchumacher (migrated from Bugzilla): Looks like an interesting feature. This is meant for development only, the binary distribution would not change, right?