~nik90/ubuntu-clock-app/remove-listitemwithactions-upstream-component

326.1.1 by Nekhelesh Ramananthan
Updated readme styles and information
1
Building and running on Vivid Desktop (15.04)
2
=============================================
3
4
Building and running the Ubuntu Clock App is quite simple. You will require
5
Ubuntu 15.04 and higher to run on the desktop.
6
7
   $ bzr branch lp:ubuntu-clock-app branch-name
290.2.3 by Bartosz Kosiorek
Implement Snooze Time according to UX design.
8
   $ cd branch-name
9
   $ mkdir builddir && cd builddir
10
   $ cmake .. && cmake --build .
11
   $ qmlscene ../app/ubuntu-clock-app.qml -I backend/
326.1.1 by Nekhelesh Ramananthan
Updated readme styles and information
12
13
Submitting a patch upstream
14
===========================
15
16
If you want to submit a bug fix you can do so by branching the code as shown
17
above, implementing the fixes and running to see if it fixed the issue. We also
18
request that you run the Autopilot and Unit tests to check if anything
19
regressed due to the bug fix.
20
21
If the tests fail, you will have to fix them before your bug fix can be
22
approved and merged into trunk. If the tests pass then commit and push your
23
code by,
24
290.2.3 by Bartosz Kosiorek
Implement Snooze Time according to UX design.
25
   $ bzr commit -m "Implemented bug fix" --fixes lp:bug-number
26
   $ bzr push lp:~launchpadid/ubuntu-clock-app/branch-name
326.1.1 by Nekhelesh Ramananthan
Updated readme styles and information
27
28
Running Tests
29
=============
30
31
Please check README.autopilot and README.unittest on how to run the tests.
32
They are quite explanatory and will help you get started.
33
34
Code Style
35
==========
5.1.1 by Nekhelesh Ramananthan
Added readme documentation for prospective developers. Also added the copyright notice
36
37
We are trying to use a common code style throughout the code base to maintain
38
uniformity and improve code clarity. Listed below are the code styles guides
39
that will be followed based on the language used.
40
49.2.13 by Nekhelesh Ramananthan
Updated readme files with instruction to run ap and unit tests
41
* QML        - http://qt-project.org/doc/qt-5/qml-codingconventions.html 
42
* JS, C++    - https://google-styleguide.googlecode.com/svn/trunk/cppguide.xml
43
* Python     - Code should follow PEP8 and Flake regulations
5.1.2 by Nekhelesh Ramananthan
Added note to the qml conventions
44
45
Note: In the QML code convention, ignore the Javascript code section guidelines.
46
So the sections that should be taken into account in the QML conventions are QML 
47
Object Declarations, Grouped Properties and Lists.
48
326.1.1 by Nekhelesh Ramananthan
Updated readme styles and information
49
Debugging
50
=========
290.2.3 by Bartosz Kosiorek
Implement Snooze Time according to UX design.
51
 
52
GDB allows one to see what is going on `inside' another program while it executes, 
53
or what another program was doing at the moment it crashed. It is a pretty niffty tool which allows you 
54
to get the crash log that can help a developer pin point the cause of the crash.
300.1.1 by Bartosz Kosiorek
Update information about debugging
55
Before reproducing crash it is good to create symbols table for gdb, by using command:
290.2.3 by Bartosz Kosiorek
Implement Snooze Time according to UX design.
56
57
   $ cd branch-name
300.1.1 by Bartosz Kosiorek
Update information about debugging
58
   $ mkdir builddir && cd builddir
59
   $ cmake -DCMAKE_BUILD_TYPE=Debug .. && cmake --build .
60
61
To run GDB:
62
290.2.3 by Bartosz Kosiorek
Implement Snooze Time according to UX design.
63
   $ gdb qmlscene
64
65
At this point, you are inside the gdb prompt. Run your application as you normally would.
66
67
     run ../app/ubuntu-clock-app.qml -I backend
68
69
Your app is now running and monitored by GDB. Reproduce the steps in your app to make it crash. Once it does crash,
70
71
     bt
72
73
That's about it. To quit GDB, type quit to return back to the normal terminal console.
74
75
     quit
76
77
5.1.2 by Nekhelesh Ramananthan
Added note to the qml conventions
78