power_stencil 0.6.3 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitlab-ci.yml +2 -0
- data/README.md +3 -7
- data/doc/entities.md +8 -8
- data/doc/images/power-stencil-entity-creation.svg +247 -114
- data/doc/templates.md +22 -18
- data/etc/base_commands_definition.yml +14 -0
- data/etc/power_stencil.yaml +7 -1
- data/etc/templates/project/.zzzgitignore.erb +8 -3
- data/lib/power_stencil.rb +1 -0
- data/lib/power_stencil/command_processors/create.rb +6 -5
- data/lib/power_stencil/command_processors/delete.rb +23 -15
- data/lib/power_stencil/command_processors/edit.rb +4 -2
- data/lib/power_stencil/command_processors/plugin.rb +6 -2
- data/lib/power_stencil/command_processors/shell.rb +10 -3
- data/lib/power_stencil/dsl/entities.rb +0 -16
- data/lib/power_stencil/engine/entities_handling.rb +1 -1
- data/lib/power_stencil/engine/project_engine.rb +5 -9
- data/lib/power_stencil/plugins/templates.rb +2 -2
- data/lib/power_stencil/project/base.rb +15 -12
- data/lib/power_stencil/project/create.rb +23 -2
- data/lib/power_stencil/project/git.rb +75 -0
- data/lib/power_stencil/project/info.rb +1 -1
- data/lib/power_stencil/project/paths.rb +22 -6
- data/lib/power_stencil/project/plugins.rb +1 -1
- data/lib/power_stencil/project/templates.rb +15 -22
- data/lib/power_stencil/system_entity_definitions/all.rb +1 -1
- data/lib/power_stencil/system_entity_definitions/buildable.rb +1 -1
- data/lib/power_stencil/system_entity_definitions/entity_override.rb +5 -0
- data/lib/power_stencil/system_entity_definitions/entity_project_common.rb +12 -4
- data/lib/power_stencil/system_entity_definitions/{has_associated_files.rb → entity_templates.rb} +2 -2
- data/lib/power_stencil/system_entity_definitions/project_config.rb +1 -1
- data/lib/power_stencil/system_entity_definitions/project_entity.rb +6 -0
- data/lib/power_stencil/system_entity_definitions/simple_exec.rb +2 -2
- data/lib/power_stencil/version.rb +1 -1
- data/power_stencil.gemspec +1 -0
- metadata +19 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 75be0351239fd3b94c0cbb5b3482ed98172c3119
|
4
|
+
data.tar.gz: ffc7878ce34439f0947a1b568eb56eb07c746514
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 97ea218bf8fe32f520732d741221984e2e5a4e2f50712aac9f389209e2cedb88a7e550bbe4b3284fb5bdcd0aa8492f5278a2869b2277e8d42497c7702998c921
|
7
|
+
data.tar.gz: e7a94779f26e44892aaf80d76f4c12a53517017896a48718096c4b03178918424407a22c338fa41c5b7672ac095c603235c81a2751ae8c7d4e02c13bfc45bf89
|
data/.gitlab-ci.yml
CHANGED
data/README.md
CHANGED
@@ -75,6 +75,8 @@ Then you can install the `PowerStencil` gem by issuing the usual:
|
|
75
75
|
|
76
76
|
$ gem install power_stencil
|
77
77
|
|
78
|
+
:hand: It is **strongly** advised to have `git` installed on your system, as `PowerStencil` is integrated with `git` to provide a better user experience.
|
79
|
+
|
78
80
|
If you want to create [Graphviz] graphs, you probably may want to install it for your system. If you are using an _apt-based_ system like Ubuntu or Debian it may probably be as simple as:
|
79
81
|
|
80
82
|
$ sudo apt install graphviz
|
@@ -139,13 +141,7 @@ Once the project created, if you are anywhere within the project tree, you don't
|
|
139
141
|
|
140
142
|
**:information_source: The rest of this documentation will assume you are at the root of this created project.**
|
141
143
|
|
142
|
-
**:information_source:
|
143
|
-
|
144
|
-
$ git init
|
145
|
-
$ git add .
|
146
|
-
$ git commit -a -m 'Initial commit'
|
147
|
-
|
148
|
-
This will allow you to track any change resulting of your interactions with `power_stencil` command line.
|
144
|
+
**:information_source: If you have `git` installed on your system, **the repository of the newly created project has been automatically turned into a git repository. And any action done through the `power_stencil` command-line will be automatically tracked by `git`**. Only things you will do outside of the `power_stencil` command-line (adding or modifying templates, creating or modifying entity types... any manual action) will require a user action to make `git` take it in account. You can completely de-activate this behaviour if you want to fully manage things by yourself by adding `:no-git: true` in the `.ps_project/versioned-config.yaml`, yet there is no good reason for that... Unless you know what you are doing, you should keep the default settings.
|
149
145
|
|
150
146
|
## `PowerStencil` project structure
|
151
147
|
|
data/doc/entities.md
CHANGED
@@ -87,19 +87,19 @@ It provides a lot of information about the project, but let's focus on the `Enti
|
|
87
87
|
|
88
88
|
You can see here above that only 6 types of entity are defined by default in a brand new created `PowerStencil` project. You can find them below with some of their core features:
|
89
89
|
|
90
|
-
| entity type | system | persisted | buildable |
|
91
|
-
|
90
|
+
| entity type | system | persisted | buildable | provides templates |
|
91
|
+
|-------------|:------:|:---------:|:---------:|:------------------:|
|
92
92
|
|base_entity||X
|
93
93
|
|entity_override||X
|
94
|
-
|plugin_definition|X
|
94
|
+
|plugin_definition|X|||X
|
95
95
|
|process_descriptor||X
|
96
96
|
|project_config|X
|
97
97
|
|simple_exec||X|X|X
|
98
98
|
|
99
|
-
- You should not care about _system_
|
100
|
-
- By default any entity type, including those you may
|
101
|
-
- A _buildable_ entity is an entity you can run `power_stencil build` against. More about this in the [builds] part.
|
102
|
-
- When an entity
|
99
|
+
- You should not care about _system_ entity types unless you are developing features in `PowerStencil`. You cannot instantiate any of them like others.
|
100
|
+
- By default any entity type, including those you may instantiate, is _persistent_.
|
101
|
+
- A _buildable_ entity type is an entity type you can run `power_stencil build` against its instantiated entities. More about this in the [builds] part.
|
102
|
+
- When an entity type _provides templates_, it means its [templates] will generated in `<project_root>/templates/<entity_type>/<entity_name>` folder when you create an entity of this type. We'll talk about this more in depth in the [templates] and [builds] part.
|
103
103
|
|
104
104
|
On top of this `power_stencil info` brings you information about the actual Ruby classes implementing those entity types.
|
105
105
|
|
@@ -354,9 +354,9 @@ Of course you can then delete the entity like any other...
|
|
354
354
|
```shell
|
355
355
|
$ power_stencil delete base_entity/dev_entity --auto
|
356
356
|
Deleted 'base_entity/dev_entity'
|
357
|
-
|
358
357
|
```
|
359
358
|
|
359
|
+
:hand: As opposed to versioned entities, the templates are not generated in `<project_root>/templates/<entity_type>/<entity_name>` but instead in `<project_root>/unversioned-templates/<entity_type>/<entity_name>`. Anything below `<project_root>/unversioned-templates`, as its name suggests will not be versioned...
|
360
360
|
|
361
361
|
## Updating entities
|
362
362
|
|
@@ -9,9 +9,9 @@
|
|
9
9
|
xmlns="http://www.w3.org/2000/svg"
|
10
10
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
11
11
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
12
|
-
width="
|
13
|
-
height="153.
|
14
|
-
viewBox="0 0
|
12
|
+
width="397.49957mm"
|
13
|
+
height="153.6353mm"
|
14
|
+
viewBox="0 0 397.49958 153.6353"
|
15
15
|
version="1.1"
|
16
16
|
id="svg8"
|
17
17
|
inkscape:version="0.92.3 (2405546, 2018-03-11)"
|
@@ -20,6 +20,31 @@
|
|
20
20
|
id="title1457">PowerStencil entity creation flow description</title>
|
21
21
|
<defs
|
22
22
|
id="defs2">
|
23
|
+
<marker
|
24
|
+
inkscape:stockid="Arrow1Send"
|
25
|
+
orient="auto"
|
26
|
+
refY="0"
|
27
|
+
refX="0"
|
28
|
+
id="marker1186"
|
29
|
+
style="overflow:visible"
|
30
|
+
inkscape:isstock="true">
|
31
|
+
<path
|
32
|
+
id="path1184"
|
33
|
+
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
34
|
+
style="fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:1.00000003pt;stroke-opacity:1"
|
35
|
+
transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
|
36
|
+
inkscape:connector-curvature="0" />
|
37
|
+
</marker>
|
38
|
+
<inkscape:path-effect
|
39
|
+
effect="bspline"
|
40
|
+
id="path-effect1111"
|
41
|
+
is_visible="true"
|
42
|
+
weight="33.333333"
|
43
|
+
steps="2"
|
44
|
+
helper_size="0"
|
45
|
+
apply_no_weight="true"
|
46
|
+
apply_with_weight="true"
|
47
|
+
only_selected="false" />
|
23
48
|
<marker
|
24
49
|
inkscape:isstock="true"
|
25
50
|
style="overflow:visible"
|
@@ -27,7 +52,8 @@
|
|
27
52
|
refX="0"
|
28
53
|
refY="0"
|
29
54
|
orient="auto"
|
30
|
-
inkscape:stockid="Arrow1Send"
|
55
|
+
inkscape:stockid="Arrow1Send"
|
56
|
+
inkscape:collect="always">
|
31
57
|
<path
|
32
58
|
inkscape:connector-curvature="0"
|
33
59
|
transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
|
@@ -86,6 +112,31 @@
|
|
86
112
|
apply_no_weight="true"
|
87
113
|
apply_with_weight="true"
|
88
114
|
only_selected="false" />
|
115
|
+
<marker
|
116
|
+
inkscape:isstock="true"
|
117
|
+
style="overflow:visible"
|
118
|
+
id="marker1231-8"
|
119
|
+
refX="0"
|
120
|
+
refY="0"
|
121
|
+
orient="auto"
|
122
|
+
inkscape:stockid="Arrow1Send">
|
123
|
+
<path
|
124
|
+
inkscape:connector-curvature="0"
|
125
|
+
transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
|
126
|
+
style="fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:1.00000003pt;stroke-opacity:1"
|
127
|
+
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
128
|
+
id="path1229-7" />
|
129
|
+
</marker>
|
130
|
+
<inkscape:path-effect
|
131
|
+
only_selected="false"
|
132
|
+
apply_with_weight="true"
|
133
|
+
apply_no_weight="true"
|
134
|
+
helper_size="0"
|
135
|
+
steps="2"
|
136
|
+
weight="33.333333"
|
137
|
+
is_visible="true"
|
138
|
+
id="path-effect1227-4"
|
139
|
+
effect="bspline" />
|
89
140
|
</defs>
|
90
141
|
<sodipodi:namedview
|
91
142
|
id="base"
|
@@ -95,8 +146,8 @@
|
|
95
146
|
inkscape:pageopacity="0.0"
|
96
147
|
inkscape:pageshadow="2"
|
97
148
|
inkscape:zoom="0.7"
|
98
|
-
inkscape:cx="
|
99
|
-
inkscape:cy="
|
149
|
+
inkscape:cx="691.24662"
|
150
|
+
inkscape:cy="306.60718"
|
100
151
|
inkscape:document-units="mm"
|
101
152
|
inkscape:current-layer="layer1"
|
102
153
|
showgrid="false"
|
@@ -130,37 +181,44 @@
|
|
130
181
|
inkscape:label="Calque 1"
|
131
182
|
inkscape:groupmode="layer"
|
132
183
|
id="layer1"
|
133
|
-
transform="translate(
|
184
|
+
transform="translate(113.48204,-90.846423)">
|
185
|
+
<path
|
186
|
+
style="opacity:1;vector-effect:none;fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:1.88228047;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker1186)"
|
187
|
+
d="m -48.999241,171.83879 c 60.854543,0 121.708712,0 182.562501,0"
|
188
|
+
id="path1109"
|
189
|
+
inkscape:connector-curvature="0"
|
190
|
+
inkscape:path-effect="#path-effect1111"
|
191
|
+
inkscape:original-d="m -48.999241,171.83879 c 60.854543,-2.6e-4 121.708712,-2.6e-4 182.562501,0" />
|
134
192
|
<rect
|
135
|
-
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#a7c2db;fill-opacity:0;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:1.
|
193
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#a7c2db;fill-opacity:0;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:1.29813564;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5.19254323, 5.19254323;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
136
194
|
id="rect927"
|
137
|
-
width="
|
138
|
-
height="132.
|
139
|
-
x="-
|
140
|
-
y="101.
|
141
|
-
ry="5.
|
195
|
+
width="376.20145"
|
196
|
+
height="132.33716"
|
197
|
+
x="-102.83297"
|
198
|
+
y="101.49549"
|
199
|
+
ry="5.5368247" />
|
142
200
|
<path
|
143
|
-
inkscape:original-d="m 66.030921,191.14748 c
|
201
|
+
inkscape:original-d="m 66.030921,191.14748 c 19.950452,-6.45185 39.900939,-12.90345 59.851439,-19.35479"
|
144
202
|
inkscape:path-effect="#path-effect1227"
|
145
203
|
inkscape:connector-curvature="0"
|
146
204
|
id="path1225"
|
147
|
-
d="
|
148
|
-
style="fill:#4d4d4d;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:1.
|
205
|
+
d="M 66.030921,191.14748 C 85.98145,184.69587 105.93194,178.24427 125.88236,171.79269"
|
206
|
+
style="fill:#4d4d4d;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:1.84002388;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1231)" />
|
149
207
|
<path
|
150
|
-
style="fill:#4d4d4d;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:1.
|
151
|
-
d="m
|
208
|
+
style="fill:#4d4d4d;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:1.88874269;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Send)"
|
209
|
+
d="m 65.996854,151.12108 c 19.962565,6.79369 39.925066,13.58735 59.887526,20.381"
|
152
210
|
id="path1079"
|
153
211
|
inkscape:connector-curvature="0"
|
154
212
|
inkscape:path-effect="#path-effect1081"
|
155
|
-
inkscape:original-d="m
|
213
|
+
inkscape:original-d="m 65.996854,151.12108 c 19.962479,6.79394 39.924986,13.5876 59.887526,20.381" />
|
156
214
|
<text
|
157
215
|
xml:space="preserve"
|
158
216
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#999999;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
159
|
-
x="
|
217
|
+
x="-92.926559"
|
160
218
|
y="110.55138"
|
161
219
|
id="text1006-9"><tspan
|
162
220
|
sodipodi:role="line"
|
163
|
-
x="
|
221
|
+
x="-92.926559"
|
164
222
|
y="110.55138"
|
165
223
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#999999;stroke-width:0.26458332px"
|
166
224
|
id="tspan1026">Entity creation process (power_stencil create)</tspan></text>
|
@@ -234,141 +292,216 @@
|
|
234
292
|
</g>
|
235
293
|
</g>
|
236
294
|
<g
|
237
|
-
id="
|
295
|
+
id="g1039"
|
296
|
+
transform="translate(-98.27381,-31.074538)">
|
238
297
|
<g
|
239
|
-
|
240
|
-
id="g1087">
|
298
|
+
id="g1026">
|
241
299
|
<rect
|
242
300
|
ry="1.7865629"
|
243
|
-
y="
|
244
|
-
x="
|
301
|
+
y="202.91333"
|
302
|
+
x="6.126143"
|
245
303
|
height="21.836939"
|
246
304
|
width="87.226822"
|
247
305
|
id="rect933"
|
248
306
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#c8e1c8;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.7077052;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
|
249
307
|
<text
|
250
308
|
id="text937"
|
251
|
-
y="
|
252
|
-
x="
|
309
|
+
y="209.25699"
|
310
|
+
x="12.238936"
|
253
311
|
style="font-style:normal;font-weight:normal;font-size:4.63020849px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
254
312
|
xml:space="preserve"><tspan
|
255
313
|
id="tspan941"
|
256
314
|
style="stroke-width:0.26458332px"
|
257
|
-
y="
|
258
|
-
x="
|
315
|
+
y="209.25699"
|
316
|
+
x="12.238936"
|
259
317
|
sodipodi:role="line">templates-templates</tspan><tspan
|
260
318
|
id="tspan1007"
|
261
319
|
style="stroke-width:0.26458332px"
|
262
|
-
y="
|
263
|
-
x="
|
320
|
+
y="215.04475"
|
321
|
+
x="12.238936"
|
264
322
|
sodipodi:role="line">within project in </tspan><tspan
|
265
323
|
id="tspan1009"
|
266
324
|
style="stroke-width:0.26458332px"
|
267
|
-
y="
|
268
|
-
x="
|
325
|
+
y="220.8325"
|
326
|
+
x="12.238936"
|
269
327
|
sodipodi:role="line">.ps_project/templates-templates</tspan></text>
|
270
328
|
</g>
|
271
329
|
<g
|
272
|
-
|
273
|
-
id="g1068">
|
330
|
+
id="g1019">
|
274
331
|
<rect
|
275
332
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#a7c2db;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.7077052;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
276
333
|
id="rect1058"
|
277
334
|
width="87.226822"
|
278
335
|
height="21.836939"
|
279
|
-
x="
|
280
|
-
y="
|
336
|
+
x="6.126143"
|
337
|
+
y="181.07639"
|
281
338
|
ry="1.7865629" />
|
282
339
|
<text
|
283
340
|
id="text1017"
|
284
|
-
y="
|
285
|
-
x="
|
341
|
+
y="190.36026"
|
342
|
+
x="49.678513"
|
286
343
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
287
344
|
xml:space="preserve"><tspan
|
288
345
|
id="tspan1013"
|
289
346
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332px"
|
290
|
-
y="
|
291
|
-
x="
|
347
|
+
y="190.36026"
|
348
|
+
x="49.678513"
|
292
349
|
sodipodi:role="line">Custom Project</tspan><tspan
|
293
350
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332px"
|
294
|
-
y="
|
295
|
-
x="
|
351
|
+
y="196.14803"
|
352
|
+
x="49.678513"
|
296
353
|
sodipodi:role="line"
|
297
354
|
id="tspan1015">Entity Types</tspan></text>
|
298
355
|
</g>
|
299
356
|
</g>
|
300
357
|
<g
|
301
|
-
id="
|
302
|
-
transform="translate(54.418475,47.33271)">
|
358
|
+
id="g1107">
|
303
359
|
<g
|
304
|
-
id="
|
305
|
-
<
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
y="
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
style="
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
360
|
+
id="g1088">
|
361
|
+
<rect
|
362
|
+
ry="2.7240984"
|
363
|
+
y="171.79269"
|
364
|
+
x="125.88236"
|
365
|
+
height="33.296322"
|
366
|
+
width="137.29633"
|
367
|
+
id="rect1139"
|
368
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#c8e1c8;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.70367658;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
|
369
|
+
<text
|
370
|
+
id="text1147"
|
371
|
+
y="177.50699"
|
372
|
+
x="132.80325"
|
373
|
+
style="font-style:normal;font-weight:normal;font-size:4.63020849px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
374
|
+
xml:space="preserve"><tspan
|
375
|
+
id="tspan1143"
|
376
|
+
style="stroke-width:0.26458332px"
|
377
|
+
y="177.50699"
|
378
|
+
x="132.80325"
|
379
|
+
sodipodi:role="line">templates for <tspan
|
380
|
+
style="font-weight:bold"
|
381
|
+
id="tspan924">versioned</tspan> entities in:</tspan><tspan
|
382
|
+
id="tspan1145"
|
383
|
+
style="stroke-width:0.26458332px"
|
384
|
+
y="183.29475"
|
385
|
+
x="132.80325"
|
386
|
+
sodipodi:role="line">templates/<entity_type>/<entity_name></tspan><tspan
|
387
|
+
style="stroke-width:0.26458332px"
|
388
|
+
y="189.0825"
|
389
|
+
x="132.80325"
|
390
|
+
sodipodi:role="line"
|
391
|
+
id="tspan922" /><tspan
|
392
|
+
style="stroke-width:0.26458332px"
|
393
|
+
y="194.87027"
|
394
|
+
x="132.80325"
|
395
|
+
sodipodi:role="line"
|
396
|
+
id="tspan918">templates for <tspan
|
397
|
+
style="font-weight:bold"
|
398
|
+
id="tspan926">unversioned</tspan> entities in:</tspan><tspan
|
399
|
+
style="stroke-width:0.26458332px"
|
400
|
+
y="200.65804"
|
401
|
+
x="132.80325"
|
402
|
+
sodipodi:role="line"
|
403
|
+
id="tspan920">unversioned-templates/<entity_type>/<entity_name></tspan></text>
|
404
|
+
</g>
|
405
|
+
<g
|
406
|
+
id="g1077">
|
407
|
+
<rect
|
408
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#a7c2db;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.7077052;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
409
|
+
id="rect1062-3"
|
410
|
+
width="136.91151"
|
411
|
+
height="32.911507"
|
412
|
+
x="125.88438"
|
413
|
+
y="138.59058"
|
414
|
+
ry="2.6926153" />
|
415
|
+
<text
|
416
|
+
xml:space="preserve"
|
417
|
+
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
418
|
+
x="195.23486"
|
419
|
+
y="149.33342"
|
420
|
+
id="text819-3"><tspan
|
421
|
+
id="tspan951-7"
|
422
|
+
sodipodi:role="line"
|
423
|
+
x="195.23486"
|
424
|
+
y="149.33342"
|
425
|
+
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332px">Project Entities</tspan></text>
|
426
|
+
<text
|
427
|
+
id="text882"
|
428
|
+
y="159.20033"
|
429
|
+
x="195.30766"
|
430
|
+
style="font-style:normal;font-weight:normal;font-size:2.72649646px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.15579979px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
431
|
+
xml:space="preserve"><tspan
|
432
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.15579979px"
|
433
|
+
y="159.20033"
|
434
|
+
x="195.98152"
|
435
|
+
id="tspan880"
|
436
|
+
sodipodi:role="line">Stored in </tspan><tspan
|
437
|
+
id="tspan884"
|
438
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.15579979px"
|
439
|
+
y="162.99988"
|
440
|
+
x="195.30766"
|
441
|
+
sodipodi:role="line">.ps_project/entities/<entity_type>/<entity_name>.yaml</tspan></text>
|
442
|
+
</g>
|
443
|
+
</g>
|
444
|
+
<g
|
445
|
+
id="g1069"
|
446
|
+
transform="translate(-1.0213384,-111.88095)">
|
447
|
+
<g
|
448
|
+
id="g1056">
|
449
|
+
<rect
|
450
|
+
ry="1.7865629"
|
451
|
+
y="315.04086"
|
452
|
+
x="7.0617967"
|
453
|
+
height="21.836939"
|
454
|
+
width="87.226822"
|
455
|
+
id="rect933-7"
|
456
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#c8e1c8;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.7077052;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
|
457
|
+
<text
|
458
|
+
id="text937-8"
|
459
|
+
y="321.38452"
|
460
|
+
x="13.17459"
|
461
|
+
style="font-style:normal;font-weight:normal;font-size:4.63020849px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
462
|
+
xml:space="preserve"><tspan
|
463
|
+
id="tspan941-5"
|
464
|
+
style="stroke-width:0.26458332px"
|
465
|
+
y="321.38452"
|
466
|
+
x="13.17459"
|
467
|
+
sodipodi:role="line">templates-templates</tspan><tspan
|
468
|
+
id="tspan1009-3"
|
469
|
+
style="stroke-width:0.26458332px"
|
470
|
+
y="327.17227"
|
471
|
+
x="13.17459"
|
472
|
+
sodipodi:role="line">within plugins. Path is </tspan><tspan
|
473
|
+
style="stroke-width:0.26458332px"
|
474
|
+
y="332.96005"
|
475
|
+
x="13.17459"
|
476
|
+
sodipodi:role="line"
|
477
|
+
id="tspan1043">customizable (see plugins doc)</tspan></text>
|
478
|
+
</g>
|
479
|
+
<g
|
480
|
+
id="g1049">
|
481
|
+
<rect
|
482
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#a7c2db;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.7077052;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
483
|
+
id="rect1058-8"
|
484
|
+
width="87.226822"
|
485
|
+
height="21.836939"
|
486
|
+
x="7.0617967"
|
487
|
+
y="293.20392"
|
488
|
+
ry="1.7865629" />
|
489
|
+
<text
|
490
|
+
id="text1017-3"
|
491
|
+
y="302.48779"
|
492
|
+
x="50.614166"
|
493
|
+
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
494
|
+
xml:space="preserve"><tspan
|
495
|
+
id="tspan1013-7"
|
496
|
+
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332px"
|
497
|
+
y="302.48779"
|
498
|
+
x="50.614166"
|
499
|
+
sodipodi:role="line">Plugins</tspan><tspan
|
500
|
+
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332px"
|
501
|
+
y="308.27554"
|
502
|
+
x="50.614166"
|
503
|
+
sodipodi:role="line"
|
504
|
+
id="tspan1015-9">Entity Types</tspan></text>
|
372
505
|
</g>
|
373
506
|
</g>
|
374
507
|
</g>
|