@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.
@FSchumacher (migrated from Bugzilla):
Looks like an interesting feature. This is meant for development only, the binary distribution would not change, right?
@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