mirror of https://github.com/apache/jmeter.git
100 lines
3.8 KiB
Markdown
100 lines
3.8 KiB
Markdown
# How to contribute
|
||
|
||
Want to show Apache JMeter some love? Help out by contributing!
|
||
|
||
## :beetle: Found a bug
|
||
|
||
Log it in our bugzilla:
|
||
|
||
* *<https://jmeter.apache.org/issues.html>*
|
||
* or send a note to the *user mailing list*.
|
||
Be sure to include all relevant information, like the versions of JMeter you’re using as long as Java version.
|
||
A Test plan that caused the issue as well as any error messages are also very helpful.
|
||
|
||
## :question: Need help
|
||
|
||
Simply contact:
|
||
|
||
* [Our users mailing list](https://jmeter.apache.org/mail2.html#JMeterUser)
|
||
* or ask question on [stackoverflow](https://stackoverflow.com/questions/tagged/jmeter).
|
||
|
||
## :bar_chart: What needs to be developed
|
||
|
||
See:
|
||
|
||
* [Open bug entries for JMeter](https://bz.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&bug_severity=Blocker&bug_severity=Critical&bug_severity=Major&bug_severity=Normal&bug_severity=Regression&bug_severity=Minor&bug_severity=Trivial&product=JMeter&order=Bug%20Number&list_id=164231)
|
||
* [Enhancement requests for JMeter](https://bz.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&bug_severity=Enhancement&product=JMeter&order=Bug%20Number&list_id=164232)
|
||
|
||
## Development setup
|
||
|
||
### Gradle
|
||
|
||
You might find useful Gradle commands in [gradle.md](gradle.md)
|
||
|
||
### <a name="intellij"></a>IntelliJ IDEA
|
||
|
||
You require IntelliJ 2018.3.1 or newer.
|
||
|
||
1. Open the build.gradle.kts file with IntelliJ IDEA and choose `Open as Project`
|
||
1. Make sure `Create separate module per source set` is selected
|
||
1. Make sure `Use default gradle wrapper` is selected
|
||
1. In the `File already exists` dialogue, choose `Yes` to overwrite
|
||
1. In the `Open Project` dialogue, choose `Delete Existing Project and Import`
|
||
|
||
### Eclipse
|
||
|
||
Eclipse can import Gradle projects automatically via `Import...->Gradle project` wizard.
|
||
|
||
Optionally you can generate Eclipse project by running
|
||
|
||
./gradlew eclipse
|
||
|
||
The steps to import the sources (based on Eclipse 2019-06) into Eclipse are as follows:
|
||
|
||
1. Install `Eclipse IDE for Java Developers`
|
||
1. Install the Groovy Eclipse plugin and select Groovy Compiler 2.4 (some tests are written in Groovy)
|
||
1. Install `Kotlin for Eclipse` plugin (builds scripts are written in Kotlin)
|
||
1. Make sure you have a Java 8 compatible JDK configured in your workspace
|
||
1. Open `File->Import...`
|
||
1. Select `Existing Gradle Project` and click `Next`
|
||
1. Read `How to experience the best Gradle integration` and click `Next`
|
||
1. Then you might just click `Finish`
|
||
|
||
## :star2: Have a patch
|
||
|
||
The best way to make sure your issue or feature is addressed is to submit a patch.
|
||
We accept patches through:
|
||
|
||
* pull requests
|
||
* patch attached to bugzilla.
|
||
|
||
However, before sending a patch, please make sure that the following applies:
|
||
|
||
* Your commit message is descriptive.
|
||
* Your patch doesn't have useless merge commits.
|
||
* Your coding style is similar to ours.
|
||
* Your patch is 100% tested. JUnit are welcome.
|
||
* All tests checks pass (run `./gradlew check`)
|
||
* You understand that we're very grateful for your patch!
|
||
|
||
## :heart: Adding something new
|
||
|
||
We do love to enhance Apache JMeter with you to become more powerful!
|
||
The best way to workout your idea is to discuss it first at our dev mailing list:
|
||
|
||
* [JMeter developers mailing list](https://jmeter.apache.org/mail2.html#JMeterDev)
|
||
|
||
Please, if you can, don't just throw us the code of a new feature; lets figure first together
|
||
what would be the best approach regarding the current architecture and future plans,
|
||
before any development.
|
||
This way we all get sure that your idea is aligned with the codebase and you can enjoy
|
||
your happy coding even more :)
|
||
|
||
## :closed_book: Want to write docs
|
||
|
||
Documentation is very valuable to us.
|
||
|
||
It is located in **[xdocs](xdocs)** folder in XML format.
|
||
|
||
You can contribute as you would for code through patch or *PR* (pull request).
|