Merge lp:~dtrg21/ubuntu-rssreader-app/add-readmes into lp:ubuntu-rssreader-app

Proposed by Aditya
Status: Merged
Approved by: Roman Shchekin
Approved revision: 417
Merged at revision: 430
Proposed branch: lp:~dtrg21/ubuntu-rssreader-app/add-readmes
Merge into: lp:ubuntu-rssreader-app
Diff against target: 311 lines (+263/-14)
7 files modified
README-Autopilot.md (+52/-0)
README-Developers.md (+78/-0)
README-MergeProposal.md (+33/-0)
README-UnitTest.md (+41/-0)
README-translations.md (+42/-0)
README.md (+17/-0)
README.txt (+0/-14)
To merge this branch: bzr merge lp:~dtrg21/ubuntu-rssreader-app/add-readmes
Reviewer Review Type Date Requested Status
Jenkins Bot continuous-integration Approve
Nicholas Skaggs (community) Approve
Andrew Hayzen (community) Approve
Joey Chan Approve
Alan Pope 🍺🐧🐱 πŸ¦„ Pending
Review via email: mp+281191@code.launchpad.net

Commit message

Add readme's for Google Code In task.

Description of the change

Add readme's for Google Code In task.

To post a comment you must log in.
Revision history for this message
Joey Chan (qqworini) wrote :

I'm OK with this MR

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

Looks good so far! However for weather [0] we decided to use the markdown format, so that would mean renaming the files and updating some of the links to be in the format [Title](URL). I believe that we should be consistent over the coreapps, what do you guys think?

0 - https://code.launchpad.net/~emailgirishrawat/ubuntu-weather-app/markdown-readmes

review: Needs Information
416. By Aditya

Add README's as MarkDown. Task from Google Code In

Revision history for this message
Aditya (dtrg21) wrote :

I have added them as markdowns. Check it now.

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

Awesome thanks, look much better, the web links could do with titles next to them though, I've put an example inline comment next to each one that should be updated.

Also I have one other comment for the README-developers.md

'Not sure if we should directly refer to "Vivid Desktop (15.04)", maybe just "Desktop" is better, otherwise this will have to be updated.'

Otherwise this looks good :-)

review: Needs Fixing
417. By Aditya

Fix links

Revision history for this message
Aditya (dtrg21) wrote :

Here is the final edit.

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

Awesome, thanks for those extra changes :-)

I'll let Joey do the final top approval.

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

Oh you could add yourself to the debian/changelog if you wanted :-)

Just run $ dch

Revision history for this message
Nicholas Skaggs (nskaggs) wrote :

It seems this never actually landed in trunk! Whoops, let's get this top approved and landed!

