Merge lp:~emailgirishrawat/ubuntu-weather-app/markdown-readmes into lp:ubuntu-weather-app

Proposed by Girish
Status: Merged
Approved by: Victor Thompson
Approved revision: 191
Merged at revision: 188
Proposed branch: lp:~emailgirishrawat/ubuntu-weather-app/markdown-readmes
Merge into: lp:ubuntu-weather-app
Diff against target: 437 lines (+272/-114)
9 files modified
README (+0/-20)
README-Autopilot.md (+78/-0)
README-Developers.md (+91/-0)
README-Mergeproposal.md (+30/-0)
README-Translations.md (+35/-0)
README.autopilot (+0/-57)
README.md (+34/-0)
README.translations (+0/-37)
debian/changelog (+4/-0)
To merge this branch: bzr merge lp:~emailgirishrawat/ubuntu-weather-app/markdown-readmes
Reviewer Review Type Date Requested Status
Jenkins Bot continuous-integration Approve
Victor Thompson Approve
Andrew Hayzen Approve
Nicholas Skaggs (community) Approve
Review via email: mp+280787@code.launchpad.net

Commit message

Updated and fixed READMEs.

Description of the change

Marked down all the READMEs. Minor changes in README-Developers.md.

To post a comment you must log in.
Revision history for this message
Nicholas Skaggs (nskaggs) wrote :

I'll leave the final approval to Andrew, but this looks like a nice improvement.

Revision history for this message
Nicholas Skaggs (nskaggs) :
review: Approve
Revision history for this message
Victor Thompson (vthompson) wrote :

Hi Girish! Thanks for helping to get these updated! Good work! I have some inline comments that I'd like you too look into, please.

One general question for Andrew and Nicholas (and others): Should we perhaps remove the section on debugging with GDB? It doesn't seem as applicable for a pure QML app--I've never had to run gdb while running a QML app.

review: Needs Fixing
Revision history for this message
Andrew Hayzen (ahayzen) wrote :

Looking pretty good so far, a few (8) inline comments :-)

review: Needs Fixing
Revision history for this message
Girish (emailgirishrawat) wrote :

ahayzen : vthompson : Fixed.
ahayzen : I couldn't find a wiki for the weather app's design specs.

Revision history for this message
Andrew Hayzen (ahayzen) wrote :

One inline comment

1) We now have (or popey is adding as we speak :-) ) https://developer.ubuntu.com/en/community/core-apps/weather/#design so could this be updated :-)

review: Needs Fixing
Revision history for this message
Girish (emailgirishrawat) wrote :

Andrew, the link to design leads to the main page. It's doesn't even lead to the design section on the page.
Nevertheless, I've made the changes.

Revision history for this message
Andrew Hayzen (ahayzen) wrote :

LGTM, thanks for your patience and great work :-) I'll let Victor also approve before it is merged in.

review: Approve
Revision history for this message
Victor Thompson (vthompson) wrote :

LGTM! THanks Girish!

review: Approve
Revision history for this message
Jenkins Bot (ubuntu-core-apps-jenkins-bot) wrote :

FAILED: Autolanding.
No commit message was specified in the merge proposal. Hit 'Add commit message' on the merge proposal web page or follow the link below. You can approve the merge proposal yourself to rerun.
https://code.launchpad.net/~emailgirishrawat/ubuntu-weather-app/markdown-readmes/+merge/280787/+edit-commit-message

review: Needs Fixing (continuous-integration)
Revision history for this message
Girish (emailgirishrawat) wrote :

Victor: Could you approve this again? Forgot to add a commit message the previous time.

