DeveloperGuide

From The Battle for Wesnoth Wiki
Revision as of 21:31, 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