Difference between revisions of "DeveloperGuide"

From The Battle for Wesnoth Wiki
m
(Commits)
Line 2: Line 2:
 
* Setting up developer access to the repository: [[WesnothRepository#Commit_access]]
 
* 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
 
* 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
+
* 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.
 
* 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
 
* 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.
 
* Be on #wesnoth-dev IRC channel and coordinate with other developers. Bots report commits and some devs may ask you a question about it.

Revision as of 16:50, 22 May 2014

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.
  • 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