Welcome to the WildFly Elytron project! We welcome contributions from the community. This guide will walk you through the steps for getting started on our project.
To contribute, you will first need to fork the wildfly-elytron repository.
This can be done by looking in the top-right corner of the repository page and clicking "Fork".
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/wildfly-elytron
.
Then, there will be a green button that says "Code". Click on that and copy the URL.
Then, in your terminal, paste the following command:
git clone [URL]
Be sure to replace [URL] with the URL that you copied.
Now you have the repository on your computer!
The WildFly Elytron project uses JIRA to manage issues. All issues can be found here.
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.
Want to contribute to the WildFly Elytron project but aren't quite sure where to start? Check out our 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.
Once you have selected an issue you'd like to work on, make sure it's not already assigned to someone else. Then, remember to assign it to yourself, by clicking on "Assign to me", to prevent someone else from also working on the same issue.
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. For example, if you were working on ELY-2127, you could use ELY-2127 as your branch name.
You will need:
- JDK 11
- Git
- Maven 3.3.9 or later
- An IDE (e.g., IntelliJ IDEA, Eclipse, etc.)
First cd
to the directory where you cloned the project (eg: cd wildfly-elytron
)
Add a remote ref to upstream, for pulling future updates. For example:
git remote add upstream https://github.com/wildfly-security/wildfly-elytron
To build wildfly-elytron
run:
mvn clean install
To skip the tests, use:
mvn clean install -DskipTests=true
To run only a specific test, use:
mvn clean install -Dtest=TestClassName
For more information, including details on how WildFly Elytron is integrated in WildFly Core and WildFly, check out our developer guide.
When submitting a PR, please keep the following guidelines in mind:
-
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!
-
Please include the JIRA issue you worked on in the title of your pull request and in your commit message. For example, for ELY-2127, the PR title and commit message should be
[ELY-2127] Add client side TRACE logging after successful authentication
. -
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 ELY-2127, the PR description should contain a link to https://issues.redhat.com/browse/ELY-2127.
For an example of a properly formatted PR, take a look at wildfly-security/wildfly-elytron#1532
For more information on how to get involved with WildFly Elytron, check out our community page.