hopefully final commmit before release 0.73
[why3.git] / DEVELOPER.readme
blob9e3a00669bc74b8192233cd05a49c0dda19b1a3b
1 === Developer userguide ===
3 This file summarizes the guidelines used for the developpement of why3
4 that each one must try to follow.
6 === Commiting ===
7  Every commit must :
8   * compile, make bench must run until the end
9   * doesn't contain trailing whitespace
10    ** in emacs : (setq-default show-trailing-whitespace t)
11   * doesn't use tab for indentation
12    ** in emacs : (setq-default indent-tabs-mode nil)
13   * doesn't contain files with lines wider than 79 characters
14    ** in emacs lineker mode can be used
16 Currently no hooks inforce those rules.
18 === Nightly Bench ===
19  Every why3 sessions added in examples, examples/bts, examples/programs,
20  examples/check-builtin (cf examples/regtest.sh) are replayed every night
21  on the computer named moloch.lri.fr. So the sessions must be created on this
22  computer in order to be accurate according to the version of the installed
23  provers.
25 === Major Release ===
26  At each major releases :
27   * every one must take care of what they commit,
28   * a tag, named with the current version number, must be added at the commit
29     used for the tarball,
30   * a commit which increases the version number must be added just after.
32 === Fixes Against a Major Release ===
34     (** Currently we are still in beta version so the fixes are done
35     in the trunk and we release often *)
37     The fixes which apply to the last major release must be done in a
38   specific branch for the last major release. This branch start at the
39   commit tagged for this realease. Afterward one merge the fixes into
40   the master branch and make a minor release from the last release
41   branch.