Getting Started for Developers
A Quick Introduction to the Projects
WildFly Elytron
WildFly Elytron is the main project that contains the security APIs, SPIs, and implementations of various components that are used across the WildFly application server. Although Elytron was developed for WildFly, it is possible to use Elytron outside of WildFly.
WildFly Core
This is the core of the WildFly application server and the initial place where we integrate Elytron with WildFly.
WildFly
This is the main application server project. Integration related to Elytron can also be found here.
Elytron Web
This is the integration project for integrating Elytron based HTTP authentication with web containers and clients.
WildFly OpenSSL
This project provides OpenSSL bindings for Java, attempting to use existing JSSE APIs as much as possible.
Getting Familiar with Elytron
For an introduction to Elytron, take a look at this presentation which also includes a few demos.
Another great way to learn more about Elytron is to take a look at our blog posts on various Elytron features.
If you’d like to get started with some example applications that you can easily deploy to WildFly, take a look at some of our quickstart applications. Search for the ones that mention "Elytron". You’ll also want to check out our additional examples that demonstrate specific Elytron features.
Getting Help
Questions on Elytron are always welcome in WildFly’s user forums.
Getting Your Developer Environment Set Up
You will need:
-
JDK 11
-
Git
-
Maven 3.3.9 or later
-
An IDE (e.g., IntelliJ IDEA, Eclipse, etc.)
For instructions that will walk you through installing Java, Maven, and Git for your operating system and show you how to fork and clone the WildFly Elytron project, take a look at our setup guides.
Fork wildfly-elytron, wildfly-core, and wildfly to your GitHub account and clone your newly forked repositories into your local workspace. Then, for each repository, 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
, wildfly-core
, wildfly
, elytron-web
, or wildfly-openssl
, cd
to the appropriate directory and then 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
If you have made a change in Elytron and need to test out the change in WildFly, the following steps can be used to build a version of WildFly that incorporates your Elytron changes:
-
Build
wildfly-elytron
-
Update the
version.org.wildfly.security.elytron
property in thewildfly-core/pom.xml
file to reference your locally builtwildfly-elytron
SNAPSHOT
version -
Build
wildfly-core
-
Update the
version.org.wildfly.core
property in thewildfly/pom.xml
file to reference your locally builtwildfly-core
SNAPSHOT
version -
Build
wildfly
Refer to the building section in the WildFly OpenSSL repository to get more information about building the native code. |
Running the Test Suites
Before submitting a PR, it is important to make sure the appropriate test suites pass with your changes.
For wildfly-elytron
, all tests will be run when executing mvn clean install
.
For both wildfly-core
and wildfly
, the following command can be used to run the full test suite:
mvn clean install -DallTests -fae > alltests.txt