Merge lp:~marcoceppi/charm-tools/icon-template into lp:~charmers/charm-tools/trunk
- icon-template
- Merge into trunk
Proposed by
Marco Ceppi
Status: | Merged |
---|---|
Merged at revision: | 177 |
Proposed branch: | lp:~marcoceppi/charm-tools/icon-template |
Merge into: | lp:~charmers/charm-tools/trunk |
Diff against target: |
1313 lines (+1212/-0) 16 files modified
scripts/lib/proof.py (+19/-0) templates/charm/icon.svg (+279/-0) tests/charms/icon-template/README.ex (+5/-0) tests/charms/icon-template/hooks/install (+5/-0) tests/charms/icon-template/hooks/relation-name-relation-broken (+2/-0) tests/charms/icon-template/hooks/relation-name-relation-changed (+9/-0) tests/charms/icon-template/hooks/relation-name-relation-departed (+5/-0) tests/charms/icon-template/hooks/relation-name-relation-joined (+5/-0) tests/charms/icon-template/hooks/start (+4/-0) tests/charms/icon-template/hooks/stop (+7/-0) tests/charms/icon-template/icon.svg (+279/-0) tests/charms/icon-template/metadata.yaml (+19/-0) tests/charms/icon-template/revision (+1/-0) tests/create/no-package-exists/icon.svg (+279/-0) tests/create/python-apt/icon.svg (+279/-0) tests/proof/expected/icon-template (+15/-0) |
To merge this branch: | bzr merge lp:~marcoceppi/charm-tools/icon-template |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Juan L. Negron (community) | Approve | ||
Review via email: mp+161020@code.launchpad.net |
Commit message
Description of the change
Added default icon to charm template
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'scripts/lib/proof.py' |
2 | --- scripts/lib/proof.py 2013-04-18 22:19:06 +0000 |
3 | +++ scripts/lib/proof.py 2013-04-25 21:00:33 +0000 |
4 | @@ -21,6 +21,7 @@ |
5 | from stat import S_IXUSR |
6 | import sys |
7 | import yaml |
8 | +import hashlib |
9 | |
10 | KNOWN_METADATA_KEYS = ['name', |
11 | 'summary', |
12 | @@ -41,6 +42,10 @@ |
13 | os.path.join( |
14 | __file__, '..', '..', '..', 'templates', 'charm', 'README.ex')) |
15 | |
16 | +TEMPLATE_ICON = os.path.abspath( |
17 | + os.path.join( |
18 | + __file__, '..', '..', '..', 'templates', 'charm', 'icon.svg')) |
19 | + |
20 | |
21 | class RelationError(Exception): |
22 | pass |
23 | @@ -230,6 +235,20 @@ |
24 | |
25 | if not os.path.exists(os.path.join(charm_path, 'icon.svg')): |
26 | lint.warn("No icon.svg file.") |
27 | + else: |
28 | + # should have an icon.svg |
29 | + template_sha1 = hashlib.sha1() |
30 | + icon_sha1 = hashlib.sha1() |
31 | + try: |
32 | + with open(TEMPLATE_ICON) as ti: |
33 | + template_sha1.update(ti.read()) |
34 | + with open(os.path.join(charm_path, 'icon.svg')) as ci: |
35 | + icon_sha1.update(ci.read()) |
36 | + if template_sha1.hexdigest() == icon_sha1.hexdigest(): |
37 | + lint.err("Includes template icon.svg file.") |
38 | + except IOError as e: |
39 | + lint.err( |
40 | + "Error while opening %s (%s)" % (e.filename, e.strerror)) |
41 | |
42 | # Must have a hooks dir |
43 | if not os.path.exists(hooks_path): |
44 | |
45 | === added file 'templates/charm/icon.svg' |
46 | --- templates/charm/icon.svg 1970-01-01 00:00:00 +0000 |
47 | +++ templates/charm/icon.svg 2013-04-25 21:00:33 +0000 |
48 | @@ -0,0 +1,279 @@ |
49 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
50 | +<!-- Created with Inkscape (http://www.inkscape.org/) --> |
51 | + |
52 | +<svg |
53 | + xmlns:dc="http://purl.org/dc/elements/1.1/" |
54 | + xmlns:cc="http://creativecommons.org/ns#" |
55 | + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
56 | + xmlns:svg="http://www.w3.org/2000/svg" |
57 | + xmlns="http://www.w3.org/2000/svg" |
58 | + xmlns:xlink="http://www.w3.org/1999/xlink" |
59 | + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
60 | + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
61 | + width="96" |
62 | + height="96" |
63 | + id="svg6517" |
64 | + version="1.1" |
65 | + inkscape:version="0.48+devel r12274" |
66 | + sodipodi:docname="Juju_charm_icon_template.svg"> |
67 | + <defs |
68 | + id="defs6519"> |
69 | + <linearGradient |
70 | + inkscape:collect="always" |
71 | + xlink:href="#Background" |
72 | + id="linearGradient6461" |
73 | + gradientUnits="userSpaceOnUse" |
74 | + x1="0" |
75 | + y1="970.29498" |
76 | + x2="144" |
77 | + y2="970.29498" |
78 | + gradientTransform="matrix(0,-0.66666669,0.6660448,0,-866.25992,731.29077)" /> |
79 | + <linearGradient |
80 | + id="Background"> |
81 | + <stop |
82 | + id="stop4178" |
83 | + offset="0" |
84 | + style="stop-color:#b8b8b8;stop-opacity:1" /> |
85 | + <stop |
86 | + id="stop4180" |
87 | + offset="1" |
88 | + style="stop-color:#c9c9c9;stop-opacity:1" /> |
89 | + </linearGradient> |
90 | + <filter |
91 | + style="color-interpolation-filters:sRGB;" |
92 | + inkscape:label="Inner Shadow" |
93 | + id="filter1121"> |
94 | + <feFlood |
95 | + flood-opacity="0.59999999999999998" |
96 | + flood-color="rgb(0,0,0)" |
97 | + result="flood" |
98 | + id="feFlood1123" /> |
99 | + <feComposite |
100 | + in="flood" |
101 | + in2="SourceGraphic" |
102 | + operator="out" |
103 | + result="composite1" |
104 | + id="feComposite1125" /> |
105 | + <feGaussianBlur |
106 | + in="composite1" |
107 | + stdDeviation="1" |
108 | + result="blur" |
109 | + id="feGaussianBlur1127" /> |
110 | + <feOffset |
111 | + dx="0" |
112 | + dy="2" |
113 | + result="offset" |
114 | + id="feOffset1129" /> |
115 | + <feComposite |
116 | + in="offset" |
117 | + in2="SourceGraphic" |
118 | + operator="atop" |
119 | + result="composite2" |
120 | + id="feComposite1131" /> |
121 | + </filter> |
122 | + <filter |
123 | + style="color-interpolation-filters:sRGB;" |
124 | + inkscape:label="Drop Shadow" |
125 | + id="filter950"> |
126 | + <feFlood |
127 | + flood-opacity="0.25" |
128 | + flood-color="rgb(0,0,0)" |
129 | + result="flood" |
130 | + id="feFlood952" /> |
131 | + <feComposite |
132 | + in="flood" |
133 | + in2="SourceGraphic" |
134 | + operator="in" |
135 | + result="composite1" |
136 | + id="feComposite954" /> |
137 | + <feGaussianBlur |
138 | + in="composite1" |
139 | + stdDeviation="1" |
140 | + result="blur" |
141 | + id="feGaussianBlur956" /> |
142 | + <feOffset |
143 | + dx="0" |
144 | + dy="1" |
145 | + result="offset" |
146 | + id="feOffset958" /> |
147 | + <feComposite |
148 | + in="SourceGraphic" |
149 | + in2="offset" |
150 | + operator="over" |
151 | + result="composite2" |
152 | + id="feComposite960" /> |
153 | + </filter> |
154 | + <clipPath |
155 | + clipPathUnits="userSpaceOnUse" |
156 | + id="clipPath873"> |
157 | + <g |
158 | + transform="matrix(0,-0.66666667,0.66604479,0,-258.25992,677.00001)" |
159 | + id="g875" |
160 | + inkscape:label="Layer 1" |
161 | + style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline"> |
162 | + <path |
163 | + style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline" |
164 | + d="m 46.702703,898.22775 50.594594,0 C 138.16216,898.22775 144,904.06497 144,944.92583 l 0,50.73846 c 0,40.86071 -5.83784,46.69791 -46.702703,46.69791 l -50.594594,0 C 5.8378378,1042.3622 0,1036.525 0,995.66429 L 0,944.92583 C 0,904.06497 5.8378378,898.22775 46.702703,898.22775 Z" |
165 | + id="path877" |
166 | + inkscape:connector-curvature="0" |
167 | + sodipodi:nodetypes="sssssssss" /> |
168 | + </g> |
169 | + </clipPath> |
170 | + <filter |
171 | + inkscape:collect="always" |
172 | + id="filter891" |
173 | + inkscape:label="Badge Shadow"> |
174 | + <feGaussianBlur |
175 | + inkscape:collect="always" |
176 | + stdDeviation="0.71999962" |
177 | + id="feGaussianBlur893" /> |
178 | + </filter> |
179 | + </defs> |
180 | + <sodipodi:namedview |
181 | + id="base" |
182 | + pagecolor="#ffffff" |
183 | + bordercolor="#666666" |
184 | + borderopacity="1.0" |
185 | + inkscape:pageopacity="0.0" |
186 | + inkscape:pageshadow="2" |
187 | + inkscape:zoom="4.0745362" |
188 | + inkscape:cx="18.514671" |
189 | + inkscape:cy="49.018169" |
190 | + inkscape:document-units="px" |
191 | + inkscape:current-layer="layer1" |
192 | + showgrid="true" |
193 | + fit-margin-top="0" |
194 | + fit-margin-left="0" |
195 | + fit-margin-right="0" |
196 | + fit-margin-bottom="0" |
197 | + inkscape:window-width="1920" |
198 | + inkscape:window-height="1029" |
199 | + inkscape:window-x="0" |
200 | + inkscape:window-y="24" |
201 | + inkscape:window-maximized="1" |
202 | + showborder="true" |
203 | + showguides="true" |
204 | + inkscape:guide-bbox="true" |
205 | + inkscape:showpageshadow="false"> |
206 | + <inkscape:grid |
207 | + type="xygrid" |
208 | + id="grid821" /> |
209 | + <sodipodi:guide |
210 | + orientation="1,0" |
211 | + position="16,48" |
212 | + id="guide823" /> |
213 | + <sodipodi:guide |
214 | + orientation="0,1" |
215 | + position="64,80" |
216 | + id="guide825" /> |
217 | + <sodipodi:guide |
218 | + orientation="1,0" |
219 | + position="80,40" |
220 | + id="guide827" /> |
221 | + <sodipodi:guide |
222 | + orientation="0,1" |
223 | + position="64,16" |
224 | + id="guide829" /> |
225 | + </sodipodi:namedview> |
226 | + <metadata |
227 | + id="metadata6522"> |
228 | + <rdf:RDF> |
229 | + <cc:Work |
230 | + rdf:about=""> |
231 | + <dc:format>image/svg+xml</dc:format> |
232 | + <dc:type |
233 | + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
234 | + <dc:title></dc:title> |
235 | + </cc:Work> |
236 | + </rdf:RDF> |
237 | + </metadata> |
238 | + <g |
239 | + inkscape:label="BACKGROUND" |
240 | + inkscape:groupmode="layer" |
241 | + id="layer1" |
242 | + transform="translate(268,-635.29076)" |
243 | + style="display:inline"> |
244 | + <path |
245 | + style="fill:url(#linearGradient6461);fill-opacity:1;stroke:none;display:inline;filter:url(#filter1121)" |
246 | + d="m -268,700.15563 0,-33.72973 c 0,-27.24324 3.88785,-31.13513 31.10302,-31.13513 l 33.79408,0 c 27.21507,0 31.1029,3.89189 31.1029,31.13513 l 0,33.72973 c 0,27.24325 -3.88783,31.13514 -31.1029,31.13514 l -33.79408,0 C -264.11215,731.29077 -268,727.39888 -268,700.15563 Z" |
247 | + id="path6455" |
248 | + inkscape:connector-curvature="0" |
249 | + sodipodi:nodetypes="sssssssss" /> |
250 | + </g> |
251 | + <g |
252 | + inkscape:groupmode="layer" |
253 | + id="layer3" |
254 | + inkscape:label="PLACE YOUR PICTOGRAM HERE" |
255 | + style="display:inline" /> |
256 | + <g |
257 | + inkscape:groupmode="layer" |
258 | + id="layer2" |
259 | + inkscape:label="BADGE" |
260 | + style="display:none" |
261 | + sodipodi:insensitive="true"> |
262 | + <g |
263 | + style="display:inline" |
264 | + transform="translate(-340.00001,-581)" |
265 | + id="g4394" |
266 | + clip-path="none"> |
267 | + <g |
268 | + id="g855"> |
269 | + <g |
270 | + inkscape:groupmode="maskhelper" |
271 | + id="g870" |
272 | + clip-path="url(#clipPath873)" |
273 | + style="opacity:0.6;filter:url(#filter891)"> |
274 | + <path |
275 | + transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-237.54282)" |
276 | + d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z" |
277 | + sodipodi:ry="12" |
278 | + sodipodi:rx="12" |
279 | + sodipodi:cy="552.36218" |
280 | + sodipodi:cx="252" |
281 | + id="path844" |
282 | + style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
283 | + sodipodi:type="arc" /> |
284 | + </g> |
285 | + <g |
286 | + id="g862"> |
287 | + <path |
288 | + sodipodi:type="arc" |
289 | + style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
290 | + id="path4398" |
291 | + sodipodi:cx="252" |
292 | + sodipodi:cy="552.36218" |
293 | + sodipodi:rx="12" |
294 | + sodipodi:ry="12" |
295 | + d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z" |
296 | + transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-238.54282)" /> |
297 | + <path |
298 | + transform="matrix(1.25,0,0,1.25,33,-100.45273)" |
299 | + d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z" |
300 | + sodipodi:ry="12" |
301 | + sodipodi:rx="12" |
302 | + sodipodi:cy="552.36218" |
303 | + sodipodi:cx="252" |
304 | + id="path4400" |
305 | + style="color:#000000;fill:#dd4814;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
306 | + sodipodi:type="arc" /> |
307 | + <path |
308 | + sodipodi:type="star" |
309 | + style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
310 | + id="path4459" |
311 | + sodipodi:sides="5" |
312 | + sodipodi:cx="666.19574" |
313 | + sodipodi:cy="589.50385" |
314 | + sodipodi:r1="7.2431178" |
315 | + sodipodi:r2="4.3458705" |
316 | + sodipodi:arg1="1.0471976" |
317 | + sodipodi:arg2="1.6755161" |
318 | + inkscape:flatsided="false" |
319 | + inkscape:rounded="0.1" |
320 | + inkscape:randomized="0" |
321 | + d="m 669.8173,595.77657 c -0.39132,0.22593 -3.62645,-1.90343 -4.07583,-1.95066 -0.44938,-0.0472 -4.05653,1.36297 -4.39232,1.06062 -0.3358,-0.30235 0.68963,-4.03715 0.59569,-4.47913 -0.0939,-0.44198 -2.5498,-3.43681 -2.36602,-3.8496 0.18379,-0.41279 4.05267,-0.59166 4.44398,-0.81759 0.39132,-0.22593 2.48067,-3.48704 2.93005,-3.4398 0.44938,0.0472 1.81505,3.67147 2.15084,3.97382 0.3358,0.30236 4.08294,1.2817 4.17689,1.72369 0.0939,0.44198 -2.9309,2.86076 -3.11469,3.27355 C 669.9821,591.68426 670.20862,595.55064 669.8173,595.77657 Z" |
322 | + transform="matrix(1.511423,-0.16366377,0.16366377,1.511423,-755.37346,-191.93651)" /> |
323 | + </g> |
324 | + </g> |
325 | + </g> |
326 | + </g> |
327 | +</svg> |
328 | |
329 | === added directory 'tests/charms/icon-template' |
330 | === added file 'tests/charms/icon-template/README.ex' |
331 | --- tests/charms/icon-template/README.ex 1970-01-01 00:00:00 +0000 |
332 | +++ tests/charms/icon-template/README.ex 2013-04-25 21:00:33 +0000 |
333 | @@ -0,0 +1,5 @@ |
334 | +Describe the intended usage of this charm and anything unique about how |
335 | +this charm relates to others here. |
336 | + |
337 | +Be sure to remove this section before submitting this to |
338 | +https://launchpad.net/charms for inclusion in the charm store. |
339 | |
340 | === added directory 'tests/charms/icon-template/hooks' |
341 | === added file 'tests/charms/icon-template/hooks/install' |
342 | --- tests/charms/icon-template/hooks/install 1970-01-01 00:00:00 +0000 |
343 | +++ tests/charms/icon-template/hooks/install 2013-04-25 21:00:33 +0000 |
344 | @@ -0,0 +1,5 @@ |
345 | +#!/bin/bash |
346 | +# Here do anything needed to install the service |
347 | +# i.e. apt-get install -y foo or bzr branch http://myserver/mycode /srv/webroot |
348 | + |
349 | +apt-get install -y test |
350 | |
351 | === added file 'tests/charms/icon-template/hooks/relation-name-relation-broken' |
352 | --- tests/charms/icon-template/hooks/relation-name-relation-broken 1970-01-01 00:00:00 +0000 |
353 | +++ tests/charms/icon-template/hooks/relation-name-relation-broken 2013-04-25 21:00:33 +0000 |
354 | @@ -0,0 +1,2 @@ |
355 | +#!/bin/sh |
356 | +# This hook runs when the full relation is removed (not just a single member) |
357 | |
358 | === added file 'tests/charms/icon-template/hooks/relation-name-relation-changed' |
359 | --- tests/charms/icon-template/hooks/relation-name-relation-changed 1970-01-01 00:00:00 +0000 |
360 | +++ tests/charms/icon-template/hooks/relation-name-relation-changed 2013-04-25 21:00:33 +0000 |
361 | @@ -0,0 +1,9 @@ |
362 | +#!/bin/bash |
363 | +# This must be renamed to the name of the relation. The goal here is to |
364 | +# affect any change needed by relationships being formed, modified, or broken |
365 | +# This script should be idempotent. |
366 | +juju-log $JUJU_REMOTE_UNIT modified its settings |
367 | +juju-log Relation settings: |
368 | +relation-get |
369 | +juju-log Relation members: |
370 | +relation-list |
371 | |
372 | === added file 'tests/charms/icon-template/hooks/relation-name-relation-departed' |
373 | --- tests/charms/icon-template/hooks/relation-name-relation-departed 1970-01-01 00:00:00 +0000 |
374 | +++ tests/charms/icon-template/hooks/relation-name-relation-departed 2013-04-25 21:00:33 +0000 |
375 | @@ -0,0 +1,5 @@ |
376 | +#!/bin/sh |
377 | +# This must be renamed to the name of the relation. The goal here is to |
378 | +# affect any change needed by the remote unit leaving the relationship. |
379 | +# This script should be idempotent. |
380 | +juju-log $JUJU_REMOTE_UNIT departed |
381 | |
382 | === added file 'tests/charms/icon-template/hooks/relation-name-relation-joined' |
383 | --- tests/charms/icon-template/hooks/relation-name-relation-joined 1970-01-01 00:00:00 +0000 |
384 | +++ tests/charms/icon-template/hooks/relation-name-relation-joined 2013-04-25 21:00:33 +0000 |
385 | @@ -0,0 +1,5 @@ |
386 | +#!/bin/sh |
387 | +# This must be renamed to the name of the relation. The goal here is to |
388 | +# affect any change needed by relationships being formed |
389 | +# This script should be idempotent. |
390 | +juju-log $JUJU_REMOTE_UNIT joined |
391 | |
392 | === added file 'tests/charms/icon-template/hooks/start' |
393 | --- tests/charms/icon-template/hooks/start 1970-01-01 00:00:00 +0000 |
394 | +++ tests/charms/icon-template/hooks/start 2013-04-25 21:00:33 +0000 |
395 | @@ -0,0 +1,4 @@ |
396 | +#!/bin/bash |
397 | +# Here put anything that is needed to start the service. |
398 | +# Note that currently this is run directly after install |
399 | +# i.e. 'service apache2 start' |
400 | |
401 | === added file 'tests/charms/icon-template/hooks/stop' |
402 | --- tests/charms/icon-template/hooks/stop 1970-01-01 00:00:00 +0000 |
403 | +++ tests/charms/icon-template/hooks/stop 2013-04-25 21:00:33 +0000 |
404 | @@ -0,0 +1,7 @@ |
405 | +#!/bin/bash |
406 | +# This will be run when the service is being torn down, allowing you to disable |
407 | +# it in various ways.. |
408 | +# For example, if your web app uses a text file to signal to the load balancer |
409 | +# that it is live... you could remove it and sleep for a bit to allow the load |
410 | +# balancer to stop sending traffic. |
411 | +# rm /srv/webroot/server-live.txt && sleep 30 |
412 | |
413 | === added file 'tests/charms/icon-template/icon.svg' |
414 | --- tests/charms/icon-template/icon.svg 1970-01-01 00:00:00 +0000 |
415 | +++ tests/charms/icon-template/icon.svg 2013-04-25 21:00:33 +0000 |
416 | @@ -0,0 +1,279 @@ |
417 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
418 | +<!-- Created with Inkscape (http://www.inkscape.org/) --> |
419 | + |
420 | +<svg |
421 | + xmlns:dc="http://purl.org/dc/elements/1.1/" |
422 | + xmlns:cc="http://creativecommons.org/ns#" |
423 | + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
424 | + xmlns:svg="http://www.w3.org/2000/svg" |
425 | + xmlns="http://www.w3.org/2000/svg" |
426 | + xmlns:xlink="http://www.w3.org/1999/xlink" |
427 | + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
428 | + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
429 | + width="96" |
430 | + height="96" |
431 | + id="svg6517" |
432 | + version="1.1" |
433 | + inkscape:version="0.48+devel r12274" |
434 | + sodipodi:docname="Juju_charm_icon_template.svg"> |
435 | + <defs |
436 | + id="defs6519"> |
437 | + <linearGradient |
438 | + inkscape:collect="always" |
439 | + xlink:href="#Background" |
440 | + id="linearGradient6461" |
441 | + gradientUnits="userSpaceOnUse" |
442 | + x1="0" |
443 | + y1="970.29498" |
444 | + x2="144" |
445 | + y2="970.29498" |
446 | + gradientTransform="matrix(0,-0.66666669,0.6660448,0,-866.25992,731.29077)" /> |
447 | + <linearGradient |
448 | + id="Background"> |
449 | + <stop |
450 | + id="stop4178" |
451 | + offset="0" |
452 | + style="stop-color:#b8b8b8;stop-opacity:1" /> |
453 | + <stop |
454 | + id="stop4180" |
455 | + offset="1" |
456 | + style="stop-color:#c9c9c9;stop-opacity:1" /> |
457 | + </linearGradient> |
458 | + <filter |
459 | + style="color-interpolation-filters:sRGB;" |
460 | + inkscape:label="Inner Shadow" |
461 | + id="filter1121"> |
462 | + <feFlood |
463 | + flood-opacity="0.59999999999999998" |
464 | + flood-color="rgb(0,0,0)" |
465 | + result="flood" |
466 | + id="feFlood1123" /> |
467 | + <feComposite |
468 | + in="flood" |
469 | + in2="SourceGraphic" |
470 | + operator="out" |
471 | + result="composite1" |
472 | + id="feComposite1125" /> |
473 | + <feGaussianBlur |
474 | + in="composite1" |
475 | + stdDeviation="1" |
476 | + result="blur" |
477 | + id="feGaussianBlur1127" /> |
478 | + <feOffset |
479 | + dx="0" |
480 | + dy="2" |
481 | + result="offset" |
482 | + id="feOffset1129" /> |
483 | + <feComposite |
484 | + in="offset" |
485 | + in2="SourceGraphic" |
486 | + operator="atop" |
487 | + result="composite2" |
488 | + id="feComposite1131" /> |
489 | + </filter> |
490 | + <filter |
491 | + style="color-interpolation-filters:sRGB;" |
492 | + inkscape:label="Drop Shadow" |
493 | + id="filter950"> |
494 | + <feFlood |
495 | + flood-opacity="0.25" |
496 | + flood-color="rgb(0,0,0)" |
497 | + result="flood" |
498 | + id="feFlood952" /> |
499 | + <feComposite |
500 | + in="flood" |
501 | + in2="SourceGraphic" |
502 | + operator="in" |
503 | + result="composite1" |
504 | + id="feComposite954" /> |
505 | + <feGaussianBlur |
506 | + in="composite1" |
507 | + stdDeviation="1" |
508 | + result="blur" |
509 | + id="feGaussianBlur956" /> |
510 | + <feOffset |
511 | + dx="0" |
512 | + dy="1" |
513 | + result="offset" |
514 | + id="feOffset958" /> |
515 | + <feComposite |
516 | + in="SourceGraphic" |
517 | + in2="offset" |
518 | + operator="over" |
519 | + result="composite2" |
520 | + id="feComposite960" /> |
521 | + </filter> |
522 | + <clipPath |
523 | + clipPathUnits="userSpaceOnUse" |
524 | + id="clipPath873"> |
525 | + <g |
526 | + transform="matrix(0,-0.66666667,0.66604479,0,-258.25992,677.00001)" |
527 | + id="g875" |
528 | + inkscape:label="Layer 1" |
529 | + style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline"> |
530 | + <path |
531 | + style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline" |
532 | + d="m 46.702703,898.22775 50.594594,0 C 138.16216,898.22775 144,904.06497 144,944.92583 l 0,50.73846 c 0,40.86071 -5.83784,46.69791 -46.702703,46.69791 l -50.594594,0 C 5.8378378,1042.3622 0,1036.525 0,995.66429 L 0,944.92583 C 0,904.06497 5.8378378,898.22775 46.702703,898.22775 Z" |
533 | + id="path877" |
534 | + inkscape:connector-curvature="0" |
535 | + sodipodi:nodetypes="sssssssss" /> |
536 | + </g> |
537 | + </clipPath> |
538 | + <filter |
539 | + inkscape:collect="always" |
540 | + id="filter891" |
541 | + inkscape:label="Badge Shadow"> |
542 | + <feGaussianBlur |
543 | + inkscape:collect="always" |
544 | + stdDeviation="0.71999962" |
545 | + id="feGaussianBlur893" /> |
546 | + </filter> |
547 | + </defs> |
548 | + <sodipodi:namedview |
549 | + id="base" |
550 | + pagecolor="#ffffff" |
551 | + bordercolor="#666666" |
552 | + borderopacity="1.0" |
553 | + inkscape:pageopacity="0.0" |
554 | + inkscape:pageshadow="2" |
555 | + inkscape:zoom="4.0745362" |
556 | + inkscape:cx="18.514671" |
557 | + inkscape:cy="49.018169" |
558 | + inkscape:document-units="px" |
559 | + inkscape:current-layer="layer1" |
560 | + showgrid="true" |
561 | + fit-margin-top="0" |
562 | + fit-margin-left="0" |
563 | + fit-margin-right="0" |
564 | + fit-margin-bottom="0" |
565 | + inkscape:window-width="1920" |
566 | + inkscape:window-height="1029" |
567 | + inkscape:window-x="0" |
568 | + inkscape:window-y="24" |
569 | + inkscape:window-maximized="1" |
570 | + showborder="true" |
571 | + showguides="true" |
572 | + inkscape:guide-bbox="true" |
573 | + inkscape:showpageshadow="false"> |
574 | + <inkscape:grid |
575 | + type="xygrid" |
576 | + id="grid821" /> |
577 | + <sodipodi:guide |
578 | + orientation="1,0" |
579 | + position="16,48" |
580 | + id="guide823" /> |
581 | + <sodipodi:guide |
582 | + orientation="0,1" |
583 | + position="64,80" |
584 | + id="guide825" /> |
585 | + <sodipodi:guide |
586 | + orientation="1,0" |
587 | + position="80,40" |
588 | + id="guide827" /> |
589 | + <sodipodi:guide |
590 | + orientation="0,1" |
591 | + position="64,16" |
592 | + id="guide829" /> |
593 | + </sodipodi:namedview> |
594 | + <metadata |
595 | + id="metadata6522"> |
596 | + <rdf:RDF> |
597 | + <cc:Work |
598 | + rdf:about=""> |
599 | + <dc:format>image/svg+xml</dc:format> |
600 | + <dc:type |
601 | + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
602 | + <dc:title></dc:title> |
603 | + </cc:Work> |
604 | + </rdf:RDF> |
605 | + </metadata> |
606 | + <g |
607 | + inkscape:label="BACKGROUND" |
608 | + inkscape:groupmode="layer" |
609 | + id="layer1" |
610 | + transform="translate(268,-635.29076)" |
611 | + style="display:inline"> |
612 | + <path |
613 | + style="fill:url(#linearGradient6461);fill-opacity:1;stroke:none;display:inline;filter:url(#filter1121)" |
614 | + d="m -268,700.15563 0,-33.72973 c 0,-27.24324 3.88785,-31.13513 31.10302,-31.13513 l 33.79408,0 c 27.21507,0 31.1029,3.89189 31.1029,31.13513 l 0,33.72973 c 0,27.24325 -3.88783,31.13514 -31.1029,31.13514 l -33.79408,0 C -264.11215,731.29077 -268,727.39888 -268,700.15563 Z" |
615 | + id="path6455" |
616 | + inkscape:connector-curvature="0" |
617 | + sodipodi:nodetypes="sssssssss" /> |
618 | + </g> |
619 | + <g |
620 | + inkscape:groupmode="layer" |
621 | + id="layer3" |
622 | + inkscape:label="PLACE YOUR PICTOGRAM HERE" |
623 | + style="display:inline" /> |
624 | + <g |
625 | + inkscape:groupmode="layer" |
626 | + id="layer2" |
627 | + inkscape:label="BADGE" |
628 | + style="display:none" |
629 | + sodipodi:insensitive="true"> |
630 | + <g |
631 | + style="display:inline" |
632 | + transform="translate(-340.00001,-581)" |
633 | + id="g4394" |
634 | + clip-path="none"> |
635 | + <g |
636 | + id="g855"> |
637 | + <g |
638 | + inkscape:groupmode="maskhelper" |
639 | + id="g870" |
640 | + clip-path="url(#clipPath873)" |
641 | + style="opacity:0.6;filter:url(#filter891)"> |
642 | + <path |
643 | + transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-237.54282)" |
644 | + d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z" |
645 | + sodipodi:ry="12" |
646 | + sodipodi:rx="12" |
647 | + sodipodi:cy="552.36218" |
648 | + sodipodi:cx="252" |
649 | + id="path844" |
650 | + style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
651 | + sodipodi:type="arc" /> |
652 | + </g> |
653 | + <g |
654 | + id="g862"> |
655 | + <path |
656 | + sodipodi:type="arc" |
657 | + style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
658 | + id="path4398" |
659 | + sodipodi:cx="252" |
660 | + sodipodi:cy="552.36218" |
661 | + sodipodi:rx="12" |
662 | + sodipodi:ry="12" |
663 | + d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z" |
664 | + transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-238.54282)" /> |
665 | + <path |
666 | + transform="matrix(1.25,0,0,1.25,33,-100.45273)" |
667 | + d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z" |
668 | + sodipodi:ry="12" |
669 | + sodipodi:rx="12" |
670 | + sodipodi:cy="552.36218" |
671 | + sodipodi:cx="252" |
672 | + id="path4400" |
673 | + style="color:#000000;fill:#dd4814;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
674 | + sodipodi:type="arc" /> |
675 | + <path |
676 | + sodipodi:type="star" |
677 | + style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
678 | + id="path4459" |
679 | + sodipodi:sides="5" |
680 | + sodipodi:cx="666.19574" |
681 | + sodipodi:cy="589.50385" |
682 | + sodipodi:r1="7.2431178" |
683 | + sodipodi:r2="4.3458705" |
684 | + sodipodi:arg1="1.0471976" |
685 | + sodipodi:arg2="1.6755161" |
686 | + inkscape:flatsided="false" |
687 | + inkscape:rounded="0.1" |
688 | + inkscape:randomized="0" |
689 | + d="m 669.8173,595.77657 c -0.39132,0.22593 -3.62645,-1.90343 -4.07583,-1.95066 -0.44938,-0.0472 -4.05653,1.36297 -4.39232,1.06062 -0.3358,-0.30235 0.68963,-4.03715 0.59569,-4.47913 -0.0939,-0.44198 -2.5498,-3.43681 -2.36602,-3.8496 0.18379,-0.41279 4.05267,-0.59166 4.44398,-0.81759 0.39132,-0.22593 2.48067,-3.48704 2.93005,-3.4398 0.44938,0.0472 1.81505,3.67147 2.15084,3.97382 0.3358,0.30236 4.08294,1.2817 4.17689,1.72369 0.0939,0.44198 -2.9309,2.86076 -3.11469,3.27355 C 669.9821,591.68426 670.20862,595.55064 669.8173,595.77657 Z" |
690 | + transform="matrix(1.511423,-0.16366377,0.16366377,1.511423,-755.37346,-191.93651)" /> |
691 | + </g> |
692 | + </g> |
693 | + </g> |
694 | + </g> |
695 | +</svg> |
696 | |
697 | === added file 'tests/charms/icon-template/metadata.yaml' |
698 | --- tests/charms/icon-template/metadata.yaml 1970-01-01 00:00:00 +0000 |
699 | +++ tests/charms/icon-template/metadata.yaml 2013-04-25 21:00:33 +0000 |
700 | @@ -0,0 +1,19 @@ |
701 | +name: icon-template |
702 | +summary: <Fill in summary here> |
703 | +maintainer: test@testhost |
704 | +description: | |
705 | + <Multi-line description here> |
706 | +categories: |
707 | + - misc |
708 | +provides: |
709 | + relation-name: |
710 | + baz: boom |
711 | + interface: interface-name |
712 | +requires: |
713 | + relation-name: |
714 | + interface: interface-name |
715 | + scope: flouride |
716 | +peers: |
717 | + relation-name: |
718 | + interface: interface-name |
719 | + non-map: [ interface, interface-name ] |
720 | |
721 | === added file 'tests/charms/icon-template/revision' |
722 | --- tests/charms/icon-template/revision 1970-01-01 00:00:00 +0000 |
723 | +++ tests/charms/icon-template/revision 2013-04-25 21:00:33 +0000 |
724 | @@ -0,0 +1,1 @@ |
725 | +1 |
726 | |
727 | === added file 'tests/create/no-package-exists/icon.svg' |
728 | --- tests/create/no-package-exists/icon.svg 1970-01-01 00:00:00 +0000 |
729 | +++ tests/create/no-package-exists/icon.svg 2013-04-25 21:00:33 +0000 |
730 | @@ -0,0 +1,279 @@ |
731 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
732 | +<!-- Created with Inkscape (http://www.inkscape.org/) --> |
733 | + |
734 | +<svg |
735 | + xmlns:dc="http://purl.org/dc/elements/1.1/" |
736 | + xmlns:cc="http://creativecommons.org/ns#" |
737 | + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
738 | + xmlns:svg="http://www.w3.org/2000/svg" |
739 | + xmlns="http://www.w3.org/2000/svg" |
740 | + xmlns:xlink="http://www.w3.org/1999/xlink" |
741 | + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
742 | + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
743 | + width="96" |
744 | + height="96" |
745 | + id="svg6517" |
746 | + version="1.1" |
747 | + inkscape:version="0.48+devel r12274" |
748 | + sodipodi:docname="Juju_charm_icon_template.svg"> |
749 | + <defs |
750 | + id="defs6519"> |
751 | + <linearGradient |
752 | + inkscape:collect="always" |
753 | + xlink:href="#Background" |
754 | + id="linearGradient6461" |
755 | + gradientUnits="userSpaceOnUse" |
756 | + x1="0" |
757 | + y1="970.29498" |
758 | + x2="144" |
759 | + y2="970.29498" |
760 | + gradientTransform="matrix(0,-0.66666669,0.6660448,0,-866.25992,731.29077)" /> |
761 | + <linearGradient |
762 | + id="Background"> |
763 | + <stop |
764 | + id="stop4178" |
765 | + offset="0" |
766 | + style="stop-color:#b8b8b8;stop-opacity:1" /> |
767 | + <stop |
768 | + id="stop4180" |
769 | + offset="1" |
770 | + style="stop-color:#c9c9c9;stop-opacity:1" /> |
771 | + </linearGradient> |
772 | + <filter |
773 | + style="color-interpolation-filters:sRGB;" |
774 | + inkscape:label="Inner Shadow" |
775 | + id="filter1121"> |
776 | + <feFlood |
777 | + flood-opacity="0.59999999999999998" |
778 | + flood-color="rgb(0,0,0)" |
779 | + result="flood" |
780 | + id="feFlood1123" /> |
781 | + <feComposite |
782 | + in="flood" |
783 | + in2="SourceGraphic" |
784 | + operator="out" |
785 | + result="composite1" |
786 | + id="feComposite1125" /> |
787 | + <feGaussianBlur |
788 | + in="composite1" |
789 | + stdDeviation="1" |
790 | + result="blur" |
791 | + id="feGaussianBlur1127" /> |
792 | + <feOffset |
793 | + dx="0" |
794 | + dy="2" |
795 | + result="offset" |
796 | + id="feOffset1129" /> |
797 | + <feComposite |
798 | + in="offset" |
799 | + in2="SourceGraphic" |
800 | + operator="atop" |
801 | + result="composite2" |
802 | + id="feComposite1131" /> |
803 | + </filter> |
804 | + <filter |
805 | + style="color-interpolation-filters:sRGB;" |
806 | + inkscape:label="Drop Shadow" |
807 | + id="filter950"> |
808 | + <feFlood |
809 | + flood-opacity="0.25" |
810 | + flood-color="rgb(0,0,0)" |
811 | + result="flood" |
812 | + id="feFlood952" /> |
813 | + <feComposite |
814 | + in="flood" |
815 | + in2="SourceGraphic" |
816 | + operator="in" |
817 | + result="composite1" |
818 | + id="feComposite954" /> |
819 | + <feGaussianBlur |
820 | + in="composite1" |
821 | + stdDeviation="1" |
822 | + result="blur" |
823 | + id="feGaussianBlur956" /> |
824 | + <feOffset |
825 | + dx="0" |
826 | + dy="1" |
827 | + result="offset" |
828 | + id="feOffset958" /> |
829 | + <feComposite |
830 | + in="SourceGraphic" |
831 | + in2="offset" |
832 | + operator="over" |
833 | + result="composite2" |
834 | + id="feComposite960" /> |
835 | + </filter> |
836 | + <clipPath |
837 | + clipPathUnits="userSpaceOnUse" |
838 | + id="clipPath873"> |
839 | + <g |
840 | + transform="matrix(0,-0.66666667,0.66604479,0,-258.25992,677.00001)" |
841 | + id="g875" |
842 | + inkscape:label="Layer 1" |
843 | + style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline"> |
844 | + <path |
845 | + style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline" |
846 | + d="m 46.702703,898.22775 50.594594,0 C 138.16216,898.22775 144,904.06497 144,944.92583 l 0,50.73846 c 0,40.86071 -5.83784,46.69791 -46.702703,46.69791 l -50.594594,0 C 5.8378378,1042.3622 0,1036.525 0,995.66429 L 0,944.92583 C 0,904.06497 5.8378378,898.22775 46.702703,898.22775 Z" |
847 | + id="path877" |
848 | + inkscape:connector-curvature="0" |
849 | + sodipodi:nodetypes="sssssssss" /> |
850 | + </g> |
851 | + </clipPath> |
852 | + <filter |
853 | + inkscape:collect="always" |
854 | + id="filter891" |
855 | + inkscape:label="Badge Shadow"> |
856 | + <feGaussianBlur |
857 | + inkscape:collect="always" |
858 | + stdDeviation="0.71999962" |
859 | + id="feGaussianBlur893" /> |
860 | + </filter> |
861 | + </defs> |
862 | + <sodipodi:namedview |
863 | + id="base" |
864 | + pagecolor="#ffffff" |
865 | + bordercolor="#666666" |
866 | + borderopacity="1.0" |
867 | + inkscape:pageopacity="0.0" |
868 | + inkscape:pageshadow="2" |
869 | + inkscape:zoom="4.0745362" |
870 | + inkscape:cx="18.514671" |
871 | + inkscape:cy="49.018169" |
872 | + inkscape:document-units="px" |
873 | + inkscape:current-layer="layer1" |
874 | + showgrid="true" |
875 | + fit-margin-top="0" |
876 | + fit-margin-left="0" |
877 | + fit-margin-right="0" |
878 | + fit-margin-bottom="0" |
879 | + inkscape:window-width="1920" |
880 | + inkscape:window-height="1029" |
881 | + inkscape:window-x="0" |
882 | + inkscape:window-y="24" |
883 | + inkscape:window-maximized="1" |
884 | + showborder="true" |
885 | + showguides="true" |
886 | + inkscape:guide-bbox="true" |
887 | + inkscape:showpageshadow="false"> |
888 | + <inkscape:grid |
889 | + type="xygrid" |
890 | + id="grid821" /> |
891 | + <sodipodi:guide |
892 | + orientation="1,0" |
893 | + position="16,48" |
894 | + id="guide823" /> |
895 | + <sodipodi:guide |
896 | + orientation="0,1" |
897 | + position="64,80" |
898 | + id="guide825" /> |
899 | + <sodipodi:guide |
900 | + orientation="1,0" |
901 | + position="80,40" |
902 | + id="guide827" /> |
903 | + <sodipodi:guide |
904 | + orientation="0,1" |
905 | + position="64,16" |
906 | + id="guide829" /> |
907 | + </sodipodi:namedview> |
908 | + <metadata |
909 | + id="metadata6522"> |
910 | + <rdf:RDF> |
911 | + <cc:Work |
912 | + rdf:about=""> |
913 | + <dc:format>image/svg+xml</dc:format> |
914 | + <dc:type |
915 | + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
916 | + <dc:title></dc:title> |
917 | + </cc:Work> |
918 | + </rdf:RDF> |
919 | + </metadata> |
920 | + <g |
921 | + inkscape:label="BACKGROUND" |
922 | + inkscape:groupmode="layer" |
923 | + id="layer1" |
924 | + transform="translate(268,-635.29076)" |
925 | + style="display:inline"> |
926 | + <path |
927 | + style="fill:url(#linearGradient6461);fill-opacity:1;stroke:none;display:inline;filter:url(#filter1121)" |
928 | + d="m -268,700.15563 0,-33.72973 c 0,-27.24324 3.88785,-31.13513 31.10302,-31.13513 l 33.79408,0 c 27.21507,0 31.1029,3.89189 31.1029,31.13513 l 0,33.72973 c 0,27.24325 -3.88783,31.13514 -31.1029,31.13514 l -33.79408,0 C -264.11215,731.29077 -268,727.39888 -268,700.15563 Z" |
929 | + id="path6455" |
930 | + inkscape:connector-curvature="0" |
931 | + sodipodi:nodetypes="sssssssss" /> |
932 | + </g> |
933 | + <g |
934 | + inkscape:groupmode="layer" |
935 | + id="layer3" |
936 | + inkscape:label="PLACE YOUR PICTOGRAM HERE" |
937 | + style="display:inline" /> |
938 | + <g |
939 | + inkscape:groupmode="layer" |
940 | + id="layer2" |
941 | + inkscape:label="BADGE" |
942 | + style="display:none" |
943 | + sodipodi:insensitive="true"> |
944 | + <g |
945 | + style="display:inline" |
946 | + transform="translate(-340.00001,-581)" |
947 | + id="g4394" |
948 | + clip-path="none"> |
949 | + <g |
950 | + id="g855"> |
951 | + <g |
952 | + inkscape:groupmode="maskhelper" |
953 | + id="g870" |
954 | + clip-path="url(#clipPath873)" |
955 | + style="opacity:0.6;filter:url(#filter891)"> |
956 | + <path |
957 | + transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-237.54282)" |
958 | + d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z" |
959 | + sodipodi:ry="12" |
960 | + sodipodi:rx="12" |
961 | + sodipodi:cy="552.36218" |
962 | + sodipodi:cx="252" |
963 | + id="path844" |
964 | + style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
965 | + sodipodi:type="arc" /> |
966 | + </g> |
967 | + <g |
968 | + id="g862"> |
969 | + <path |
970 | + sodipodi:type="arc" |
971 | + style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
972 | + id="path4398" |
973 | + sodipodi:cx="252" |
974 | + sodipodi:cy="552.36218" |
975 | + sodipodi:rx="12" |
976 | + sodipodi:ry="12" |
977 | + d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z" |
978 | + transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-238.54282)" /> |
979 | + <path |
980 | + transform="matrix(1.25,0,0,1.25,33,-100.45273)" |
981 | + d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z" |
982 | + sodipodi:ry="12" |
983 | + sodipodi:rx="12" |
984 | + sodipodi:cy="552.36218" |
985 | + sodipodi:cx="252" |
986 | + id="path4400" |
987 | + style="color:#000000;fill:#dd4814;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
988 | + sodipodi:type="arc" /> |
989 | + <path |
990 | + sodipodi:type="star" |
991 | + style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
992 | + id="path4459" |
993 | + sodipodi:sides="5" |
994 | + sodipodi:cx="666.19574" |
995 | + sodipodi:cy="589.50385" |
996 | + sodipodi:r1="7.2431178" |
997 | + sodipodi:r2="4.3458705" |
998 | + sodipodi:arg1="1.0471976" |
999 | + sodipodi:arg2="1.6755161" |
1000 | + inkscape:flatsided="false" |
1001 | + inkscape:rounded="0.1" |
1002 | + inkscape:randomized="0" |
1003 | + d="m 669.8173,595.77657 c -0.39132,0.22593 -3.62645,-1.90343 -4.07583,-1.95066 -0.44938,-0.0472 -4.05653,1.36297 -4.39232,1.06062 -0.3358,-0.30235 0.68963,-4.03715 0.59569,-4.47913 -0.0939,-0.44198 -2.5498,-3.43681 -2.36602,-3.8496 0.18379,-0.41279 4.05267,-0.59166 4.44398,-0.81759 0.39132,-0.22593 2.48067,-3.48704 2.93005,-3.4398 0.44938,0.0472 1.81505,3.67147 2.15084,3.97382 0.3358,0.30236 4.08294,1.2817 4.17689,1.72369 0.0939,0.44198 -2.9309,2.86076 -3.11469,3.27355 C 669.9821,591.68426 670.20862,595.55064 669.8173,595.77657 Z" |
1004 | + transform="matrix(1.511423,-0.16366377,0.16366377,1.511423,-755.37346,-191.93651)" /> |
1005 | + </g> |
1006 | + </g> |
1007 | + </g> |
1008 | + </g> |
1009 | +</svg> |
1010 | |
1011 | === added file 'tests/create/python-apt/icon.svg' |
1012 | --- tests/create/python-apt/icon.svg 1970-01-01 00:00:00 +0000 |
1013 | +++ tests/create/python-apt/icon.svg 2013-04-25 21:00:33 +0000 |
1014 | @@ -0,0 +1,279 @@ |
1015 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
1016 | +<!-- Created with Inkscape (http://www.inkscape.org/) --> |
1017 | + |
1018 | +<svg |
1019 | + xmlns:dc="http://purl.org/dc/elements/1.1/" |
1020 | + xmlns:cc="http://creativecommons.org/ns#" |
1021 | + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
1022 | + xmlns:svg="http://www.w3.org/2000/svg" |
1023 | + xmlns="http://www.w3.org/2000/svg" |
1024 | + xmlns:xlink="http://www.w3.org/1999/xlink" |
1025 | + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
1026 | + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
1027 | + width="96" |
1028 | + height="96" |
1029 | + id="svg6517" |
1030 | + version="1.1" |
1031 | + inkscape:version="0.48+devel r12274" |
1032 | + sodipodi:docname="Juju_charm_icon_template.svg"> |
1033 | + <defs |
1034 | + id="defs6519"> |
1035 | + <linearGradient |
1036 | + inkscape:collect="always" |
1037 | + xlink:href="#Background" |
1038 | + id="linearGradient6461" |
1039 | + gradientUnits="userSpaceOnUse" |
1040 | + x1="0" |
1041 | + y1="970.29498" |
1042 | + x2="144" |
1043 | + y2="970.29498" |
1044 | + gradientTransform="matrix(0,-0.66666669,0.6660448,0,-866.25992,731.29077)" /> |
1045 | + <linearGradient |
1046 | + id="Background"> |
1047 | + <stop |
1048 | + id="stop4178" |
1049 | + offset="0" |
1050 | + style="stop-color:#b8b8b8;stop-opacity:1" /> |
1051 | + <stop |
1052 | + id="stop4180" |
1053 | + offset="1" |
1054 | + style="stop-color:#c9c9c9;stop-opacity:1" /> |
1055 | + </linearGradient> |
1056 | + <filter |
1057 | + style="color-interpolation-filters:sRGB;" |
1058 | + inkscape:label="Inner Shadow" |
1059 | + id="filter1121"> |
1060 | + <feFlood |
1061 | + flood-opacity="0.59999999999999998" |
1062 | + flood-color="rgb(0,0,0)" |
1063 | + result="flood" |
1064 | + id="feFlood1123" /> |
1065 | + <feComposite |
1066 | + in="flood" |
1067 | + in2="SourceGraphic" |
1068 | + operator="out" |
1069 | + result="composite1" |
1070 | + id="feComposite1125" /> |
1071 | + <feGaussianBlur |
1072 | + in="composite1" |
1073 | + stdDeviation="1" |
1074 | + result="blur" |
1075 | + id="feGaussianBlur1127" /> |
1076 | + <feOffset |
1077 | + dx="0" |
1078 | + dy="2" |
1079 | + result="offset" |
1080 | + id="feOffset1129" /> |
1081 | + <feComposite |
1082 | + in="offset" |
1083 | + in2="SourceGraphic" |
1084 | + operator="atop" |
1085 | + result="composite2" |
1086 | + id="feComposite1131" /> |
1087 | + </filter> |
1088 | + <filter |
1089 | + style="color-interpolation-filters:sRGB;" |
1090 | + inkscape:label="Drop Shadow" |
1091 | + id="filter950"> |
1092 | + <feFlood |
1093 | + flood-opacity="0.25" |
1094 | + flood-color="rgb(0,0,0)" |
1095 | + result="flood" |
1096 | + id="feFlood952" /> |
1097 | + <feComposite |
1098 | + in="flood" |
1099 | + in2="SourceGraphic" |
1100 | + operator="in" |
1101 | + result="composite1" |
1102 | + id="feComposite954" /> |
1103 | + <feGaussianBlur |
1104 | + in="composite1" |
1105 | + stdDeviation="1" |
1106 | + result="blur" |
1107 | + id="feGaussianBlur956" /> |
1108 | + <feOffset |
1109 | + dx="0" |
1110 | + dy="1" |
1111 | + result="offset" |
1112 | + id="feOffset958" /> |
1113 | + <feComposite |
1114 | + in="SourceGraphic" |
1115 | + in2="offset" |
1116 | + operator="over" |
1117 | + result="composite2" |
1118 | + id="feComposite960" /> |
1119 | + </filter> |
1120 | + <clipPath |
1121 | + clipPathUnits="userSpaceOnUse" |
1122 | + id="clipPath873"> |
1123 | + <g |
1124 | + transform="matrix(0,-0.66666667,0.66604479,0,-258.25992,677.00001)" |
1125 | + id="g875" |
1126 | + inkscape:label="Layer 1" |
1127 | + style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline"> |
1128 | + <path |
1129 | + style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline" |
1130 | + d="m 46.702703,898.22775 50.594594,0 C 138.16216,898.22775 144,904.06497 144,944.92583 l 0,50.73846 c 0,40.86071 -5.83784,46.69791 -46.702703,46.69791 l -50.594594,0 C 5.8378378,1042.3622 0,1036.525 0,995.66429 L 0,944.92583 C 0,904.06497 5.8378378,898.22775 46.702703,898.22775 Z" |
1131 | + id="path877" |
1132 | + inkscape:connector-curvature="0" |
1133 | + sodipodi:nodetypes="sssssssss" /> |
1134 | + </g> |
1135 | + </clipPath> |
1136 | + <filter |
1137 | + inkscape:collect="always" |
1138 | + id="filter891" |
1139 | + inkscape:label="Badge Shadow"> |
1140 | + <feGaussianBlur |
1141 | + inkscape:collect="always" |
1142 | + stdDeviation="0.71999962" |
1143 | + id="feGaussianBlur893" /> |
1144 | + </filter> |
1145 | + </defs> |
1146 | + <sodipodi:namedview |
1147 | + id="base" |
1148 | + pagecolor="#ffffff" |
1149 | + bordercolor="#666666" |
1150 | + borderopacity="1.0" |
1151 | + inkscape:pageopacity="0.0" |
1152 | + inkscape:pageshadow="2" |
1153 | + inkscape:zoom="4.0745362" |
1154 | + inkscape:cx="18.514671" |
1155 | + inkscape:cy="49.018169" |
1156 | + inkscape:document-units="px" |
1157 | + inkscape:current-layer="layer1" |
1158 | + showgrid="true" |
1159 | + fit-margin-top="0" |
1160 | + fit-margin-left="0" |
1161 | + fit-margin-right="0" |
1162 | + fit-margin-bottom="0" |
1163 | + inkscape:window-width="1920" |
1164 | + inkscape:window-height="1029" |
1165 | + inkscape:window-x="0" |
1166 | + inkscape:window-y="24" |
1167 | + inkscape:window-maximized="1" |
1168 | + showborder="true" |
1169 | + showguides="true" |
1170 | + inkscape:guide-bbox="true" |
1171 | + inkscape:showpageshadow="false"> |
1172 | + <inkscape:grid |
1173 | + type="xygrid" |
1174 | + id="grid821" /> |
1175 | + <sodipodi:guide |
1176 | + orientation="1,0" |
1177 | + position="16,48" |
1178 | + id="guide823" /> |
1179 | + <sodipodi:guide |
1180 | + orientation="0,1" |
1181 | + position="64,80" |
1182 | + id="guide825" /> |
1183 | + <sodipodi:guide |
1184 | + orientation="1,0" |
1185 | + position="80,40" |
1186 | + id="guide827" /> |
1187 | + <sodipodi:guide |
1188 | + orientation="0,1" |
1189 | + position="64,16" |
1190 | + id="guide829" /> |
1191 | + </sodipodi:namedview> |
1192 | + <metadata |
1193 | + id="metadata6522"> |
1194 | + <rdf:RDF> |
1195 | + <cc:Work |
1196 | + rdf:about=""> |
1197 | + <dc:format>image/svg+xml</dc:format> |
1198 | + <dc:type |
1199 | + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
1200 | + <dc:title></dc:title> |
1201 | + </cc:Work> |
1202 | + </rdf:RDF> |
1203 | + </metadata> |
1204 | + <g |
1205 | + inkscape:label="BACKGROUND" |
1206 | + inkscape:groupmode="layer" |
1207 | + id="layer1" |
1208 | + transform="translate(268,-635.29076)" |
1209 | + style="display:inline"> |
1210 | + <path |
1211 | + style="fill:url(#linearGradient6461);fill-opacity:1;stroke:none;display:inline;filter:url(#filter1121)" |
1212 | + d="m -268,700.15563 0,-33.72973 c 0,-27.24324 3.88785,-31.13513 31.10302,-31.13513 l 33.79408,0 c 27.21507,0 31.1029,3.89189 31.1029,31.13513 l 0,33.72973 c 0,27.24325 -3.88783,31.13514 -31.1029,31.13514 l -33.79408,0 C -264.11215,731.29077 -268,727.39888 -268,700.15563 Z" |
1213 | + id="path6455" |
1214 | + inkscape:connector-curvature="0" |
1215 | + sodipodi:nodetypes="sssssssss" /> |
1216 | + </g> |
1217 | + <g |
1218 | + inkscape:groupmode="layer" |
1219 | + id="layer3" |
1220 | + inkscape:label="PLACE YOUR PICTOGRAM HERE" |
1221 | + style="display:inline" /> |
1222 | + <g |
1223 | + inkscape:groupmode="layer" |
1224 | + id="layer2" |
1225 | + inkscape:label="BADGE" |
1226 | + style="display:none" |
1227 | + sodipodi:insensitive="true"> |
1228 | + <g |
1229 | + style="display:inline" |
1230 | + transform="translate(-340.00001,-581)" |
1231 | + id="g4394" |
1232 | + clip-path="none"> |
1233 | + <g |
1234 | + id="g855"> |
1235 | + <g |
1236 | + inkscape:groupmode="maskhelper" |
1237 | + id="g870" |
1238 | + clip-path="url(#clipPath873)" |
1239 | + style="opacity:0.6;filter:url(#filter891)"> |
1240 | + <path |
1241 | + transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-237.54282)" |
1242 | + d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z" |
1243 | + sodipodi:ry="12" |
1244 | + sodipodi:rx="12" |
1245 | + sodipodi:cy="552.36218" |
1246 | + sodipodi:cx="252" |
1247 | + id="path844" |
1248 | + style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
1249 | + sodipodi:type="arc" /> |
1250 | + </g> |
1251 | + <g |
1252 | + id="g862"> |
1253 | + <path |
1254 | + sodipodi:type="arc" |
1255 | + style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
1256 | + id="path4398" |
1257 | + sodipodi:cx="252" |
1258 | + sodipodi:cy="552.36218" |
1259 | + sodipodi:rx="12" |
1260 | + sodipodi:ry="12" |
1261 | + d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z" |
1262 | + transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-238.54282)" /> |
1263 | + <path |
1264 | + transform="matrix(1.25,0,0,1.25,33,-100.45273)" |
1265 | + d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z" |
1266 | + sodipodi:ry="12" |
1267 | + sodipodi:rx="12" |
1268 | + sodipodi:cy="552.36218" |
1269 | + sodipodi:cx="252" |
1270 | + id="path4400" |
1271 | + style="color:#000000;fill:#dd4814;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
1272 | + sodipodi:type="arc" /> |
1273 | + <path |
1274 | + sodipodi:type="star" |
1275 | + style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
1276 | + id="path4459" |
1277 | + sodipodi:sides="5" |
1278 | + sodipodi:cx="666.19574" |
1279 | + sodipodi:cy="589.50385" |
1280 | + sodipodi:r1="7.2431178" |
1281 | + sodipodi:r2="4.3458705" |
1282 | + sodipodi:arg1="1.0471976" |
1283 | + sodipodi:arg2="1.6755161" |
1284 | + inkscape:flatsided="false" |
1285 | + inkscape:rounded="0.1" |
1286 | + inkscape:randomized="0" |
1287 | + d="m 669.8173,595.77657 c -0.39132,0.22593 -3.62645,-1.90343 -4.07583,-1.95066 -0.44938,-0.0472 -4.05653,1.36297 -4.39232,1.06062 -0.3358,-0.30235 0.68963,-4.03715 0.59569,-4.47913 -0.0939,-0.44198 -2.5498,-3.43681 -2.36602,-3.8496 0.18379,-0.41279 4.05267,-0.59166 4.44398,-0.81759 0.39132,-0.22593 2.48067,-3.48704 2.93005,-3.4398 0.44938,0.0472 1.81505,3.67147 2.15084,3.97382 0.3358,0.30236 4.08294,1.2817 4.17689,1.72369 0.0939,0.44198 -2.9309,2.86076 -3.11469,3.27355 C 669.9821,591.68426 670.20862,595.55064 669.8173,595.77657 Z" |
1288 | + transform="matrix(1.511423,-0.16366377,0.16366377,1.511423,-755.37346,-191.93651)" /> |
1289 | + </g> |
1290 | + </g> |
1291 | + </g> |
1292 | + </g> |
1293 | +</svg> |
1294 | |
1295 | === added file 'tests/proof/expected/icon-template' |
1296 | --- tests/proof/expected/icon-template 1970-01-01 00:00:00 +0000 |
1297 | +++ tests/proof/expected/icon-template 2013-04-25 21:00:33 +0000 |
1298 | @@ -0,0 +1,15 @@ |
1299 | +E: Includes template icon.svg file. |
1300 | +E: no copyright file |
1301 | +E: Includes template README.ex file |
1302 | +E: README.ex Includes boilerplate README.ex line 1 |
1303 | +E: README.ex Includes boilerplate README.ex line 2 |
1304 | +E: template interface names should be changed: interface-name |
1305 | +E: Unknown relation field in relation relation-name - (baz) |
1306 | +E: template relations should be renamed to fit charm: relation-name |
1307 | +E: Unknown scope found in relation relation-name - (flouride) |
1308 | +E: template interface names should be changed: interface-name |
1309 | +E: template relations should be renamed to fit charm: relation-name |
1310 | +E: relation non-map is not a map |
1311 | +I: relation non-map has no hooks |
1312 | +E: template interface names should be changed: interface-name |
1313 | +E: template relations should be renamed to fit charm: relation-name |
Approved. Will merge in a few minutes.
-Juan