Presentation delivered by Darran Lofthouse, Principal Software Engineer, Red Hat & Kabir Khan, Principal Software Engineer, Red Hat, during London JBoss User Group event on the 21st of May 2014.
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Hacking on WildFly 9
1. Hacking on WildFly 9
Darran Lofthouse, Principal Software Engineer, Red Hat
darran.lofthouse@jboss.com
Kabir Khan, Principal Software Engineer, Red Hat
kabir.khan@jboss.com
2. Agenda
• Getting set up
• Open source community
• Useful Maven tricks
• Fix a bug
4. GitHub
• Log in to www.github.com
• Set up local git + SSH as described in
• https://help.github.com/articles/set-up-git
• https://help.github.com/articles/generating-ssh-keys
• Wildfly @ https://github.com/wildfly/wildfly
• Fork into https://github.com/londonjbug/wildfly
• Clone your fork!
• $git clone git@github.com:londonjbug/wildfly.git
8. What is an Open Source Community?
• 99.9%(*) of people NOT involved in open source say:
• Coders!
* Totally made up statistic!
9. Open Source Community
• Helping each other
• Early testing of features
• Bug reporting
• Issue requests
• Documentation
• Code contributions
10. Forums
• If you have a problem ask!
• Include necessary information
• Don’t post same question multiple times!
• People tend to be helpful
• Others might have had the same problem
• Very important way for us to find out about bugs
• Rapid feedback of user testing
• A lot of contributors, low barrier to entry
• Normally first way people get involved
11. Jira
• Our issue tracker
• Forum posts with new bugs -> Jira issue
• Not a replacement for forums!
• If in doubt, start in the forums
• Medium volume of contributors
13. Code contributions
• Find a Jira issue you would like to work on
• Or create one!
• Get in touch with the team
• Mailing list
• IRC #wildfly-dev on freenode
• We’ll demo the process
• Less contributors, “hardest”
• But often not as hard as you might think!
14. jboss.org + wildfly.org
• Your entry points
• jboss.org - all JBoss projects
• Account used for Jira/Forums etc.
• wildfly.org - more relevant for WildFly
• Downloads
• Get Help -> Forum, Wiki, IRC
• Documentation - hint, hint, you can edit ;-)
• Join Us
• development mailing list
• http://jira.jboss.org/browse/WFLY
• https://community.jboss.org/wiki/HackingOnWildFly
16. Useful maven tricks
• A full rebuild takes a long time
• Want to avoid that for the code-test-code cycle
• Only build a set of modules
• mvn clean install -pl controller/,build
• Only build a set of modules and their deps
• mvn clean install -pl controller,build -am
• Restart the build from a location
• mvn clean install -rf controller
• Can combine
• mvn clean install -pl testsuite/integration/smoke -am -
rf jmx/
build
assembles
server
17. • By default we run
• unit test for each module
• the ‘smoke’ tests
• To build without running tests do
• mvn clean install -DskipTests
• We don’t just have ‘smoke’ tests!
• mvn clean install -DallTests
• Most tests are in testsuite/integration/basic
• Good command to run before submitting PR:
• mvn clean install -DallTests -pl
testsuite/integration/basic -am
Useful testsuite tricks
19. Commands/useful stuff
• build/ - assembles WF
• build/target/wildfly-9.0.0.Alpha1-SNAPSHOT/ - the built WF
instance
• bin/ - the startup scripts
• standalone.sh - start a standalone instance
• standalone.conf - enable debug
• domain.sh - start up a domain (more advanced…)
• standalone/configuration/standalone.xml - the config of
a standalone instance
• domain/configuration/domain.xml and host.xml - the
config of a domain and its hosts
• https://docs.jboss.org/author/display/WFLY8/Getting+Started+Guide
20. Wrap-up
• Git clone
• Build & import into IDE
• Found bug in Jira
• Fixed bug
• Opened PR
• Community is more than just code!