76 lines
2.4 KiB
Text
76 lines
2.4 KiB
Text
GENERAL
|
|
=======
|
|
|
|
General notes and rules on clutter core hacking;
|
|
|
|
- GNU style indentation, please wrap at 80 chars.
|
|
|
|
- All non static public API funcs should be documented in the source files
|
|
via gtk-doc. Structures, enumerations and macros should be documented in
|
|
the header files.
|
|
|
|
- All non-trivial static and private API should be documented, especially
|
|
the eventual lifetime handling of the arguments/return values or locking
|
|
of mutexes.
|
|
|
|
- All public functions with float parameters should also provide a fixed
|
|
point version. Fixed point should be used internally.
|
|
|
|
- All public functions dealing with pixels should also provide a
|
|
ClutterUnit version. ClutterUnit should be used internally.
|
|
|
|
- Properties should always be in floating point (never fixed point).
|
|
The precision should be double for unbounded properties (e.g.
|
|
(-MAX_DOUBLE, MAX_DOUBLE)), and single for bounded properties (e.g.:
|
|
[0.0, 1.0]).
|
|
|
|
- Public entry points must always check their arguments with
|
|
g_return_if_fail() or g_return_val_if_fail().
|
|
|
|
- Private entry points should use g_assert() to verify internal state.
|
|
|
|
- Really try to avoid if possible additions to clutter-private.h. Use
|
|
accessor functions instead.
|
|
|
|
- Don't add direct GL calls but wrap with cogl (also adding GL ES Version)
|
|
|
|
- Use CLUTTER_NOTE() macro for debug statements.
|
|
|
|
- New features should also include an exhaustive test unit under tests.
|
|
|
|
|
|
RELEASES
|
|
========
|
|
|
|
In making a new release;
|
|
|
|
- Check out a fresh copy from SVN.
|
|
|
|
- Verify versioning in configure.ac, increasing relevant
|
|
clutter_major_version/clutter_minor_version/clutter_micro_version
|
|
value. For point releases, bump clutter_micro_version to the next
|
|
even number.
|
|
|
|
- If there was no API change (addition, removal), increment
|
|
clutter_interface_age by one. If there was an API change,
|
|
set clutter_interface_age to zero.
|
|
|
|
- Update NEWS (New feature details, bug #'s), README (Any API changes
|
|
relevant to developers + version), AUTHORS if relevant.
|
|
|
|
- Add a Release entry to the ChangeLog noting version.
|
|
|
|
- Call make distcheck and fix if fails.
|
|
|
|
- Upload the tarball.
|
|
|
|
- Bump clutter_micro_version to the next odd number version.
|
|
|
|
- Commit.
|
|
|
|
- Announce release to waiting world on blog and mailing list.
|
|
|
|
- Release any dependant add-ons following similar rules to above.
|
|
Dont forget to check *.pc file version deps!
|
|
|
|
$LastChangedDate$
|