This repository has been archived by the owner on Mar 8, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 9
/
README.developers
75 lines (43 loc) · 2.61 KB
/
README.developers
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
Building and running on Touch (15.04)
=============================================
### Requirements
You will need to have Clickable set up to build the app. Please refer to the [wiki](https://wiki.ubports.com/wiki/Set-up-an-app-development-environment).
### Viewing the app on desktop
You can run the app on desktop using the command:
$ qmlscene qml/calendar.qml
### Building the app
$ git clone https://github.com/ubports/calendar-app.git
$ cd calendar-app
$ clickable build click_build install launch
### Running the app
If you have your phone connected via USB, you can run the app on you phone using:
$ clickable install launch
Note: you must have enabled developer mode on your phone for this to work.
Submitting a patch upstream
===========================
If you want to submit a bug fix you can do so by forking the code to your own repository, implementing the fixes and running to see if it fixed the issue. We also request that you run the Autopilot and Unit tests to check if anything regressed due to the bug fix.
If the tests fail, you will have to fix them before your bug fix can be approved and merged into trunk.
Running Tests
=============
Please check README.autopilot and README.unittest on how to run the tests.
They are quite explanatory and will help you get started.
Code Style
==========
We are trying to use a common code style throughout the code base to maintain uniformity and improve code clarity. Listed below are the code styles guides that will be followed based on the language used.
* QML - http://qt-project.org/doc/qt-5/qml-codingconventions.html
* JS, C++ - https://google-styleguide.googlecode.com/svn/trunk/cppguide.xml
* Python - Code should follow PEP8 and Flake regulations
Note: In the QML code convention, ignore the Javascript code section guidelines.
So the sections that should be taken into account in the QML conventions are QML
Object Declarations, Grouped Properties and Lists.
Debugging
=========
GDB allows one to see what is going on `inside' another program while it executes, or what another program was doing at the moment it crashed. It is a pretty niffty tool which allows you to get the crash log that can help a developer pin point the cause of the crash.
To run GDB:
$ gdb qmlscene
At this point, you are inside the gdb prompt. Run your application as you normally would.
run ../qml/calendar-app.qml
Your app is now running and monitored by GDB. Reproduce the steps in your app to make it crash. Once it does crash,
bt
That's about it. To quit GDB, type quit to return back to the normal terminal console.
quit