review: Approve
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
=== added file 'README-Autopilot.md'
--- README-Autopilot.md 1970-01-01 00:00:00 +0000
+++ README-Autopilot.md 2015-12-23 16:58:29 +0000
@@ -0,0 +1,52 @@
1Running Autopilot tests
2=======================
3
4Ubuntu Shorts App follows a test driven development where autopilot tests are
5run before every merge into trunk. If you are submitting your bugfix/patch to
6the shorts app, please follow the following steps below to ensure that all tests
7pass before proposing a merge request.
8
9If you are looking for more info about Autopilot or writing AP tests for the
10shorts app, here are some useful links to help you:
11
12* [Ubuntu - Quality](http://developer.ubuntu.com/start/quality)
13* [Ubuntu - Autopilot](https://developer.ubuntu.com/api/autopilot/python/1.5.0/)
14
15For help and options on running tests, see:
16
17* [Autopilot Tests](https://developer.ubuntu.com/en/start/platform/guides/running-autopilot-tests/)
18
19Prerequisites
20=============
21
22Install the following autopilot packages required to run the tests,
23 $ sudo apt-get install python3-autopilot libautopilot-qt ubuntu-ui-toolkit-autopilot python3-autopilot-vis
24
25Running tests on the desktop
26============================
27
28Using terminal:
29
30* Branch the shorts app code,
31 $ bzr branch lp:ubuntu-rssreader-app
32
33* Build the shorts app,
34 $ mkdir builddir && cd builddir
35 $ cmake .. && cmake --build . -- -j 3
36 $ cd ..
37
38* Navigate to the tests/autopilot directory.
39 $ cd shorts/tests/autopilot
40
41* run all tests.
42 $ autopilot3 run -vv shorts_app
43
44 to list all tests:
45 $ autopilot3 list shorts_app
46
47 To run only one test (for instance: test_add_single_type_alarm_must_add_to_alarm_list in TestAlarm.py):
48 $ autopilot3 run -vv ubuntu_shorts_app.tests.test_alarm.TestMainWindow.test_add_feed_to_new_topic
49
50 Debugging tests using autopilot vis
51 $ autopilot3 launch -i Qt qmlscene shorts/qml/shorts-app.qml -I shorts
52 $ autopilot3 vis
053
=== added file 'README-Developers.md'
--- README-Developers.md 1970-01-01 00:00:00 +0000
+++ README-Developers.md 2015-12-23 16:58:29 +0000
@@ -0,0 +1,78 @@
1Building and running on Desktop
2=============================================
3
4Building and running the Ubuntu Shorts App is quite simple. You will require
5Ubuntu 15.04 and higher to run on the desktop.
6
7 $ bzr branch lp:ubuntu-rssreader-app branch-name
8 $ cd branch-name
9 $ mkdir builddir && cd builddir
10 $ cmake .. && cmake --build . -- -j 3
11 $ qmlscene ../shorts/qml/shorts-app.qml -I ../shorts/
12
13Submitting a patch upstream
14===========================
15
16If you want to submit a bug fix you can do so by branching the code as shown
17above, implementing the fixes and running to see if it fixed the issue. We also
18request that you run the Autopilot and Unit tests to check if anything
19regressed due to the bug fix.
20
21If the tests fail, you will have to fix them before your bug fix can be
22approved and merged into trunk. If the tests pass then commit and push your
23code by,
24
25 $ bzr commit -m "Implemented bug fix" --fixes lp:bug-number
26 $ bzr push lp:~launchpadid/ubuntu-rssreader-app/branch-name
27
28Running Tests
29=============
30
31Please check README.autopilot and README.unittest on how to run the tests.
32They are quite explanatory and will help you get started.
33
34Code Style
35==========
36
37We are trying to use a common code style throughout the code base to maintain
38uniformity and improve code clarity. Listed below are the code styles guides
39that will be followed based on the language used.
40
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
44
45Note: In the QML code convention, ignore the Javascript code section guidelines.
46So the sections that should be taken into account in the QML conventions are QML
47Object Declarations, Grouped Properties and Lists.
48
49Debugging
50=========
51
52GDB allows one to see what is going on `inside' another program while it executes,
53or what another program was doing at the moment it crashed. It is a pretty niffty tool which allows you
54to get the crash log that can help a developer pin point the cause of the crash.
55Before reproducing crash it is good to create symbols table for gdb, by using command:
56
57 $ cd branch-name
58 $ mkdir builddir && cd builddir
59 $ cmake -DCMAKE_BUILD_TYPE=Debug .. && cmake --build . -- -j 3
60
61To run GDB:
62
63 $ gdb qmlscene
64
65At this point, you are inside the gdb prompt. Run your application as you normally would.
66
67 run ../shorts/qml/shorts-app.qml -I ../shorts
68
69Your 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
73That's about it. To quit GDB, type quit to return back to the normal terminal console.
74
75 quit
76
77
78
079
=== added file 'README-MergeProposal.md'
--- README-MergeProposal.md 1970-01-01 00:00:00 +0000
+++ README-MergeProposal.md 2015-12-23 16:58:29 +0000
@@ -0,0 +1,33 @@
1Prerequisites to approving a Merge Proposal (MP)
2================================================
3
4Over time, it has been found that insufficient testing by reviewers sometimes
5leads to shorts app trunk not buildable in Qtcreator due to manifest errors, or
6translation pot file not updated. As such, please follow the checklist below
7before top-approving a MP.
8
9Checklist
10=========
11
12* Does the MP add/remove user visible strings? If Yes, has the pot file been
13 updated?
14
15* Does the MP change the UI? If Yes, has it been approved by design?
16
17* Did you perform an exploratory manual test run of your code change and any
18 related functionality?
19
20* If the MP fixes a bug or implements a feature, are there accompanying unit
21 and autopilot tests?
22
23* Is the shorts app trunk buildable and runnable using Qtcreator?
24
25* Was the debian changelog updated?
26
27* Was the copyright years updated if necessary?
28
29The above checklist is more of a guideline to help shorts app trunk stay buildable,
30stable and up to date.
31
32Note: As of vivid 15.04, Autopilot are broken in trunk. As such autopilot failures
33can be excused until they are fixed in trunk.
034
=== added file 'README-UnitTest.md'
--- README-UnitTest.md 1970-01-01 00:00:00 +0000
+++ README-UnitTest.md 2015-12-23 16:58:29 +0000
@@ -0,0 +1,41 @@
1Running QML Unit Tests
2======================
3
4QML Unit Tests help with testing the internal working of components while
5autopilot tests help with testing the UI workflow as experience by the user.
6Running QML tests is quite simple and very fast.
7
8If you are submitting your bugfix/patch to the clock app, please follow the
9following steps below to check whether that all tests pass before proposing a
10merge request.
11
12* Branch the clock app code,
13 $ bzr branch lp:ubuntu-rssreader-app
14
15* Build the clock app,
16 $ mkdir builddir && cd builddir
17 $ cmake .. && cmake --build . -- -j 3
18
19Running all unit test at once
20=============================
21
22If you want to run all tests, then run the following command from the builddir,
23
24 $ ctest --output-on-failure
25
26If you want more verbose output, then run,
27
28 $ ctest -VV
29
30Running individual test cases,
31==============================
32
33If you want to run testcases individually, you can do so by navigating to the
34unit tests folder by,
35
36* Navigate to the tests/unit directory
37 $ cd shorts/tests/unit
38
39* Run the test by providing their filenames
40 $ qmltestrunner -input tst_feedLabel.qml
41 $ qmltestrunner -input tst_alarm.qml -import ../../shorts
042
=== added file 'README-translations.md'
--- README-translations.md 1970-01-01 00:00:00 +0000
+++ README-translations.md 2015-12-23 16:58:29 +0000
@@ -0,0 +1,42 @@
1Updating translations
2=====================
3
4Translations for the Shorts app happen in [Launchpad Translations] and
5are automatically committed daily on the trunk branch in the shorts/po/ folder.
6
7They are then built and installed as part of the package build, so that
8developers don't really need to worry about them.
9
10However, there is one task that needs to be taken care of: exposing new
11translatable messages to translators. So whenever you add new translatable
12messages in the code, make sure to follow these steps:
13
14 1. Run click-buddy retaining the build directory:
15 $ click-buddy --dir . --no-clean
16 2. Copy the .pot file from the <build dir> mentioned in the output to your
17 original source:
18 $ cp <build dir>/shorts/po/*.pot shorts/po/
19 3. Commit the generated .pot file:
20 $ bzr commit -m"Updated translation template"
21 4. Push the branch and send a merge proposal as usual
22
23And that's it, once the branch lands Launchpad should take care of all the rest!
24
25Behind the scenes
26=================
27
28Behind the scenes, whenever the shorts/po/*.pot file (also known as translations template)
29is committed to trunk Launchpad reads it and updates the translatable strings
30exposed in the web UI. This will enable translators to work on the new strings.
31The translations template contains all translatable strings that have been
32extracted from the source code files.
33
34Launchpad will then store translations in its database and will commit them daily
35in the form of textual shorts/po/*.po files to trunk. The PO files are also usually
36referred to as the translations files. You'll find a translation file for each
37language the app has got at least a translated message available for.
38
39Translations for core apps follow the standard [gettext format].
40
41 [Launchpad Translations](https://translations.launchpad.net/ubuntu-rssreader-app)
42 [gettext format](https://www.gnu.org/software/gettext/)
043
=== added file 'README.md'
--- README.md 1970-01-01 00:00:00 +0000
+++ README.md 2015-12-23 16:58:29 +0000
@@ -0,0 +1,17 @@
1ReadMe - Ubuntu Shorts App
2=========================
3
4Ubuntu Shorts App is the official rss reader app for Ubuntu Touch. We follow an open
5source model where the code is available to anyone to branch and hack on. The
6ubuntu shorts app follows a test driven development (TDD) where tests are
7written in parallel to feature implementation to help spot regressions easier.
8
9Useful Links
10============
11
12Here are some useful links with regards to the Clock App development.
13
14* [Home Page](https://developer.ubuntu.com/en/community/core-apps/shorts/)
15* [Project page](https://launchpad.net/ubuntu-rssreader-app)
16
17
018
=== removed file 'README.txt'
--- README.txt 2015-07-04 08:38:18 +0000
+++ README.txt 1970-01-01 00:00:00 +0000
@@ -1,14 +0,0 @@
1 **** README for Joey ****
2
3Now project has following structure:
4
5|---shorts-app
6 |---shorts
7 | |---- * sources *
8 |--- * some configuration files * (Let me call it "qmake configuration files, qcf")
9
10We decided to keep both CMake and qmake working in parallel, so here is my plan - you should put your CMake configuration files (ccf) inside "shorts" folder (near to sources), and do not touch qcf at root folder. In such case they can work together - qmake for develiping, CMake for autotests and so on.
11
12
13
14Next idea - we should use name "shorts" whenever it possible. In trunk of "ubuntu-rssreader-app" already a lot of things called "shorts" (for example main qml file or *.apparmor file). But we must use "ubuntu-rssreader-app" as name of our project in launchpad. In all other places I prefer "shorts".

Subscribers

People subscribed via source and target branches