Merge lp:~unity-team/unity8/manual-qmltypes into lp:unity8
- manual-qmltypes
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | Michael Zanetti |
Approved revision: | 994 |
Merged at revision: | 1048 |
Proposed branch: | lp:~unity-team/unity8/manual-qmltypes |
Merge into: | lp:unity8 |
Prerequisite: | lp:~nick-dedekind/unity8/move-indicator-qml |
Diff against target: |
183 lines (+70/-30) 5 files modified
plugins/Lights/Lights.qmltypes (+45/-0) plugins/Powerd/Powerd.qmltypes (+7/-14) plugins/Ubuntu/Gestures/Gestures.qmltypes (+1/-0) tests/mocks/Powerd/Powerd.qmltypes (+7/-14) tests/mocks/Unity/Unity.qmltypes (+10/-2) |
To merge this branch: | bzr merge lp:~unity-team/unity8/manual-qmltypes |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Michael Zanetti (community) | Approve | ||
PS Jenkins bot (community) | continuous-integration | Needs Fixing | |
Michał Sawicz | Pending | ||
Review via email: mp+224578@code.launchpad.net |
This proposal supersedes a proposal from 2014-06-26.
Commit message
Only generate .qmltypes files manually, no need to do it build-time.
It didn't work when cross-compiling either, and required builders to have otherwise unnecessary environment.
Description of the change
* Are there any related MPs required for this MP to build/function as expected? Please list.
Prerequisite lp:~nick-dedekind/unity8/move-indicator-qml
* Did you perform an exploratory manual test run of your code change and any related functionality?
Yes.
* Did you make sure that your branch does not contain spurious tags?
Yes.
* If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
N/A
* If you changed the UI, has there been a design review?
N/A
Michał Sawicz (saviq) wrote : Posted in a previous version of this proposal | # |
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:985
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
dobey (dobey) wrote : Posted in a previous version of this proposal | # |
On Wed, 2014-06-25 at 22:22 +0000, Michał Sawicz wrote:
> Review: Needs Fixing
>
> We'll need to check those .qmltypes files into bzr, and copy/install them along with qmldir, so there's a bit more work involved here.
>
> They should be generated into the source dirs, not binary.
>
> I'll take this over tomorrow morning if you have no objections :).
Done. :)
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:986
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:987
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:987
http://
Executed test runs:
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:989
http://
Executed test runs:
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Michael Zanetti (mzanetti) wrote : | # |
Looks good.
Any idea how to prevent people from changing the code and forgetting to update the qmltypes file? Could we think of a simple and fast test that verifies if they're up to date?
Michał Sawicz (saviq) wrote : | # |
On 27.06.2014 11:07, Michael Zanetti wrote:
> Any idea how to prevent people from changing the code and forgetting to update the qmltypes file? Could we think of a simple and fast test that verifies if they're up to date?
This would probably be a pre-commit hook where we'd need to generate
them and compare to what's checked in. We should probably do a bit more
- make test, check whitespace, copyright...
dobey (dobey) wrote : | # |
> Looks good.
>
> Any idea how to prevent people from changing the code and forgetting to update
> the qmltypes file? Could we think of a simple and fast test that verifies if
> they're up to date?
You'd need to be able to check that the API provided by the plug-in actually changed, outside of building the qmltypes file.
Maybe just add something to the review checklist and rely on that?
- 990. By Michał Sawicz
-
Merge trunk.
- 991. By Michał Sawicz
-
Merge trunk.
- 992. By Michał Sawicz
-
Update qmltypes.
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:992
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Michał Sawicz (saviq) wrote : | # |
Oups, this got merged with lp:~unity-team/unity8/payments-button :|
But not the whole of it, so this still needs a review.
- 993. By Michał Sawicz
-
Merge trunk
- 994. By Michał Sawicz
-
Update qmltypes.
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:994
http://
Executed test runs:
FAILURE: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Michael Zanetti (mzanetti) wrote : | # |
Isn't there any ways can automate this? Doesn't need to be at build time... But reviewing such branches feels just wrong. There's no way we could possibly keep things up to date.
And no, putting it into the checklist doesn't work IMO.
Michael Zanetti (mzanetti) wrote : | # |
approving as we need this in any case...
Preview Diff
1 | === added file 'plugins/Lights/Lights.qmltypes' | |||
2 | --- plugins/Lights/Lights.qmltypes 1970-01-01 00:00:00 +0000 | |||
3 | +++ plugins/Lights/Lights.qmltypes 2014-07-10 10:59:23 +0000 | |||
4 | @@ -0,0 +1,45 @@ | |||
5 | 1 | import QtQuick.tooling 1.1 | ||
6 | 2 | |||
7 | 3 | // This file describes the plugin-supplied types contained in the library. | ||
8 | 4 | // It is used for QML tooling purposes only. | ||
9 | 5 | // | ||
10 | 6 | // This file was auto-generated by: | ||
11 | 7 | // 'qmlplugindump -notrelocatable Lights 0.1 plugins' | ||
12 | 8 | |||
13 | 9 | Module { | ||
14 | 10 | Component { | ||
15 | 11 | name: "Lights" | ||
16 | 12 | prototype: "QObject" | ||
17 | 13 | exports: ["Lights/Lights 0.1"] | ||
18 | 14 | isCreatable: false | ||
19 | 15 | isSingleton: true | ||
20 | 16 | exportMetaObjectRevisions: [0] | ||
21 | 17 | Enum { | ||
22 | 18 | name: "State" | ||
23 | 19 | values: { | ||
24 | 20 | "Off": 0, | ||
25 | 21 | "On": 1 | ||
26 | 22 | } | ||
27 | 23 | } | ||
28 | 24 | Property { name: "state"; type: "State" } | ||
29 | 25 | Property { name: "color"; type: "QColor" } | ||
30 | 26 | Property { name: "onMillisec"; type: "int" } | ||
31 | 27 | Property { name: "offMillisec"; type: "int" } | ||
32 | 28 | Signal { | ||
33 | 29 | name: "stateChanged" | ||
34 | 30 | Parameter { name: "newState"; type: "State" } | ||
35 | 31 | } | ||
36 | 32 | Signal { | ||
37 | 33 | name: "colorChanged" | ||
38 | 34 | Parameter { name: "color"; type: "QColor" } | ||
39 | 35 | } | ||
40 | 36 | Signal { | ||
41 | 37 | name: "onMillisecChanged" | ||
42 | 38 | Parameter { name: "onMs"; type: "int" } | ||
43 | 39 | } | ||
44 | 40 | Signal { | ||
45 | 41 | name: "offMillisecChanged" | ||
46 | 42 | Parameter { name: "offMs"; type: "int" } | ||
47 | 43 | } | ||
48 | 44 | } | ||
49 | 45 | } | ||
50 | 0 | 46 | ||
51 | === modified file 'plugins/Powerd/Powerd.qmltypes' | |||
52 | --- plugins/Powerd/Powerd.qmltypes 2014-06-26 07:47:57 +0000 | |||
53 | +++ plugins/Powerd/Powerd.qmltypes 2014-07-10 10:59:23 +0000 | |||
54 | @@ -15,19 +15,12 @@ | |||
55 | 15 | isSingleton: true | 15 | isSingleton: true |
56 | 16 | exportMetaObjectRevisions: [0] | 16 | exportMetaObjectRevisions: [0] |
57 | 17 | Enum { | 17 | Enum { |
71 | 18 | name: "DisplayFlag" | 18 | name: "DisplayStateChangeReason" |
72 | 19 | values: { | 19 | values: { |
73 | 20 | "UseProximity": 1, | 20 | "Unknown": 0, |
74 | 21 | "DisableAutoBrightness": 2, | 21 | "Inactivity": 1, |
75 | 22 | "Bright": 4 | 22 | "PowerKey": 2, |
76 | 23 | } | 23 | "Proximity": 3 |
64 | 24 | } | ||
65 | 25 | Enum { | ||
66 | 26 | name: "DisplayFlags" | ||
67 | 27 | values: { | ||
68 | 28 | "UseProximity": 1, | ||
69 | 29 | "DisableAutoBrightness": 2, | ||
70 | 30 | "Bright": 4 | ||
77 | 31 | } | 24 | } |
78 | 32 | } | 25 | } |
79 | 33 | Enum { | 26 | Enum { |
80 | @@ -40,7 +33,7 @@ | |||
81 | 40 | Signal { | 33 | Signal { |
82 | 41 | name: "displayPowerStateChange" | 34 | name: "displayPowerStateChange" |
83 | 42 | Parameter { name: "status"; type: "int" } | 35 | Parameter { name: "status"; type: "int" } |
85 | 43 | Parameter { name: "flags"; type: "uint" } | 36 | Parameter { name: "reason"; type: "int" } |
86 | 44 | } | 37 | } |
87 | 45 | } | 38 | } |
88 | 46 | } | 39 | } |
89 | 47 | 40 | ||
90 | === modified file 'plugins/Ubuntu/Gestures/Gestures.qmltypes' | |||
91 | --- plugins/Ubuntu/Gestures/Gestures.qmltypes 2014-06-26 07:47:57 +0000 | |||
92 | +++ plugins/Ubuntu/Gestures/Gestures.qmltypes 2014-07-10 10:59:23 +0000 | |||
93 | @@ -141,6 +141,7 @@ | |||
94 | 141 | name: "touchSceneYChanged" | 141 | name: "touchSceneYChanged" |
95 | 142 | Parameter { name: "value"; type: "double" } | 142 | Parameter { name: "value"; type: "double" } |
96 | 143 | } | 143 | } |
97 | 144 | Signal { name: "tapped" } | ||
98 | 144 | } | 145 | } |
99 | 145 | Component { | 146 | Component { |
100 | 146 | name: "PressedOutsideNotifier" | 147 | name: "PressedOutsideNotifier" |
101 | 147 | 148 | ||
102 | === modified file 'tests/mocks/Powerd/Powerd.qmltypes' | |||
103 | --- tests/mocks/Powerd/Powerd.qmltypes 2014-06-26 07:47:57 +0000 | |||
104 | +++ tests/mocks/Powerd/Powerd.qmltypes 2014-07-10 10:59:23 +0000 | |||
105 | @@ -15,19 +15,12 @@ | |||
106 | 15 | isSingleton: true | 15 | isSingleton: true |
107 | 16 | exportMetaObjectRevisions: [0] | 16 | exportMetaObjectRevisions: [0] |
108 | 17 | Enum { | 17 | Enum { |
122 | 18 | name: "DisplayFlag" | 18 | name: "DisplayStateChangeReason" |
123 | 19 | values: { | 19 | values: { |
124 | 20 | "UseProximity": 1, | 20 | "Unknown": 0, |
125 | 21 | "DisableAutoBrightness": 2, | 21 | "Inactivity": 1, |
126 | 22 | "Bright": 4 | 22 | "PowerKey": 2, |
127 | 23 | } | 23 | "Proximity": 3 |
115 | 24 | } | ||
116 | 25 | Enum { | ||
117 | 26 | name: "DisplayFlags" | ||
118 | 27 | values: { | ||
119 | 28 | "UseProximity": 1, | ||
120 | 29 | "DisableAutoBrightness": 2, | ||
121 | 30 | "Bright": 4 | ||
128 | 31 | } | 24 | } |
129 | 32 | } | 25 | } |
130 | 33 | Enum { | 26 | Enum { |
131 | @@ -40,7 +33,7 @@ | |||
132 | 40 | Signal { | 33 | Signal { |
133 | 41 | name: "displayPowerStateChange" | 34 | name: "displayPowerStateChange" |
134 | 42 | Parameter { name: "status"; type: "int" } | 35 | Parameter { name: "status"; type: "int" } |
136 | 43 | Parameter { name: "flags"; type: "uint" } | 36 | Parameter { name: "reason"; type: "int" } |
137 | 44 | } | 37 | } |
138 | 45 | } | 38 | } |
139 | 46 | } | 39 | } |
140 | 47 | 40 | ||
141 | === modified file 'tests/mocks/Unity/Unity.qmltypes' | |||
142 | --- tests/mocks/Unity/Unity.qmltypes 2014-06-26 07:47:57 +0000 | |||
143 | +++ tests/mocks/Unity/Unity.qmltypes 2014-07-10 10:59:23 +0000 | |||
144 | @@ -89,6 +89,10 @@ | |||
145 | 89 | name: "loadDepartment" | 89 | name: "loadDepartment" |
146 | 90 | Parameter { name: "id"; type: "string" } | 90 | Parameter { name: "id"; type: "string" } |
147 | 91 | } | 91 | } |
148 | 92 | Method { | ||
149 | 93 | name: "performQuery" | ||
150 | 94 | Parameter { name: "query"; type: "string" } | ||
151 | 95 | } | ||
152 | 92 | } | 96 | } |
153 | 93 | Component { | 97 | Component { |
154 | 94 | name: "Scopes" | 98 | name: "Scopes" |
155 | @@ -133,8 +137,8 @@ | |||
156 | 133 | "RoleRawRendererTemplate": 3, | 137 | "RoleRawRendererTemplate": 3, |
157 | 134 | "RoleRenderer": 4, | 138 | "RoleRenderer": 4, |
158 | 135 | "RoleComponents": 5, | 139 | "RoleComponents": 5, |
161 | 136 | "RoleResults": 6, | 140 | "RoleResults": 7, |
162 | 137 | "RoleCount": 7 | 141 | "RoleCount": 8 |
163 | 138 | } | 142 | } |
164 | 139 | } | 143 | } |
165 | 140 | Method { | 144 | Method { |
166 | @@ -179,6 +183,9 @@ | |||
167 | 179 | Component { | 183 | Component { |
168 | 180 | name: "unity::shell::scopes::PreviewModelInterface" | 184 | name: "unity::shell::scopes::PreviewModelInterface" |
169 | 181 | prototype: "QAbstractListModel" | 185 | prototype: "QAbstractListModel" |
170 | 186 | exports: ["Unity/PreviewModel 0.2"] | ||
171 | 187 | isCreatable: false | ||
172 | 188 | exportMetaObjectRevisions: [0] | ||
173 | 182 | Enum { | 189 | Enum { |
174 | 183 | name: "Roles" | 190 | name: "Roles" |
175 | 184 | values: { | 191 | values: { |
176 | @@ -272,6 +279,7 @@ | |||
177 | 272 | Property { name: "isActive"; type: "bool" } | 279 | Property { name: "isActive"; type: "bool" } |
178 | 273 | Property { name: "currentDepartmentId"; type: "string"; isReadonly: true } | 280 | Property { name: "currentDepartmentId"; type: "string"; isReadonly: true } |
179 | 274 | Property { name: "hasDepartments"; type: "bool"; isReadonly: true } | 281 | Property { name: "hasDepartments"; type: "bool"; isReadonly: true } |
180 | 282 | Property { name: "customizations"; type: "QVariantMap"; isReadonly: true } | ||
181 | 275 | Signal { name: "showDash" } | 283 | Signal { name: "showDash" } |
182 | 276 | Signal { name: "hideDash" } | 284 | Signal { name: "hideDash" } |
183 | 277 | Signal { | 285 | Signal { |
We'll need to check those .qmltypes files into bzr, and copy/install them along with qmldir, so there's a bit more work involved here.
They should be generated into the source dirs, not binary.
I'll take this over tomorrow morning if you have no objections :).