Revision history for this message
Jenkins Bot (ubuntu-core-apps-jenkins-bot) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== removed file 'README'
--- README 2015-11-09 10:37:47 +0000
+++ README 1970-01-01 00:00:00 +0000
@@ -1,20 +0,0 @@
1Weather app for Ubuntu devices
2
3To contribute:
4 https://wiki.ubuntu.com/Touch/CoreApps/Weather
5 https://wiki.ubuntu.com/Touch/CoreApps/DevelopmentGuide
6
7Note: The OpenWeatherMap service now requires an API key where previously
8 it did not. FOSS developers can register for a free API key
9 which needs to be put into app/data/keys.js for the app to
10 function correctly. Do not commit branches with the key in place
11 as a centrally managed key is injected at build time.
12
13 See http://openweathermap.org/faq#error401 for details and
14 http://openweathermap.org/appid to obtain a personal key.
15
16The following essential packages are required to develop this app:
17- ubuntu-sdk (see http://developer.ubuntu.com/start)
18- intltool - run the `sudo apt-get install intltool` command for installation
19
20See the debian/control file for an up-to-date list of dependencies
210
=== added file 'README-Autopilot.md'
--- README-Autopilot.md 1970-01-01 00:00:00 +0000
+++ README-Autopilot.md 2015-12-21 12:54:41 +0000
@@ -0,0 +1,78 @@
1Running Autopilot tests
2=======================
3
4The Weather app follows a test driven development where autopilot tests are run before every merge into trunk. If you are submitting your bugfix/patch to the Weather app, please follow the following steps below to ensure that all tests pass before proposing a merge request.
5
6If you are looking for more info about Autopilot or writing AP tests for the weather app, here are some useful links to help you:
7
8- [Ubuntu - Quality](http://developer.ubuntu.com/start/quality)
9- [Ubuntu - Autopilot](https://developer.ubuntu.com/api/autopilot/python/1.5.0/)
10
11For help and options on running tests, see:
12
13- [Autopilot Tests](https://developer.ubuntu.com/en/start/platform/guides/running-autopilot-tests/)
14
15Prerequisites
16=============
17
18Install the following autopilot packages required to run the tests,
19
20 $ sudo apt-get install python3-autopilot libautopilot-qt ubuntu-ui-toolkit-autopilot python3-autopilot-vis
21
22Running tests on the desktop
23============================
24
25Using terminal:
26
27* Branch the Weather app code, for example,
28
29 $ bzr branch lp:ubuntu-weather-app
30
31* Navigate to the tests/autopilot directory.
32
33$ cd ubuntu-weather-app/tests/autopilot
34
35* run all tests.
36
37 $ autopilot3 run -vv ubuntu_weather_app
38
39* to list all tests:
40
41 $ autopilot3 list ubuntu_weather_app
42
43 To run only one test (for instance: ubuntu_weather_app.tests.test_empty_state.TestEmptyState.test_add_location_button)
44
45 $ autopilot3 run -vv ubuntu_weather_app.tests.test_empty_state.TestEmptyState.test_add_location_button
46
47* Debugging tests using autopilot vis
48
49 $ autopilot3 launch -i Qt qmlscene app/ubuntu-weather-app.qml
50
51 $ autopilot3 vis
52
53Running tests using Ubuntu SDK
54==============================
55
56Refer this [tutorial](https://developer.ubuntu.com/en/start/platform/guides/running-autopilot-tests/) to run tests on Ubuntu SDK:
57
58Running tests on device or emulator:
59====================================
60
61Using autopkg:
62
63* Branch the Weather app code, for example,
64
65 $ bzr branch lp:ubuntu-weather-app
66
67* Navigate to the source directory.
68
69 $ cd ubuntu-weather-app
70
71* Build a click package
72
73 $ click-buddy .
74
75* Run the tests on device (assumes only one click package in the directory)
76
77$ adt-run . *.click --- ssh -s adb -- -p <PASSWORD>
78
079
=== added file 'README-Developers.md'
--- README-Developers.md 1970-01-01 00:00:00 +0000
+++ README-Developers.md 2015-12-21 12:54:41 +0000
@@ -0,0 +1,91 @@
1Building and running on Desktop
2===============================
3
4Building and running the Ubuntu Weather App is quite simple. You will require
5Ubuntu 15.04 and higher to run on the desktop.
6
7
8
9 $ bzr branch lp:ubuntu-weather-app branch-name
10 $ cd branch-name
11 $ qmlscene app/ubuntu-weather-app.qml
12
13API
14===
15The OpenWeatherMap service requires an API key.
16Visit [Open Weather](http://openweathermap.org/appid) to obtain a personal key.
17Click [here](http://openweathermap.org/faq#error401) for more details.
18Place the key between the quotation marks for the "owmKey" variable in app/data/keys.js
19
20**Do not commit branches with the key in place as a centrally managed key is injected at build time.**
21
22Submitting a patch upstream
23===========================
24
25If you want to submit a bug fix you can do so by branching the code as shown
26above, implementing the fixes and running to see if it fixed the issue. We also
27request that you run the Autopilot tests to check if anything
28regressed due to the bug fix.
29
30If the tests fail, you will have to fix them before your bug fix can be
31approved and merged into trunk. If the tests pass then commit and push your
32code by,
33
34
35
36 $ bzr commit -m "Implemented bug fix" --fixes lp:bug-number
37 $ bzr push lp:~launchpadid/ubuntu-weather-app/branch-name
38
39Running Tests
40=============
41
42Please check README-Autopilot.md on how to run the tests.
43They are quite explanatory and will help you get started.
44
45Code Style
46==========
47
48We are trying to use a common code style throughout the code base to maintain
49uniformity and improve code clarity. Listed below are the code styles guides
50that will be followed based on the language used.
51
52* [QML](http://qt-project.org/doc/qt-5/qml-codingconventions.html)
53* [JS, C++](https://google-styleguide.googlecode.com/svn/trunk/cppguide.xml)
54* Python - Code should follow PEP8 and Flake regulations
55
56Note: In the QML code convention, ignore the Javascript code section guidelines.
57So the sections that should be taken into account in the QML conventions are QML
58Object Declarations, Grouped Properties and Lists.
59
60Debugging
61=========
62
63GDB allows one to see what is going on `inside' another program while it executes,
64or what another program was doing at the moment it crashed. It is a pretty niffty tool which allows you
65to get the crash log that can help a developer pin point the cause of the crash.
66Before reproducing crash it is good to create symbols table for gdb, by using command:
67
68
69
70 $ cd branch-name
71
72To run GDB:
73
74
75
76 $ gdb qmlscene
77
78At this point, you are inside the gdb prompt. Run your application as you normally would.
79
80 run app/ubuntu-weather-app.qml
81
82Your app is now running and monitored by GDB. Reproduce the steps in your app to make it crash. Once it does crash,
83
84 bt
85
86That's about it. To quit GDB, type quit to return back to the normal terminal console.
87
88 quit
89
90
91
092
=== added file 'README-Mergeproposal.md'
--- README-Mergeproposal.md 1970-01-01 00:00:00 +0000
+++ README-Mergeproposal.md 2015-12-21 12:54:41 +0000
@@ -0,0 +1,30 @@
1Prerequisites to approving a Merge Proposal (MP)
2================================================
3
4Over time, it has been found that insufficient testing by reviewers sometimes leads to weather app trunk not buildable in Qtcreator due to manifest errors, or translation pot file not updated. As such, please follow the checklist below before top-approving a MP.
5
6Checklist
7=========
8
9* Does the MP add/remove user visible strings? If Yes, has the pot file been
10 updated?
11
12* Did you remove the API key? (refer README.md)
13
14* Does the MP change the UI? If Yes, has it been approved by design?
15
16* Did you perform an exploratory manual test run of your code change and any
17 related functionality?
18
19* If the MP fixes a bug or implements a feature, are there accompanying unit
20 and autopilot tests?
21
22* Is the weather app trunk buildable and runnable using Qtcreator?
23
24* Was the debian changelog updated?
25
26* Was the copyright years updated if necessary?
27
28The above checklist is more of a guideline to help weather app trunk stay buildable,
29stable and up to date.
30
031
=== added file 'README-Translations.md'
--- README-Translations.md 1970-01-01 00:00:00 +0000
+++ README-Translations.md 2015-12-21 12:54:41 +0000
@@ -0,0 +1,35 @@
1Updating translations
2=====================
3
4Translations for the Weather app happen in [Launchpad Translations](https://translations.launchpad.net/ubuntu-weather-app) and are automatically committed daily on the trunk branch in the po/ folder.
5
6They are then built and installed as part of the package build, so that
7developers don't really need to worry about them.
8
9However, there is one task that needs to be taken care of: exposing new
10translatable messages to translators. So whenever you add new translatable
11messages in the code, make sure to follow these steps:
12
13 1. Run click-buddy to build the project and generate a new .pot file:
14 $ click-buddy --dir .
15 2. Commit the generated .pot file:
16 $ bzr commit -m"Updated translation template"
17 3. Push the branch and send a merge proposal as usual
18
19And that's it, once the branch lands Launchpad should take care of all the rest!
20
21Behind the scenes
22=================
23
24Behind the scenes, whenever the po/*.pot file (also known as translations template) is committed to trunk Launchpad reads it and updates the translatable strings exposed in the web UI. This will enable translators to work on the new strings.
25The translations template contains all translatable strings that have been
26extracted from the source code files.
27
28Launchpad will then store translations in its database and will commit them daily in the form of textual po/*.po files to trunk. The PO files are also usually
29referred to as the translations files. You'll find a translation file for each
30language the app has got at least a translated message available for.
31
32Translations for core apps follow the standard [gettext format](https://www.gnu.org/software/gettext/).
33
34 [Launchpad Translations](https://translations.launchpad.net/ubuntu-weather-app)
35 [Gettext format](https://www.gnu.org/software/gettext/)
036
=== removed file 'README.autopilot'
--- README.autopilot 2015-07-23 00:36:06 +0000
+++ README.autopilot 1970-01-01 00:00:00 +0000
@@ -1,57 +0,0 @@
1# Running Autopilot tests
2
3The Weather app follows a test driven development where autopilot tests are run before every merge into trunk. If you are submitting your bugfix/patch to the Weather app, please follow the following steps below to ensure that all tests pass before proposing a merge request.
4
5If you are looking for more info about Autopilot or writing AP tests for the weather app, here are some useful links to help you:
6
7- http://developer.ubuntu.com/start/quality
8- https://developer.ubuntu.com/api/autopilot/python/1.5.0/
9
10For help and options on running tests, see:
11
12- https://developer.ubuntu.com/en/start/platform/guides/running-autopilot-tests/
13
14## Prerequisites
15
16Install the following autopilot packages required to run the tests,
17$ sudo apt-get install python3-autopilot libautopilot-qt ubuntu-ui-toolkit-autopilot python3-autopilot-vis
18
19## Running tests on the desktop
20
21Using terminal:
22
23* Branch the Weather app code, for example,
24 $ bzr branch lp:ubuntu-weather-app
25
26* Navigate to the tests/autopilot directory.
27 $ cd ubuntu-weather-app/tests/autopilot
28
29* run all tests.
30 $ autopilot3 run -vv ubuntu_weather_app
31
32 to list all tests:
33 $ autopilot3 list ubuntu_weather_app
34
35 To run only one test (for instance: ubuntu_weather_app.tests.test_empty_state.TestEmptyState.test_add_location_button)
36 $ autopilot3 run -vv ubuntu_weather_app.tests.test_empty_state.TestEmptyState.test_add_location_button
37
38 Debugging tests using autopilot vis
39 $ autopilot3 launch -i Qt qmlscene app/ubuntu-weather-app.qml
40 $ autopilot3 vis
41
42
43## Running tests on device or emulator:
44
45Using autopkg:
46
47* Branch the Weather app code, for example,
48 $ bzr branch lp:ubuntu-weather-app
49
50* Navigate to the source directory.
51 $ cd ubuntu-weather-app
52
53* Build a click package
54 $ click-buddy .
55
56* Run the tests on device (assumes only one click package in the directory)
57 $ adt-run . *.click --- ssh -s adb -- -p <PASSWORD>
580
=== added file 'README.md'
--- README.md 1970-01-01 00:00:00 +0000
+++ README.md 2015-12-21 12:54:41 +0000
@@ -0,0 +1,34 @@
1ReadMe - Ubuntu Weather App
2===========================
3Ubuntu Weather App is the official weather app for Ubuntu Touch. We follow an open
4source model where the code is available to anyone to branch and hack on. The
5ubuntu weather app follows a test driven development (TDD) where tests are
6written in parallel to feature implementation to help spot regressions easier.
7
8API
9===
10The OpenWeatherMap service requires an API key.
11Visit [Open Weather](http://openweathermap.org/appid) to obtain a personal key.
12Click [here](http://openweathermap.org/faq#error401) for more details.
13Place the key between the quotation marks for the "owmKey" variable in app/data/keys.js
14
15**Do not commit branches with the key in place as a centrally managed key is injected at build time.**
16
17Dependencies
18============
19**DEPENDENCIES ARE NEEDED TO BE INSTALLED TO BUILD AND RUN THE APP**.
20
21A complete list of dependencies for the project can be found in ubuntu-weather-app/debian/control
22
23The following essential packages are also required to develop this app:
24* [ubuntu-sdk](http://developer.ubuntu.com/start)
25* intltool - run `sudo apt-get install intltool`
26
27Useful Links
28============
29Here are some useful links with regards to the Weather App development.
30
31* [Home Page](https://developer.ubuntu.com/en/community/core-apps/weather/)
32* [Weather App Wiki](https://wiki.ubuntu.com/Touch/CoreApps/Weather)
33* [Designs](https://developer.ubuntu.com/en/community/core-apps/weather/#design)
34* [Project page](https://launchpad.net/ubuntu-weather-app)
035
=== removed file 'README.translations'
--- README.translations 2015-05-14 23:34:48 +0000
+++ README.translations 1970-01-01 00:00:00 +0000
@@ -1,37 +0,0 @@
1# Updating translations
2
3Translations for the Weather app happen in [Launchpad Translations][] and
4are automatically committed daily on the trunk branch in the po/ folder.
5
6They are then built and installed as part of the package build, so that
7developers don't really need to worry about them.
8
9However, there is one task that needs to be taken care of: exposing new
10translatable messages to translators. So whenever you add new translatable
11messages in the code, make sure to follow these steps:
12
13 1. Run click-buddy to build the project and generate a new .pot file:
14 `click-buddy --dir .`
15 2. Commit the generated .pot file:
16 `bzr commit -m"Updated translation template"`
17 3. Push the branch and send a merge proposal as usual
18
19And that's it, once the branch lands Launchpad should take care of all the rest!
20
21# Behind the scenes
22
23Behind the scenes, whenever the po/*.pot file (also known as translations template)
24is committed to trunk Launchpad reads it and updates the translatable strings
25exposed in the web UI. This will enable translators to work on the new strings.
26The translations template contains all translatable strings that have been
27extracted from the source code files.
28
29Launchpad will then store translations in its database and will commit them daily
30in the form of textual po/*.po files to trunk. The PO files are also usually
31referred to as the translations files. You'll find a translation file for each
32language the app has got at least a translated message available for.
33
34Translations for core apps follow the standard [gettext format].
35
36 [Launchpad Translations]: https://translations.launchpad.net/ubuntu-weather-app
37 [gettext format]: https://www.gnu.org/software/gettext/
380
=== modified file 'debian/changelog'
--- debian/changelog 2015-12-03 15:22:45 +0000
+++ debian/changelog 2015-12-21 12:54:41 +0000
@@ -1,7 +1,11 @@
1ubuntu-weather-app (3.2) UNRELEASED; urgency=medium1ubuntu-weather-app (3.2) UNRELEASED; urgency=medium
22
3 [ Andrew Hayzen ]
3 * Release 3.1 and bump version to 3.24 * Release 3.1 and bump version to 3.2
45
6 [ Girish Rawat ]
7 * Added new READMEs
8
5 -- Andrew Hayzen <ahayzen@gmail.com> Thu, 03 Dec 2015 15:20:49 +00009 -- Andrew Hayzen <ahayzen@gmail.com> Thu, 03 Dec 2015 15:20:49 +0000
610
7ubuntu-weather-app (3.1ubuntu1) vivid; urgency=medium11ubuntu-weather-app (3.1ubuntu1) vivid; urgency=medium

Subscribers

People subscribed via source and target branches

to all changes: