DeveloperGuide
From The Battle for Wesnoth Wiki
Contents
Commits
- Setting up developer access to the repository: WesnothRepository#Commit_access
- Register to commit mailing list: https://mail.gna.org/listinfo/wesnoth-commits or get the list moderator to approve commit messages from you otherwise
- Trunk should compile and work after commit -- we use travis-ci, which will report any build failures on master to the irc channel. https://travis-ci.org/wesnoth/wesnoth
- All unit tests should pass after commit -- travis will also test this. To run the C++ unit tests, compile the "test" executable and run it. To run the WML unit tests, run "run_wml_tests -u" in the root of the repo.
- If a test times out spuriously on travis, you can restart the build by
- clicking on the link posted to irc by the travis bot, and
- clicking on the restart button
- If a test times out spuriously on travis, you can restart the build by
- Few small commits are better than a big one (hard to review), so when possible split it in working parts with info about where you are going
- Be on #wesnoth-dev IRC channel and coordinate with other developers. Bots report commits and some devs may ask you a question about it.
- Don't forget changelogs: changelog for any (significant enough) changes and player_changelog for changes visible to users.
- Always check your changes before commit (see WesnothRepository#Reviewing your changes).
- Commit message:
- Mention any change, especially if some are unrelated to the main one (but you should use separated commits for this).
- Mention "bug #1234" for automatic cc to that gna bug number
- Mention a developer's IRC name will ping him on IRC (when the bot report it), and if he's not there, he may see it on the IRC logs
Bugs management
- Change status of fixed bugs to "Fixed" when committed
- Change status of fixed bugs to "Closed" when released, see ReportingBugs#Bug_protocol for details
- Check if there is new bugs relevant to your code and if any, assign them to you.
Tips
- If you build with scons, use clang rather than gcc, as it is 2-3x faster to compile wesnoth.
Set your choice permanently with
scons cxxtool=clang++