power_stencil 0.6.3 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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>
|