forked from OpenZWave/python-openzwave
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDEVEL.txt
86 lines (52 loc) · 2.39 KB
/
DEVEL.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Developpers information
***********************
How to develop for python-openzwave
===================================
Get the sources
git clone https://github.com/bibi21000/python-openzwave
You must now install python-openzwave in develop mode
sudo make develop
Your password will be asked (by sudo) for installing eggs in your
local directory.
Develop, test, debug, test, ... :)
Update the documentation if needed. You surely found the documentation
useful, so please keep it up to date.
You can create an account on travis to run the (futurs) tests.
At last but not least, submit your request.
How to develop for libopenzwave (was python-openzwave-lib)
==========================================================
After updating the pyx, you need to reinstall it, specially if your in
develop mode. Otherwise, your changes will not be applied :
sudo make develop
Tests
=====
Travis-ci, nosetests and pylint are used to test quality of code.
There reports are here :
* Travis : https://travis-ci.org/bibi21000/python-openzwave
* Nosetests report
* Coverage report
* Pylint report
Documentation
=============
Documentation is managed with sphinx. Don't utpdate txt files (README,
INSTALL, ...), update the RST sources in docs. Use the following
commands to generate all docs files (txt, html and joomla)
You need to have installed python-openzave (in either develop or
install mode) before generating the documentation.
make docs
Static vs dynamic (or shared)
=============================
The openzwave (c++) lib needs to run as a singleton : it means that it
MUST have only one instance of the manager running on your computer.
There is 2 ways of linking libraries with a program :
* static : includes a copy of the library in your binary program.
This means that your program has its own instance of the library.
This the way the install.sh runs. So you CAN'T have another
program (like the control-panel) running when using the python-
openzwave library
* dynamic or shared : includes a link to the library in your
binary program. This means that your program share the library
with other programs. In this case, the instance is owned directly
by the library. This the way the debian package works. So you CAN
have another program running when using the python-openzwave
library. Of course, this program MUST use the shared library too.