1
1
# Contribution guidelines and info
2
2
3
- Hi! Thanks for taking an interest in this project!
4
- If you would like to contribute, then help is always
5
- welcome however big or small!
3
+ Hi! Thanks for taking an interest in this project! If you would like to contribute, then help is
4
+ always welcome however big or small!
6
5
7
6
## Finding something to contribute
8
7
9
- If you are new and would like to pick something up,
10
- check the issues tab to see if anything is of interest.
11
- If you want further clarification, feel free to drop a
12
- comment.
8
+ If you are new and would like to pick something up, check the issues tab to see if anything is of
9
+ interest. If you want further clarification, feel free to drop a comment.
13
10
14
11
> [ !TIP]
15
12
> You could alternatively add a message on the discussions
16
13
> tab!
17
14
18
- Contributions do not necessarily need to be code changes
19
- either. You can also contribute by:
15
+ Contributions do not necessarily need to be code changes either. You can also contribute by:
20
16
21
- - Testing this project out for yourself and discussing any
22
- feedback on the discussions page.
17
+ - Testing this project out for yourself and discussing any feedback on the discussions page.
23
18
- Fixing and improving documentation.
24
19
- Contributing new Wiki pages.
25
20
- Raising bugs in the issue tab.
26
21
27
- ## Raising issues
28
-
29
- If raising an issue, please make sure that you include
30
- some details such as:
31
-
32
- - The problem in a short description.
33
- - What do you expect to happen?
34
- - What actually happens?
35
- - How did you reproduce this (if applicable)?
36
- - What JDK you are using
37
- - What OS you are using
38
-
39
- If these are not relevant to you, then they can be
40
- ignored.
41
-
42
22
## Getting help
43
23
44
- Please make a discussion in the discussions tab rather
45
- than opening a new issue if you need help with using this library.
24
+ Please make a discussion in the discussions tab rather than opening a new issue if you need help
25
+ with using this library.
46
26
47
27
## Contributing changes to fix issues
48
28
49
- If you are contributing to an issue, drop a message on
50
- that issue so that I can assign it to you! ** If you would be
51
- able to keep me up to date with any progress on that issue,
52
- that would be fantastic** , since it enables me to track
53
- how much work is left to do and to be able to provide any
29
+ If you are contributing to an issue, drop a message on that issue so that I can assign it to you!
30
+ ** If you would be able to keep me up to date with any progress on that issue, that would be
31
+ fantastic** , since it enables me to track how much work is left to do and to be able to provide any
54
32
help if needed.
55
33
56
34
Everyone is entitled to their own life, but if I haven't heard anything back for a while,
@@ -62,22 +40,18 @@ but never actually finished.
62
40
63
41
## Branching
64
42
65
- When you are ready, make a fork of this repo. When you
66
- work on your fork, make sure you create a new branch to
67
- work off of rather than committing to your master/main
68
- branch. This will make it easier for you to update your
69
- copy with any new changes to this project, and avoid
70
- filling pull requests with lots of messy merge commits
71
- unnecessarily!
43
+ When you are ready, make a fork of this repo. When you work on your fork, make sure you create
44
+ a new branch to work off of rather than committing to your master/main branch. This will make it
45
+ easier for you to update your copy with any new changes to this project, and avoid filling pull
46
+ requests with lots of messy merge commits unnecessarily!
72
47
73
48
## Building this project
74
49
75
50
> [ !IMPORTANT]
76
51
> This project uses Apache Maven as the build system, and
77
- > requires JDK 11 or newer.
52
+ > requires JDK 17 or newer.
78
53
79
- To build this project and run the tests, you can run the
80
- following in your terminal:
54
+ To build this project and run the tests, you can run the following in your terminal:
81
55
82
56
``` bash
83
57
# Linux, Mac OS, Git Bash users
@@ -87,45 +61,38 @@ following in your terminal:
87
61
.\m vnw.cmd clean package verify
88
62
```
89
63
90
- If you use Windows, you should download the JDK from
91
- somewhere such as https://adoptium.net/en-GB/temurin/ .
64
+ If you use Windows, you should download the JDK from somewhere such as
65
+ https://adoptium.net/en-GB/temurin/ .
92
66
93
- On Linux and MacOS, I tend to use a tool called
94
- [ SDKMan] ( https://sdkman.io/ ) to download and install
95
- Java tooling. I personally use Amazon Corretto 17, but
96
- you can use any JDK implementation you like, such as
97
- Temurin, Graal, Liberica, SAP, etc. All should work
67
+ On Linux and macOS, I tend to use a tool called [ SDKMan] ( https://sdkman.io/ )
68
+ to download and install Java tooling. I personally use Amazon Corretto, but you can use any JDK
69
+ implementation you like, such as Temurin, Graal, Liberica, SAP, etc. All should work
98
70
the same for the most part.
99
71
100
72
## Licensing
101
73
102
- All changes that you make will be applied under the
103
- Apache license, as documented in this repository.
104
- You can find out more about what this means at
105
- [ TLDRLegal] ( https://tldrlegal.com/license/apache-license-2.0-(apache-2.0) ) !
74
+ All changes that you make will be applied under the Apache license, as documented in this
75
+ repository. You can find out more about what this means at [ TLDRLegal] ( https://tldrlegal.com/license/apache-license-2.0-(apache-2.0) ) !
106
76
107
- Each file that you create must have a special header
108
- comment at the top that mentions this license.
77
+ Each file that you create must have a special header comment at the top that mentions this license.
109
78
110
79
> [ !TIP]
111
80
> If you need to add this header to your files, you can run
112
81
> ` ./mvnw license:format ` to do it for you automatically!
113
82
114
83
## Code style
115
84
116
- This project uses a modified version of the Google
117
- Code Style guide for Java. The main things to remember
118
- are:
85
+ This project uses a modified version of the Google Code Style guide for Java. The main things to
86
+ remember are:
119
87
120
88
- 2-space indentation rather than tabs
121
89
- Public classes and methods need a JavaDoc
122
90
- Line length is limited to 100 lines
123
91
124
92
Good things to remember:
125
93
126
- - Keep lines of code simple. It is fine to use multiple
127
- lines of code to declare something if it makes it easier
128
- to read.
94
+ - Keep lines of code simple. It is fine to use multiple lines of code to declare something if it
95
+ - makes it easier to read.
129
96
- Keep naming clear and simple!
130
97
131
98
A tool called CheckStyle will attempt to enforce these rules
@@ -136,10 +103,9 @@ for you.
136
103
137
104
## Commits
138
105
139
- Please try to keep commits atomic and clear. Each commit
140
- should ideally leave the project in a working state. Each
141
- commit should also have a clear title and explaination as
142
- to what the commit changes, and why.
106
+ Please try to keep commits atomic and clear. Each commit should ideally leave the project in a
107
+ working state. Each commit should also have a clear title and explanation as to what the commit
108
+ changes, and why.
143
109
144
110
## Deployment process
145
111
@@ -153,6 +119,6 @@ Changelogs are automatically generated from the pull request history between the
153
119
` main ` branch and the last tag that was added. This is why it is important to have descriptive
154
120
pull requests where appropriate.
155
121
156
- Upon successfully deploying to Maven Central, a release will be added to the
157
- [ releases ] ( ../../releases ) page on the repository. A changelog will automatically get
158
- attached and any contributors will be ` @mentioned ` in those changelogs.
122
+ Upon successfully deploying to Maven Central, a release will be added to the [ releases ] ( ../../releases )
123
+ page on the repository. A changelog will automatically get attached and any contributors will be
124
+ ` @mentioned ` in those changelogs.
0 commit comments