power_stencil 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +13 -0
- data/.rspec +2 -0
- data/.travis.yml +5 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +198 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/bin/update_plugin_template +79 -0
- data/doc/builds.md +267 -0
- data/doc/entities.md +964 -0
- data/doc/example_use_cases.md +59 -0
- data/doc/images/power-stencil-entity-build.svg +481 -0
- data/doc/images/power-stencil-entity-creation.svg +375 -0
- data/doc/images/power-stencil-simple-flow.svg +265 -0
- data/doc/plugins.md +169 -0
- data/doc/templates.md +333 -0
- data/etc/base_commands_definition.yml +259 -0
- data/etc/meta_templates/plugin_seed/etc/command_line.yaml +12 -0
- data/etc/meta_templates/plugin_seed/etc/plugin_config.yaml +4 -0
- data/etc/meta_templates/plugin_seed/etc/templates/.git_keep +0 -0
- data/etc/meta_templates/plugin_seed/lib/{entity}.rb.erb +34 -0
- data/etc/meta_templates/plugin_seed/lib/{entity}/entity_definitions/{entity}_entity.rb.erb +11 -0
- data/etc/meta_templates/plugin_seed/lib/{entity}/plugin_helper.rb.erb +17 -0
- data/etc/meta_templates/plugin_seed/lib/{entity}/version.rb.erb +3 -0
- data/etc/meta_templates/plugin_seed/lib/{entity}/{entity}_processor.rb.erb +19 -0
- data/etc/meta_templates/plugin_seed/psplugin_{entity}.gemspec +36 -0
- data/etc/power_stencil.yaml +92 -0
- data/etc/templates/plugin_definition/.gitignore +11 -0
- data/etc/templates/plugin_definition/.rspec +3 -0
- data/etc/templates/plugin_definition/.travis.yml +5 -0
- data/etc/templates/plugin_definition/CODE_OF_CONDUCT.md +74 -0
- data/etc/templates/plugin_definition/Gemfile +6 -0
- data/etc/templates/plugin_definition/LICENSE.txt +21 -0
- data/etc/templates/plugin_definition/README.md +43 -0
- data/etc/templates/plugin_definition/Rakefile +6 -0
- data/etc/templates/plugin_definition/bin/console +14 -0
- data/etc/templates/plugin_definition/bin/setup +8 -0
- data/etc/templates/plugin_definition/etc/command_line.yaml +12 -0
- data/etc/templates/plugin_definition/etc/plugin_config.yaml +4 -0
- data/etc/templates/plugin_definition/etc/templates/.git_keep +1 -0
- data/etc/templates/plugin_definition/lib/{entity}.rb.erb +34 -0
- data/etc/templates/plugin_definition/lib/{entity}/entity_definitions/{entity}_entity.rb.erb +11 -0
- data/etc/templates/plugin_definition/lib/{entity}/plugin_helper.rb.erb +17 -0
- data/etc/templates/plugin_definition/lib/{entity}/version.rb.erb +3 -0
- data/etc/templates/plugin_definition/lib/{entity}/{entity}_processor.rb.erb +19 -0
- data/etc/templates/plugin_definition/psplugin_{entity}.gemspec +36 -0
- data/etc/templates/plugin_definition/spec/spec_helper.rb +14 -0
- data/etc/templates/plugin_definition/spec/{entity}_spec.rb +9 -0
- data/etc/templates/project/.copy_ignore +2 -0
- data/etc/templates/project/.gitignore.erb +6 -0
- data/etc/templates/project/.ps_project/entities/.gitkeep +0 -0
- data/etc/templates/project/.ps_project/entities/README.md +11 -0
- data/etc/templates/project/.ps_project/entity_definitions/.gitkeep +0 -0
- data/etc/templates/project/.ps_project/entity_definitions/README.md +15 -0
- data/etc/templates/project/.ps_project/personal-config.yaml +8 -0
- data/etc/templates/project/.ps_project/plugins/.gitkeep +0 -0
- data/etc/templates/project/.ps_project/templates-templates/.gitkeep +0 -0
- data/etc/templates/project/.ps_project/templates-templates/README.md +13 -0
- data/etc/templates/project/.ps_project/user_entities/.gitkeep +0 -0
- data/etc/templates/project/.ps_project/user_entities/README.md +12 -0
- data/etc/templates/project/.ps_project/versioned-config.yaml +6 -0
- data/etc/templates/simple_exec/main.sh +4 -0
- data/exe/power_stencil +28 -0
- data/lib/power_stencil.rb +53 -0
- data/lib/power_stencil/command_processors/build.rb +43 -0
- data/lib/power_stencil/command_processors/check.rb +35 -0
- data/lib/power_stencil/command_processors/create.rb +70 -0
- data/lib/power_stencil/command_processors/delete.rb +38 -0
- data/lib/power_stencil/command_processors/edit.rb +35 -0
- data/lib/power_stencil/command_processors/entity_helper.rb +105 -0
- data/lib/power_stencil/command_processors/get.rb +22 -0
- data/lib/power_stencil/command_processors/info.rb +41 -0
- data/lib/power_stencil/command_processors/init.rb +47 -0
- data/lib/power_stencil/command_processors/new_plugin.rb +31 -0
- data/lib/power_stencil/command_processors/root.rb +27 -0
- data/lib/power_stencil/command_processors/shell.rb +37 -0
- data/lib/power_stencil/command_processors/trace_helper.rb +20 -0
- data/lib/power_stencil/dsl/base.rb +24 -0
- data/lib/power_stencil/dsl/entities.rb +46 -0
- data/lib/power_stencil/dsl/plugin_generation.rb +17 -0
- data/lib/power_stencil/engine/base.rb +50 -0
- data/lib/power_stencil/engine/build_handling.rb +77 -0
- data/lib/power_stencil/engine/directory_processor.rb +111 -0
- data/lib/power_stencil/engine/entities_definitions.rb +42 -0
- data/lib/power_stencil/engine/entities_handling.rb +76 -0
- data/lib/power_stencil/engine/entity_engine.rb +20 -0
- data/lib/power_stencil/engine/init_engine.rb +18 -0
- data/lib/power_stencil/engine/project_engine.rb +75 -0
- data/lib/power_stencil/engine/renderers/erb.rb +21 -0
- data/lib/power_stencil/error.rb +20 -0
- data/lib/power_stencil/initializer.rb +87 -0
- data/lib/power_stencil/plugins/base.rb +54 -0
- data/lib/power_stencil/plugins/capabilities.rb +30 -0
- data/lib/power_stencil/plugins/command_line.rb +27 -0
- data/lib/power_stencil/plugins/config.rb +32 -0
- data/lib/power_stencil/plugins/dependencies.rb +32 -0
- data/lib/power_stencil/plugins/gem.rb +57 -0
- data/lib/power_stencil/plugins/require.rb +77 -0
- data/lib/power_stencil/plugins/templates.rb +21 -0
- data/lib/power_stencil/project/base.rb +79 -0
- data/lib/power_stencil/project/config.rb +54 -0
- data/lib/power_stencil/project/create.rb +30 -0
- data/lib/power_stencil/project/info.rb +72 -0
- data/lib/power_stencil/project/paths.rb +119 -0
- data/lib/power_stencil/project/plugins.rb +89 -0
- data/lib/power_stencil/project/proxy.rb +13 -0
- data/lib/power_stencil/project/templates.rb +56 -0
- data/lib/power_stencil/project/versioning.rb +29 -0
- data/lib/power_stencil/system_entity_definitions/all.rb +14 -0
- data/lib/power_stencil/system_entity_definitions/buildable.rb +23 -0
- data/lib/power_stencil/system_entity_definitions/entity_override.rb +8 -0
- data/lib/power_stencil/system_entity_definitions/entity_project_common.rb +33 -0
- data/lib/power_stencil/system_entity_definitions/has_associated_files.rb +13 -0
- data/lib/power_stencil/system_entity_definitions/non_persistent.rb +14 -0
- data/lib/power_stencil/system_entity_definitions/plugin.rb +17 -0
- data/lib/power_stencil/system_entity_definitions/process_descriptor.rb +15 -0
- data/lib/power_stencil/system_entity_definitions/project_config.rb +24 -0
- data/lib/power_stencil/system_entity_definitions/project_entity.rb +16 -0
- data/lib/power_stencil/system_entity_definitions/simple_exec.rb +47 -0
- data/lib/power_stencil/utils/directory_processor.rb +54 -0
- data/lib/power_stencil/utils/file_edit.rb +87 -0
- data/lib/power_stencil/utils/file_helper.rb +56 -0
- data/lib/power_stencil/utils/gem_utils.rb +13 -0
- data/lib/power_stencil/utils/secure_require.rb +26 -0
- data/lib/power_stencil/utils/semantic_version.rb +128 -0
- data/lib/power_stencil/version.rb +3 -0
- data/power_stencil.gemspec +32 -0
- metadata +287 -0
@@ -0,0 +1,59 @@
|
|
1
|
+
Example use cases
|
2
|
+
=================
|
3
|
+
|
4
|
+
<!-- TOC -->
|
5
|
+
|
6
|
+
- [Overview](#overview)
|
7
|
+
- [Managing machines, routers, firewalls...](#managing-machines-routers-firewalls)
|
8
|
+
- [Deploying Snaps, Docker containers, VMs](#deploying-snaps-docker-containers-vms)
|
9
|
+
- [And...](#and)
|
10
|
+
|
11
|
+
<!-- /TOC -->
|
12
|
+
[:back:][Documentation root]
|
13
|
+
|
14
|
+
|
15
|
+
# Overview
|
16
|
+
|
17
|
+
Considering the genericity of the `PowerStencil`, it is a bit difficult to a scope for its usage. It's a bit like saying what you could do with a programming language.
|
18
|
+
|
19
|
+
Neverthless, I will give two short ideas that should open you mind to things you could do with it.
|
20
|
+
|
21
|
+
|
22
|
+
# Managing machines, routers, firewalls...
|
23
|
+
|
24
|
+
If you are in a network, where you manage let's say a DCHP server, a DNS and a firewall, you have probably to deal with a number of config files with a lot of information in common but very different file formats.
|
25
|
+
|
26
|
+
This is exactly where the need of an agnostic data storage and multiple generated config files would be very useful.
|
27
|
+
|
28
|
+
You could define machines, interfaces, networks as [entities] and having [templates] for each of the maintained config files.
|
29
|
+
|
30
|
+
And of course, changes are tracked using Git, providing easy fallback for something as critical as your network config.
|
31
|
+
|
32
|
+
# Deploying Snaps, Docker containers, VMs
|
33
|
+
|
34
|
+
If you manage a containerized infrastructure, you probably noticed how often you need to have the same information duplicated from your application builds, Snaps, Docker containers or VM definitions (names, ports, entry-points...)
|
35
|
+
|
36
|
+
This is where the paradigm of `PowerStencil` will ensure constency across your various deployment units. You can integrate this in your CI/CD infrastructure, avoiding the painful communication with third party database while maintaining traceability.
|
37
|
+
|
38
|
+
|
39
|
+
# And...
|
40
|
+
|
41
|
+
There are many example we could think about, now it's your turn ! [Read the doc], try it and discover what `PowerStencil` can do for you.
|
42
|
+
|
43
|
+
[:back:][Documentation root]
|
44
|
+
<!-- End of Document -->
|
45
|
+
|
46
|
+
<!-- Pages -->
|
47
|
+
[Documentation root]: ../README.md "Back to documentation root"
|
48
|
+
[templates]: templates.md "Templates in PowerStencil"
|
49
|
+
[entities]: entities.md "Entities in PowerStencil"
|
50
|
+
[Read the doc]: ../README.md#getting-started "Get started with PowerStencil"
|
51
|
+
|
52
|
+
|
53
|
+
<!-- Code links -->
|
54
|
+
|
55
|
+
|
56
|
+
<!-- Illustrations -->
|
57
|
+
|
58
|
+
|
59
|
+
<!-- External links -->
|
@@ -0,0 +1,481 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
3
|
+
|
4
|
+
<svg
|
5
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
6
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
7
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
8
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
9
|
+
xmlns="http://www.w3.org/2000/svg"
|
10
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
11
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
12
|
+
width="413.47772mm"
|
13
|
+
height="105.02937mm"
|
14
|
+
viewBox="0 0 413.47773 105.02936"
|
15
|
+
version="1.1"
|
16
|
+
id="svg8"
|
17
|
+
inkscape:version="0.92.3 (2405546, 2018-03-11)"
|
18
|
+
sodipodi:docname="power-stencil-entity-build.svg">
|
19
|
+
<title
|
20
|
+
id="title1457">PowerStencil entity build flow description</title>
|
21
|
+
<defs
|
22
|
+
id="defs2">
|
23
|
+
<marker
|
24
|
+
inkscape:stockid="Arrow2Send"
|
25
|
+
orient="auto"
|
26
|
+
refY="0"
|
27
|
+
refX="0"
|
28
|
+
id="marker2623"
|
29
|
+
style="overflow:visible"
|
30
|
+
inkscape:isstock="true">
|
31
|
+
<path
|
32
|
+
id="path2621"
|
33
|
+
style="fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
34
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
35
|
+
transform="matrix(-0.3,0,0,-0.3,0.69,0)"
|
36
|
+
inkscape:connector-curvature="0" />
|
37
|
+
</marker>
|
38
|
+
<marker
|
39
|
+
inkscape:stockid="Arrow2Send"
|
40
|
+
orient="auto"
|
41
|
+
refY="0"
|
42
|
+
refX="0"
|
43
|
+
id="marker2605"
|
44
|
+
style="overflow:visible"
|
45
|
+
inkscape:isstock="true">
|
46
|
+
<path
|
47
|
+
id="path2603"
|
48
|
+
style="fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
49
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
50
|
+
transform="matrix(-0.3,0,0,-0.3,0.69,0)"
|
51
|
+
inkscape:connector-curvature="0" />
|
52
|
+
</marker>
|
53
|
+
<marker
|
54
|
+
inkscape:isstock="true"
|
55
|
+
style="overflow:visible"
|
56
|
+
id="marker2579"
|
57
|
+
refX="0"
|
58
|
+
refY="0"
|
59
|
+
orient="auto"
|
60
|
+
inkscape:stockid="Arrow2Send"
|
61
|
+
inkscape:collect="always">
|
62
|
+
<path
|
63
|
+
transform="matrix(-0.3,0,0,-0.3,0.69,0)"
|
64
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
65
|
+
style="fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
66
|
+
id="path2577"
|
67
|
+
inkscape:connector-curvature="0" />
|
68
|
+
</marker>
|
69
|
+
<marker
|
70
|
+
inkscape:stockid="Arrow2Send"
|
71
|
+
orient="auto"
|
72
|
+
refY="0"
|
73
|
+
refX="0"
|
74
|
+
id="marker2482"
|
75
|
+
style="overflow:visible"
|
76
|
+
inkscape:isstock="true">
|
77
|
+
<path
|
78
|
+
id="path2480"
|
79
|
+
style="fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
80
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
81
|
+
transform="matrix(-0.3,0,0,-0.3,0.69,0)"
|
82
|
+
inkscape:connector-curvature="0" />
|
83
|
+
</marker>
|
84
|
+
<inkscape:path-effect
|
85
|
+
only_selected="false"
|
86
|
+
apply_with_weight="true"
|
87
|
+
apply_no_weight="true"
|
88
|
+
helper_size="0"
|
89
|
+
steps="2"
|
90
|
+
weight="33.333333"
|
91
|
+
is_visible="true"
|
92
|
+
id="path-effect2478"
|
93
|
+
effect="bspline" />
|
94
|
+
<inkscape:path-effect
|
95
|
+
effect="bspline"
|
96
|
+
id="path-effect2367"
|
97
|
+
is_visible="true"
|
98
|
+
weight="33.333333"
|
99
|
+
steps="2"
|
100
|
+
helper_size="0"
|
101
|
+
apply_no_weight="true"
|
102
|
+
apply_with_weight="true"
|
103
|
+
only_selected="false" />
|
104
|
+
<marker
|
105
|
+
inkscape:stockid="Arrow2Send"
|
106
|
+
orient="auto"
|
107
|
+
refY="0"
|
108
|
+
refX="0"
|
109
|
+
id="Arrow2Send"
|
110
|
+
style="overflow:visible"
|
111
|
+
inkscape:isstock="true"
|
112
|
+
inkscape:collect="always">
|
113
|
+
<path
|
114
|
+
id="path2123"
|
115
|
+
style="fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
116
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
117
|
+
transform="matrix(-0.3,0,0,-0.3,0.69,0)"
|
118
|
+
inkscape:connector-curvature="0" />
|
119
|
+
</marker>
|
120
|
+
<inkscape:path-effect
|
121
|
+
effect="bspline"
|
122
|
+
id="path-effect2088"
|
123
|
+
is_visible="true"
|
124
|
+
weight="33.333333"
|
125
|
+
steps="2"
|
126
|
+
helper_size="0"
|
127
|
+
apply_no_weight="true"
|
128
|
+
apply_with_weight="true"
|
129
|
+
only_selected="false" />
|
130
|
+
<marker
|
131
|
+
inkscape:isstock="true"
|
132
|
+
style="overflow:visible"
|
133
|
+
id="marker1231"
|
134
|
+
refX="0"
|
135
|
+
refY="0"
|
136
|
+
orient="auto"
|
137
|
+
inkscape:stockid="Arrow1Send">
|
138
|
+
<path
|
139
|
+
inkscape:connector-curvature="0"
|
140
|
+
transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
|
141
|
+
style="fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:1.00000003pt;stroke-opacity:1"
|
142
|
+
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
143
|
+
id="path1229" />
|
144
|
+
</marker>
|
145
|
+
<inkscape:path-effect
|
146
|
+
only_selected="false"
|
147
|
+
apply_with_weight="true"
|
148
|
+
apply_no_weight="true"
|
149
|
+
helper_size="0"
|
150
|
+
steps="2"
|
151
|
+
weight="33.333333"
|
152
|
+
is_visible="true"
|
153
|
+
id="path-effect1227"
|
154
|
+
effect="bspline" />
|
155
|
+
<marker
|
156
|
+
inkscape:stockid="Arrow1Lend"
|
157
|
+
orient="auto"
|
158
|
+
refY="0"
|
159
|
+
refX="0"
|
160
|
+
id="Arrow1Lend"
|
161
|
+
style="overflow:visible"
|
162
|
+
inkscape:isstock="true">
|
163
|
+
<path
|
164
|
+
id="path1086"
|
165
|
+
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
166
|
+
style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:1.00000003pt;stroke-opacity:1"
|
167
|
+
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
168
|
+
inkscape:connector-curvature="0" />
|
169
|
+
</marker>
|
170
|
+
<inkscape:path-effect
|
171
|
+
effect="bspline"
|
172
|
+
id="path-effect1081"
|
173
|
+
is_visible="true"
|
174
|
+
weight="33.333333"
|
175
|
+
steps="2"
|
176
|
+
helper_size="0"
|
177
|
+
apply_no_weight="true"
|
178
|
+
apply_with_weight="true"
|
179
|
+
only_selected="false" />
|
180
|
+
<marker
|
181
|
+
inkscape:stockid="Arrow2Send"
|
182
|
+
orient="auto"
|
183
|
+
refY="0"
|
184
|
+
refX="0"
|
185
|
+
id="Arrow2Send-0"
|
186
|
+
style="overflow:visible"
|
187
|
+
inkscape:isstock="true">
|
188
|
+
<path
|
189
|
+
inkscape:connector-curvature="0"
|
190
|
+
id="path2123-7"
|
191
|
+
style="fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
192
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
193
|
+
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
|
194
|
+
</marker>
|
195
|
+
<inkscape:path-effect
|
196
|
+
effect="bspline"
|
197
|
+
id="path-effect2088-0"
|
198
|
+
is_visible="true"
|
199
|
+
weight="33.333333"
|
200
|
+
steps="2"
|
201
|
+
helper_size="0"
|
202
|
+
apply_no_weight="true"
|
203
|
+
apply_with_weight="true"
|
204
|
+
only_selected="false" />
|
205
|
+
<inkscape:path-effect
|
206
|
+
effect="bspline"
|
207
|
+
id="path-effect2088-3"
|
208
|
+
is_visible="true"
|
209
|
+
weight="33.333333"
|
210
|
+
steps="2"
|
211
|
+
helper_size="0"
|
212
|
+
apply_no_weight="true"
|
213
|
+
apply_with_weight="true"
|
214
|
+
only_selected="false" />
|
215
|
+
<marker
|
216
|
+
inkscape:isstock="true"
|
217
|
+
style="overflow:visible"
|
218
|
+
id="marker2579-8"
|
219
|
+
refX="0"
|
220
|
+
refY="0"
|
221
|
+
orient="auto"
|
222
|
+
inkscape:stockid="Arrow2Send">
|
223
|
+
<path
|
224
|
+
inkscape:connector-curvature="0"
|
225
|
+
transform="matrix(-0.3,0,0,-0.3,0.69,0)"
|
226
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
227
|
+
style="fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
228
|
+
id="path2577-3" />
|
229
|
+
</marker>
|
230
|
+
<marker
|
231
|
+
inkscape:isstock="true"
|
232
|
+
style="overflow:visible"
|
233
|
+
id="marker2579-9"
|
234
|
+
refX="0"
|
235
|
+
refY="0"
|
236
|
+
orient="auto"
|
237
|
+
inkscape:stockid="Arrow2Send">
|
238
|
+
<path
|
239
|
+
inkscape:connector-curvature="0"
|
240
|
+
transform="matrix(-0.3,0,0,-0.3,0.69,0)"
|
241
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
242
|
+
style="fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
243
|
+
id="path2577-37" />
|
244
|
+
</marker>
|
245
|
+
</defs>
|
246
|
+
<sodipodi:namedview
|
247
|
+
id="base"
|
248
|
+
pagecolor="#ffffff"
|
249
|
+
bordercolor="#666666"
|
250
|
+
borderopacity="1.0"
|
251
|
+
inkscape:pageopacity="0.0"
|
252
|
+
inkscape:pageshadow="2"
|
253
|
+
inkscape:zoom="0.7"
|
254
|
+
inkscape:cx="778.37399"
|
255
|
+
inkscape:cy="45.427503"
|
256
|
+
inkscape:document-units="mm"
|
257
|
+
inkscape:current-layer="layer1"
|
258
|
+
showgrid="false"
|
259
|
+
inkscape:window-width="1920"
|
260
|
+
inkscape:window-height="1141"
|
261
|
+
inkscape:window-x="0"
|
262
|
+
inkscape:window-y="31"
|
263
|
+
inkscape:window-maximized="1"
|
264
|
+
fit-margin-top="10"
|
265
|
+
fit-margin-left="10"
|
266
|
+
fit-margin-right="10"
|
267
|
+
fit-margin-bottom="10" />
|
268
|
+
<metadata
|
269
|
+
id="metadata5">
|
270
|
+
<rdf:RDF>
|
271
|
+
<cc:Work
|
272
|
+
rdf:about="">
|
273
|
+
<dc:format>image/svg+xml</dc:format>
|
274
|
+
<dc:type
|
275
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
276
|
+
<dc:title>PowerStencil entity build flow description</dc:title>
|
277
|
+
<dc:creator>
|
278
|
+
<cc:Agent>
|
279
|
+
<dc:title>L.Briais</dc:title>
|
280
|
+
</cc:Agent>
|
281
|
+
</dc:creator>
|
282
|
+
</cc:Work>
|
283
|
+
</rdf:RDF>
|
284
|
+
</metadata>
|
285
|
+
<g
|
286
|
+
inkscape:label="Calque 1"
|
287
|
+
inkscape:groupmode="layer"
|
288
|
+
id="layer1"
|
289
|
+
transform="translate(45.205358,-261.86764)">
|
290
|
+
<g
|
291
|
+
id="g2627">
|
292
|
+
<path
|
293
|
+
inkscape:connector-curvature="0"
|
294
|
+
id="path2552"
|
295
|
+
d="M 55.197521,339.7317 H 259.30466"
|
296
|
+
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:1.56184936;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker2579)" />
|
297
|
+
<path
|
298
|
+
inkscape:connector-curvature="0"
|
299
|
+
id="path2581"
|
300
|
+
d="m 159.6764,309.90547 35.65318,29.98132"
|
301
|
+
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:1.56184936;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
302
|
+
</g>
|
303
|
+
<path
|
304
|
+
style="fill:none;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:1.56184936;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Send)"
|
305
|
+
d="m 59.479926,299.28825 c 18.292895,0 36.585559,0 54.877994,0"
|
306
|
+
id="path2086"
|
307
|
+
inkscape:connector-curvature="0"
|
308
|
+
inkscape:path-effect="#path-effect2088"
|
309
|
+
inkscape:original-d="m 59.479926,299.28825 c 18.292895,-2.7e-4 36.585559,-2.7e-4 54.877994,0" />
|
310
|
+
<flowRoot
|
311
|
+
transform="matrix(0.26458333,0,0,0.26458333,-29.067848,94.304276)"
|
312
|
+
style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
313
|
+
id="flowRoot943"
|
314
|
+
xml:space="preserve"><flowRegion
|
315
|
+
id="flowRegion945"><rect
|
316
|
+
y="246.12077"
|
317
|
+
x="47.142857"
|
318
|
+
height="421.42856"
|
319
|
+
width="457.14285"
|
320
|
+
id="rect947" /></flowRegion><flowPara
|
321
|
+
id="flowPara949" /></flowRoot> <g
|
322
|
+
id="g1149"
|
323
|
+
transform="translate(-115.58513,196.24542)">
|
324
|
+
<rect
|
325
|
+
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"
|
326
|
+
id="rect1139"
|
327
|
+
width="87.226822"
|
328
|
+
height="21.836939"
|
329
|
+
x="87.683319"
|
330
|
+
y="132.60976"
|
331
|
+
ry="1.7865629" />
|
332
|
+
<text
|
333
|
+
xml:space="preserve"
|
334
|
+
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"
|
335
|
+
x="93.796112"
|
336
|
+
y="138.95341"
|
337
|
+
id="text1147"><tspan
|
338
|
+
sodipodi:role="line"
|
339
|
+
x="93.796112"
|
340
|
+
y="138.95341"
|
341
|
+
style="stroke-width:0.26458332px"
|
342
|
+
id="tspan1143">templates in project in </tspan><tspan
|
343
|
+
sodipodi:role="line"
|
344
|
+
x="93.796112"
|
345
|
+
y="144.74118"
|
346
|
+
style="stroke-width:0.26458332px"
|
347
|
+
id="tspan1145"><entity_type>/<entity_name></tspan></text>
|
348
|
+
</g>
|
349
|
+
<g
|
350
|
+
id="g892"
|
351
|
+
transform="translate(-100.17379,187.1839)">
|
352
|
+
<rect
|
353
|
+
ry="1.7865629"
|
354
|
+
y="101.99368"
|
355
|
+
x="72.27198"
|
356
|
+
height="21.836939"
|
357
|
+
width="87.226822"
|
358
|
+
id="rect1062-3"
|
359
|
+
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" />
|
360
|
+
<text
|
361
|
+
id="text819-3"
|
362
|
+
y="110.46727"
|
363
|
+
x="115.78365"
|
364
|
+
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"
|
365
|
+
xml:space="preserve"><tspan
|
366
|
+
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"
|
367
|
+
y="110.46727"
|
368
|
+
x="115.78365"
|
369
|
+
sodipodi:role="line"
|
370
|
+
id="tspan951-7">Project Entities</tspan></text>
|
371
|
+
<text
|
372
|
+
xml:space="preserve"
|
373
|
+
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"
|
374
|
+
x="115.86675"
|
375
|
+
y="115.04259"
|
376
|
+
id="text882"><tspan
|
377
|
+
sodipodi:role="line"
|
378
|
+
id="tspan880"
|
379
|
+
x="116.30076"
|
380
|
+
y="115.04259"
|
381
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.72649646px;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">Stored in </tspan><tspan
|
382
|
+
sodipodi:role="line"
|
383
|
+
x="115.86675"
|
384
|
+
y="118.45071"
|
385
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.72649646px;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"
|
386
|
+
id="tspan884">.ps_project/entities/<entity_type>/<entity_name>.yaml</tspan></text>
|
387
|
+
</g>
|
388
|
+
<g
|
389
|
+
id="g2084"
|
390
|
+
transform="translate(0.60980032,-0.75594985)">
|
391
|
+
<rect
|
392
|
+
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"
|
393
|
+
id="rect2028"
|
394
|
+
width="87.226822"
|
395
|
+
height="21.836939"
|
396
|
+
x="116.39943"
|
397
|
+
y="289.93353"
|
398
|
+
ry="1.7865629" />
|
399
|
+
<text
|
400
|
+
xml:space="preserve"
|
401
|
+
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"
|
402
|
+
x="160.00832"
|
403
|
+
y="302.12936"
|
404
|
+
id="text2032"><tspan
|
405
|
+
id="tspan2030"
|
406
|
+
sodipodi:role="line"
|
407
|
+
x="160.00832"
|
408
|
+
y="302.12936"
|
409
|
+
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">Compiled Entities</tspan></text>
|
410
|
+
</g>
|
411
|
+
<rect
|
412
|
+
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.00654888;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4.02619566, 4.02619566;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
413
|
+
id="rect927-9"
|
414
|
+
width="392.47116"
|
415
|
+
height="84.02282"
|
416
|
+
x="-34.702084"
|
417
|
+
y="272.37091"
|
418
|
+
ry="3.5154123" />
|
419
|
+
<text
|
420
|
+
id="text2065"
|
421
|
+
y="295.68277"
|
422
|
+
x="72.44825"
|
423
|
+
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"
|
424
|
+
xml:space="preserve"><tspan
|
425
|
+
id="tspan2063"
|
426
|
+
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"
|
427
|
+
y="295.68277"
|
428
|
+
x="72.44825"
|
429
|
+
sodipodi:role="line">Compilation</tspan></text>
|
430
|
+
<g
|
431
|
+
id="g2550"
|
432
|
+
transform="translate(0,19.838789)">
|
433
|
+
<rect
|
434
|
+
ry="1.7865629"
|
435
|
+
y="309.01639"
|
436
|
+
x="261.92026"
|
437
|
+
height="21.836939"
|
438
|
+
width="87.226822"
|
439
|
+
id="rect2355"
|
440
|
+
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:#546e99;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" />
|
441
|
+
<text
|
442
|
+
id="text2361"
|
443
|
+
y="318.30026"
|
444
|
+
x="305.3822"
|
445
|
+
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:#f2f2f2;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
446
|
+
xml:space="preserve"><tspan
|
447
|
+
id="tspan2359"
|
448
|
+
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;fill:#f2f2f2;stroke-width:0.26458332px"
|
449
|
+
y="318.30026"
|
450
|
+
x="305.3822"
|
451
|
+
sodipodi:role="line">Generated files</tspan><tspan
|
452
|
+
id="tspan2512"
|
453
|
+
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;fill:#f2f2f2;stroke-width:0.26458332px"
|
454
|
+
y="324.08801"
|
455
|
+
x="305.3822"
|
456
|
+
sodipodi:role="line">in build subdirectory</tspan></text>
|
457
|
+
</g>
|
458
|
+
<text
|
459
|
+
id="text2065-0"
|
460
|
+
y="335.89743"
|
461
|
+
x="206.50151"
|
462
|
+
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"
|
463
|
+
xml:space="preserve"><tspan
|
464
|
+
id="tspan2063-1"
|
465
|
+
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"
|
466
|
+
y="335.89743"
|
467
|
+
x="206.50151"
|
468
|
+
sodipodi:role="line">Detemplatization</tspan></text>
|
469
|
+
<text
|
470
|
+
xml:space="preserve"
|
471
|
+
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"
|
472
|
+
x="-28.680702"
|
473
|
+
y="283.18988"
|
474
|
+
id="text1006-9-9"><tspan
|
475
|
+
sodipodi:role="line"
|
476
|
+
x="-28.680702"
|
477
|
+
y="283.18988"
|
478
|
+
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"
|
479
|
+
id="tspan1026-7">Detailled build process</tspan></text>
|
480
|
+
</g>
|
481
|
+
</svg>
|