Skip to content

Commit 484c109

Browse files
authored
Add contribution docs to README
1 parent 459b931 commit 484c109

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,3 +75,29 @@ To check this, you can test whether the `java` in your $PATH is capable of attac
7575
```bash
7676
java -Djdk.attach.allowAttachSelf=true -jar ./agent.jar self-test
7777
```
78+
79+
### Contributing
80+
81+
Contributions are very welcome! Reports of scenarios that aren't currently supported are helpful (please [create an issue](https://github.com/httptoolkit/jvm-http-proxy-agent/issues/new), including any errors, and preferably steps to reproduce the issue) but patches to fix issues are even better.
82+
83+
Be aware that for all contributors to HTTP Toolkit components, including this, [HTTP Toolkit Pro is totally free](https://github.com/httptoolkit/httptoolkit/#contributing-directly) - just [get in touch](https://httptoolkit.tech/contact) after your contribution is accepted with the email you'd like to use to claim your Pro account.
84+
85+
To contribute a patch:
86+
87+
* Fork this repo
88+
* Clone your fork: `git clone [email protected]:$YOUR_GITHUB_USERNAME/jvm-http-proxy-agent.git`
89+
* Create a new branch: `git checkout -B my-contribution-branch`
90+
* Check the existing tests pass locally: `./gradlew quickTest`
91+
* N.B. this requires Java 11+ - while some features are supported in older JVM versions, development requires a modern JVM
92+
* For library-specific issues:
93+
* Add/edit a test case in [/test-app/src/main/java/tech/httptoolkit/testapp/cases](https://github.com/httptoolkit/jvm-http-proxy-agent/tree/main/test-app/src/main/java/tech/httptoolkit/testapp/cases) to reproduce your issue
94+
* Add that case to [the list](https://github.com/httptoolkit/jvm-http-proxy-agent/blob/459b931a2eebd486261f296418aa028e4b2fb7e9/test-app/src/main/java/tech/httptoolkit/testapp/Main.java#L17-L36) if you created a new case.
95+
* Check that `./gradlew quickTest` now fails.
96+
* For more general changes:
97+
* Either add a test case (as above) or add a new standalone test in https://github.com/httptoolkit/jvm-http-proxy-agent/blob/main/src/test/kotlin/IntegrationTests.kt
98+
* Make your changes within the [advice classes](https://github.com/httptoolkit/jvm-http-proxy-agent/tree/main/src/main/java/tech/httptoolkit/javaagent/advice) and [injection setup code](https://github.com/httptoolkit/jvm-http-proxy-agent/tree/main/src/main/kotlin/tech/httptoolkit/javaagent) to fix your issue/add your feature.
99+
* Test that `./gradlew quickTest` now passes.
100+
* If you've changed any functionality, consider adding it to the docs here.
101+
* Commit your change, push it, and open a PR here for review.
102+
103+
If you have any issues, or if you want to discuss a change before working on it (recommended for large/complex changes), please [open an issue](https://github.com/httptoolkit/jvm-http-proxy-agent/issues/new).

0 commit comments

Comments
 (0)