Skip to content

Commit 9984aea

Browse files
authored
Merge pull request #47 from bstansberry/CONTRIBUTING
Add a CONTRIBUTING.md
2 parents 9b55f5d + fb402e2 commit 9984aea

File tree

1 file changed

+111
-0
lines changed

1 file changed

+111
-0
lines changed

CONTRIBUTING.md

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# Contributing to JBoss DMR
2+
3+
Welcome to the JBoss DMR project! We welcome contributions from the community. This guide will walk you through the steps for getting started on our project.
4+
5+
- [Legal](#legal)
6+
- [Forking the Project](#forking-the-project)
7+
- [Issues](#issues)
8+
- [Good First Issues](#good-first-issues)
9+
- [Setting up your Developer Environment](#setting-up-your-developer-environment)
10+
- [Contributing Guidelines](#contributing-guidelines)
11+
- [Community](#community)
12+
13+
## Legal
14+
15+
All contributions to this repository are licensed under the [Apache License](https://www.apache.org/licenses/LICENSE-2.0), version 2.0 or later, or, if another license is specified as governing the file or directory being modified, such other license.
16+
17+
All contributions are subject to the [Developer Certificate of Origin (DCO)](https://developercertificate.org/).
18+
The DCO text is also included verbatim in the [dco.txt](dco.txt) file in the root directory of the repository.
19+
20+
### Compliance with Laws and Regulations
21+
22+
All contributions must comply with applicable laws and regulations, including U.S. export control and sanctions restrictions.
23+
For background, see the Linux Foundation’s guidance:
24+
[Navigating Global Regulations and Open Source: US OFAC Sanctions](https://www.linuxfoundation.org/blog/navigating-global-regulations-and-open-source-us-ofac-sanctions).
25+
26+
27+
## Forking the Project
28+
To contribute, you will first need to fork the [jboss-dmr](https://github.com/wildfly/jboss-dmr) repository.
29+
30+
This can be done by looking in the top-right corner of the repository page and clicking "Fork".
31+
![fork](assets/images/fork.jpg)
32+
33+
The next step is to clone your newly forked repository onto your local workspace. This can be done by going to your newly forked repository, which should be at `https://github.com/USERNAME/jboss-dmr`.
34+
35+
Then, there will be a green button that says "Code". Click on that and copy the URL.
36+
37+
![clone](assets/images/clone.png)
38+
39+
Then, in your terminal, paste the following command:
40+
```bash
41+
git clone [URL]
42+
```
43+
Be sure to replace [URL] with the URL that you copied.
44+
45+
Now you have the repository on your computer!
46+
47+
## Issues
48+
49+
The JBoss DMR project uses JIRA to manage issues. All issues can be found [here](https://issues.redhat.com/projects/DMR/issues).
50+
51+
To create a new issue, comment on an existing issue, or assign an issue to yourself, you'll need to first [create a JIRA account](https://issues.redhat.com/).
52+
53+
Once you have selected an issue you'd like to work on, make sure it's not already assigned to someone else.
54+
55+
Before beginning work on an issue, it's good to start a thread in the [wildfly-developers channel in Zulip](https://wildfly.zulipchat.com/#narrow/channel/174184-wildfly-developers) to let others know what you'll be doing.
56+
57+
58+
59+
### Good First Issues
60+
Want to contribute to the JBoss DMR project but aren't quite sure where to start? Look for issues with the `good-first-issue` label. These are a triaged set of issues that are great for getting started on our project. These can be found [here](https://issues.redhat.com/issues/?jql=project%20%3D%20DMR%20and%20labels%3Dgood-first-issue%20ORDER%20BY%20key%20DESC).
61+
62+
## Setting up your Developer Environment
63+
You will need:
64+
65+
* JDK
66+
* Git
67+
* Maven
68+
* An [IDE](https://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#Java)
69+
(e.g., [IntelliJ IDEA](https://www.jetbrains.com/idea/download/), [Eclipse](https://www.eclipse.org/downloads/), etc.)
70+
71+
72+
First `cd` to the directory where you cloned the project (eg: `cd jboss-dmr`)
73+
74+
Add a remote ref to upstream, for pulling future updates.
75+
For example:
76+
77+
```
78+
git remote add upstream https://github.com/wildfly/jboss-dmr
79+
```
80+
81+
It is recommended that you use a separate branch for every issue you work on. To keep things straightforward and memorable, you can name each branch using the JIRA issue number. This way, you can have multiple PRs open for different issues.
82+
```bash
83+
git checkout -b DMR-9999
84+
```
85+
86+
To build `jboss-dmr` run:
87+
```bash
88+
mvn clean install
89+
```
90+
91+
To skip the tests, use:
92+
93+
```bash
94+
mvn clean install -DskipTests=true
95+
```
96+
97+
To run only a specific test, use:
98+
99+
```bash
100+
mvn clean install -Dtest=TestClassName
101+
```
102+
103+
## Contributing Guidelines
104+
105+
When submitting a PR, please keep the following guidelines in mind:
106+
107+
1. In general, it's good practice to squash all of your commits into a single commit. For larger changes, it's ok to have multiple meaningful commits. If you need help with squashing your commits, feel free to ask us how to do this on your pull request. We're more than happy to help!
108+
109+
1. Please include the JIRA issue you worked on in the title of your pull request and in your commit message. For example, for [DMR-9999](https://issues.redhat.com/browse/DMR-9999), the PR title and commit message should be `[DMR-9999] Create a testcase which verifies behaviour of the foo`.
110+
111+
2. Please include the link to the JIRA issue you worked on in the description of the pull request. For example, if your PR adds a fix for [DMR-9999](https://issues.redhat.com/browse/DMR-9999), the PR description should contain a link to https://issues.redhat.com/browse/DMR-9999.

0 commit comments

Comments
 (0)