DeveloperGuide

From The Battle for Wesnoth Wiki
Revision as of 21:24, 9 October 2014 by Iceiceice (talk | contribs) (Commits)

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, and it isn't related to your code, you can restart the build by clicking on the link posted to irc by the travis bot, and clicking on the restart button.
  • 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++

See also