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
1=== added file 'README-Autopilot.md'
2--- README-Autopilot.md 1970-01-01 00:00:00 +0000
3+++ README-Autopilot.md 2015-12-23 16:58:29 +0000
4@@ -0,0 +1,52 @@
5+Running Autopilot tests
6+=======================
7+
8+Ubuntu Shorts App follows a test driven development where autopilot tests are
9+run before every merge into trunk. If you are submitting your bugfix/patch to
10+the shorts app, please follow the following steps below to ensure that all tests
11+pass before proposing a merge request.
12+
13+If you are looking for more info about Autopilot or writing AP tests for the
14+shorts app, here are some useful links to help you:
15+
16+* [Ubuntu - Quality](http://developer.ubuntu.com/start/quality)
17+* [Ubuntu - Autopilot](https://developer.ubuntu.com/api/autopilot/python/1.5.0/)
18+
19+For help and options on running tests, see:
20+
21+* [Autopilot Tests](https://developer.ubuntu.com/en/start/platform/guides/running-autopilot-tests/)
22+
23+Prerequisites
24+=============
25+
26+Install the following autopilot packages required to run the tests,
27+ $ sudo apt-get install python3-autopilot libautopilot-qt ubuntu-ui-toolkit-autopilot python3-autopilot-vis
28+
29+Running tests on the desktop
30+============================
31+
32+Using terminal:
33+
34+* Branch the shorts app code,
35+ $ bzr branch lp:ubuntu-rssreader-app
36+
37+* Build the shorts app,
38+ $ mkdir builddir && cd builddir
39+ $ cmake .. && cmake --build . -- -j 3
40+ $ cd ..
41+
42+* Navigate to the tests/autopilot directory.
43+ $ cd shorts/tests/autopilot
44+
45+* run all tests.
46+ $ autopilot3 run -vv shorts_app
47+
48+ to list all tests:
49+ $ autopilot3 list shorts_app
50+
51+ To run only one test (for instance: test_add_single_type_alarm_must_add_to_alarm_list in TestAlarm.py):
52+ $ autopilot3 run -vv ubuntu_shorts_app.tests.test_alarm.TestMainWindow.test_add_feed_to_new_topic
53+
54+ Debugging tests using autopilot vis
55+ $ autopilot3 launch -i Qt qmlscene shorts/qml/shorts-app.qml -I shorts
56+ $ autopilot3 vis
57
58=== added file 'README-Developers.md'
59--- README-Developers.md 1970-01-01 00:00:00 +0000
60+++ README-Developers.md 2015-12-23 16:58:29 +0000
61@@ -0,0 +1,78 @@
62+Building and running on Desktop
63+=============================================
64+
65+Building and running the Ubuntu Shorts App is quite simple. You will require
66+Ubuntu 15.04 and higher to run on the desktop.
67+
68+ $ bzr branch lp:ubuntu-rssreader-app branch-name
69+ $ cd branch-name
70+ $ mkdir builddir && cd builddir
71+ $ cmake .. && cmake --build . -- -j 3
72+ $ qmlscene ../shorts/qml/shorts-app.qml -I ../shorts/
73+
74+Submitting a patch upstream
75+===========================
76+
77+If you want to submit a bug fix you can do so by branching the code as shown
78+above, implementing the fixes and running to see if it fixed the issue. We also
79+request that you run the Autopilot and Unit tests to check if anything
80+regressed due to the bug fix.
81+
82+If the tests fail, you will have to fix them before your bug fix can be
83+approved and merged into trunk. If the tests pass then commit and push your
84+code by,
85+
86+ $ bzr commit -m "Implemented bug fix" --fixes lp:bug-number
87+ $ bzr push lp:~launchpadid/ubuntu-rssreader-app/branch-name
88+
89+Running Tests
90+=============
91+
92+Please check README.autopilot and README.unittest on how to run the tests.
93+They are quite explanatory and will help you get started.
94+
95+Code Style
96+==========
97+
98+We are trying to use a common code style throughout the code base to maintain
99+uniformity and improve code clarity. Listed below are the code styles guides
100+that will be followed based on the language used.
101+
102+* [QML](http://qt-project.org/doc/qt-5/qml-codingconventions.html)
103+* [JS, C++](https://google-styleguide.googlecode.com/svn/trunk/cppguide.xml)
104+* Python - Code should follow PEP8 and Flake regulations
105+
106+Note: In the QML code convention, ignore the Javascript code section guidelines.
107+So the sections that should be taken into account in the QML conventions are QML
108+Object Declarations, Grouped Properties and Lists.
109+
110+Debugging
111+=========
112+
113+GDB allows one to see what is going on `inside' another program while it executes,
114+or what another program was doing at the moment it crashed. It is a pretty niffty tool which allows you
115+to get the crash log that can help a developer pin point the cause of the crash.
116+Before reproducing crash it is good to create symbols table for gdb, by using command:
117+
118+ $ cd branch-name
119+ $ mkdir builddir && cd builddir
120+ $ cmake -DCMAKE_BUILD_TYPE=Debug .. && cmake --build . -- -j 3
121+
122+To run GDB:
123+
124+ $ gdb qmlscene
125+
126+At this point, you are inside the gdb prompt. Run your application as you normally would.
127+
128+ run ../shorts/qml/shorts-app.qml -I ../shorts
129+
130+Your app is now running and monitored by GDB. Reproduce the steps in your app to make it crash. Once it does crash,
131+
132+ bt
133+
134+That's about it. To quit GDB, type quit to return back to the normal terminal console.
135+
136+ quit
137+
138+
139+
140
141=== added file 'README-MergeProposal.md'
142--- README-MergeProposal.md 1970-01-01 00:00:00 +0000
143+++ README-MergeProposal.md 2015-12-23 16:58:29 +0000
144@@ -0,0 +1,33 @@
145+Prerequisites to approving a Merge Proposal (MP)
146+================================================
147+
148+Over time, it has been found that insufficient testing by reviewers sometimes
149+leads to shorts app trunk not buildable in Qtcreator due to manifest errors, or
150+translation pot file not updated. As such, please follow the checklist below
151+before top-approving a MP.
152+
153+Checklist
154+=========
155+
156+* Does the MP add/remove user visible strings? If Yes, has the pot file been
157+ updated?
158+
159+* Does the MP change the UI? If Yes, has it been approved by design?
160+
161+* Did you perform an exploratory manual test run of your code change and any
162+ related functionality?
163+
164+* If the MP fixes a bug or implements a feature, are there accompanying unit
165+ and autopilot tests?
166+
167+* Is the shorts app trunk buildable and runnable using Qtcreator?
168+
169+* Was the debian changelog updated?
170+
171+* Was the copyright years updated if necessary?
172+
173+The above checklist is more of a guideline to help shorts app trunk stay buildable,
174+stable and up to date.
175+
176+Note: As of vivid 15.04, Autopilot are broken in trunk. As such autopilot failures
177+can be excused until they are fixed in trunk.
178
179=== added file 'README-UnitTest.md'
180--- README-UnitTest.md 1970-01-01 00:00:00 +0000
181+++ README-UnitTest.md 2015-12-23 16:58:29 +0000
182@@ -0,0 +1,41 @@
183+Running QML Unit Tests
184+======================
185+
186+QML Unit Tests help with testing the internal working of components while
187+autopilot tests help with testing the UI workflow as experience by the user.
188+Running QML tests is quite simple and very fast.
189+
190+If you are submitting your bugfix/patch to the clock app, please follow the
191+following steps below to check whether that all tests pass before proposing a
192+merge request.
193+
194+* Branch the clock app code,
195+ $ bzr branch lp:ubuntu-rssreader-app
196+
197+* Build the clock app,
198+ $ mkdir builddir && cd builddir
199+ $ cmake .. && cmake --build . -- -j 3
200+
201+Running all unit test at once
202+=============================
203+
204+If you want to run all tests, then run the following command from the builddir,
205+
206+ $ ctest --output-on-failure
207+
208+If you want more verbose output, then run,
209+
210+ $ ctest -VV
211+
212+Running individual test cases,
213+==============================
214+
215+If you want to run testcases individually, you can do so by navigating to the
216+unit tests folder by,
217+
218+* Navigate to the tests/unit directory
219+ $ cd shorts/tests/unit
220+
221+* Run the test by providing their filenames
222+ $ qmltestrunner -input tst_feedLabel.qml
223+ $ qmltestrunner -input tst_alarm.qml -import ../../shorts
224
225=== added file 'README-translations.md'
226--- README-translations.md 1970-01-01 00:00:00 +0000
227+++ README-translations.md 2015-12-23 16:58:29 +0000
228@@ -0,0 +1,42 @@
229+Updating translations
230+=====================
231+
232+Translations for the Shorts app happen in [Launchpad Translations] and
233+are automatically committed daily on the trunk branch in the shorts/po/ folder.
234+
235+They are then built and installed as part of the package build, so that
236+developers don't really need to worry about them.
237+
238+However, there is one task that needs to be taken care of: exposing new
239+translatable messages to translators. So whenever you add new translatable
240+messages in the code, make sure to follow these steps:
241+
242+ 1. Run click-buddy retaining the build directory:
243+ $ click-buddy --dir . --no-clean
244+ 2. Copy the .pot file from the <build dir> mentioned in the output to your
245+ original source:
246+ $ cp <build dir>/shorts/po/*.pot shorts/po/
247+ 3. Commit the generated .pot file:
248+ $ bzr commit -m"Updated translation template"
249+ 4. Push the branch and send a merge proposal as usual
250+
251+And that's it, once the branch lands Launchpad should take care of all the rest!
252+
253+Behind the scenes
254+=================
255+
256+Behind the scenes, whenever the shorts/po/*.pot file (also known as translations template)
257+is committed to trunk Launchpad reads it and updates the translatable strings
258+exposed in the web UI. This will enable translators to work on the new strings.
259+The translations template contains all translatable strings that have been
260+extracted from the source code files.
261+
262+Launchpad will then store translations in its database and will commit them daily
263+in the form of textual shorts/po/*.po files to trunk. The PO files are also usually
264+referred to as the translations files. You'll find a translation file for each
265+language the app has got at least a translated message available for.
266+
267+Translations for core apps follow the standard [gettext format].
268+
269+ [Launchpad Translations](https://translations.launchpad.net/ubuntu-rssreader-app)
270+ [gettext format](https://www.gnu.org/software/gettext/)
271
272=== added file 'README.md'
273--- README.md 1970-01-01 00:00:00 +0000
274+++ README.md 2015-12-23 16:58:29 +0000
275@@ -0,0 +1,17 @@
276+ReadMe - Ubuntu Shorts App
277+=========================
278+
279+Ubuntu Shorts App is the official rss reader app for Ubuntu Touch. We follow an open
280+source model where the code is available to anyone to branch and hack on. The
281+ubuntu shorts app follows a test driven development (TDD) where tests are
282+written in parallel to feature implementation to help spot regressions easier.
283+
284+Useful Links
285+============
286+
287+Here are some useful links with regards to the Clock App development.
288+
289+* [Home Page](https://developer.ubuntu.com/en/community/core-apps/shorts/)
290+* [Project page](https://launchpad.net/ubuntu-rssreader-app)
291+
292+
293
294=== removed file 'README.txt'
295--- README.txt 2015-07-04 08:38:18 +0000
296+++ README.txt 1970-01-01 00:00:00 +0000
297@@ -1,14 +0,0 @@
298- **** README for Joey ****
299-
300-Now project has following structure:
301-
302-|---shorts-app
303- |---shorts
304- | |---- * sources *
305- |--- * some configuration files * (Let me call it "qmake configuration files, qcf")
306-
307-We 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.
308-
309-
310-
311-Next 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