{wip}
This commit is contained in:
parent
f77e35731c
commit
92747f0913
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,2 @@
|
|||||||
mock
|
mock
|
||||||
|
node_modules
|
||||||
|
@ -207,8 +207,8 @@ func ProcessRabbitMQEvents(listenDefs ListenDefinitions, orgs []string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, org := range orgs {
|
for _, org := range orgs {
|
||||||
for k := range listenDefs.Handlers {
|
for requestType, _ := range listenDefs.Handlers {
|
||||||
topics = append(topics, fmt.Sprintf("%s.src.%s.%s.#", scope, org, k))
|
topics = append(topics, fmt.Sprintf("%s.src.%s.%s.#", scope, org, requestType))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,6 +7,6 @@ fi
|
|||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
go test --run "$1"
|
go test --run "$1"
|
||||||
fsnotifywait -qqr -e close_write .. && clear;
|
inotifywait --exclude 'node_modules' -qqr -e close_write .. && clear;
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -1,759 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
||||||
|
|
||||||
<svg
|
|
||||||
width="640"
|
|
||||||
height="480"
|
|
||||||
viewBox="0 0 169.33333 127"
|
|
||||||
version="1.1"
|
|
||||||
id="svg5"
|
|
||||||
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
|
||||||
sodipodi:docname="project-update.svg"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
|
||||||
<script
|
|
||||||
id="script2">
|
|
||||||
console.log("script")
|
|
||||||
window.addEventListener('load', (event) => {
|
|
||||||
layerNo = 1
|
|
||||||
maxLayer = 1
|
|
||||||
|
|
||||||
updateLayers = () => {
|
|
||||||
for (i=0; i<svg.children.length; i++) {
|
|
||||||
elem = svg.children[i]
|
|
||||||
e = elem.attributes['inkscape:label']
|
|
||||||
|
|
||||||
if(e && e.value == 'Layer' + layerNo) {
|
|
||||||
elem.style = "display: inline;"
|
|
||||||
} else if (e && e.value.startsWith('Layer') && !isNaN(Number(e.value.slice(5)))) {
|
|
||||||
elem.style = "display: none;"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
layerNo = 1 + layerNo % maxLayer;
|
|
||||||
};
|
|
||||||
|
|
||||||
svg = document.getElementById("svg5");
|
|
||||||
for (i=0; i<svg.children.length; i++) {
|
|
||||||
e=svg.children[i].attributes['inkscape:label']
|
|
||||||
if (e && e.value.startsWith('Layer') && !isNaN(Number(e.value.slice(5))) && maxLayer < Number(e.value.slice(5))) {
|
|
||||||
maxLayer = Number(e.value.slice(5))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
updateLayers()
|
|
||||||
setInterval(updateLayers, 2000)
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
<sodipodi:namedview
|
|
||||||
id="namedview7"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#000000"
|
|
||||||
borderopacity="0.25"
|
|
||||||
inkscape:showpageshadow="false"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pagecheckerboard="true"
|
|
||||||
inkscape:deskcolor="#d1d1d1"
|
|
||||||
inkscape:document-units="px"
|
|
||||||
showgrid="false"
|
|
||||||
showborder="false"
|
|
||||||
showguides="true"
|
|
||||||
borderlayer="false"
|
|
||||||
inkscape:zoom="1.1048941"
|
|
||||||
inkscape:cx="556.61444"
|
|
||||||
inkscape:cy="341.20918"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="1055"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="0"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:current-layer="layer2">
|
|
||||||
<inkscape:grid
|
|
||||||
type="xygrid"
|
|
||||||
id="grid12931" />
|
|
||||||
</sodipodi:namedview>
|
|
||||||
<defs
|
|
||||||
id="defs2">
|
|
||||||
<marker
|
|
||||||
style="overflow:visible"
|
|
||||||
id="TriangleStart"
|
|
||||||
refX="0"
|
|
||||||
refY="0"
|
|
||||||
orient="auto-start-reverse"
|
|
||||||
inkscape:stockid="TriangleStart"
|
|
||||||
markerWidth="5.3244081"
|
|
||||||
markerHeight="6.155385"
|
|
||||||
viewBox="0 0 5.3244081 6.1553851"
|
|
||||||
inkscape:isstock="true"
|
|
||||||
inkscape:collect="always"
|
|
||||||
preserveAspectRatio="xMidYMid">
|
|
||||||
<path
|
|
||||||
transform="scale(0.5)"
|
|
||||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
|
||||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
|
||||||
id="path135" />
|
|
||||||
</marker>
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient11538"
|
|
||||||
inkscape:swatch="solid">
|
|
||||||
<stop
|
|
||||||
style="stop-color:#00ff00;stop-opacity:1;"
|
|
||||||
offset="0"
|
|
||||||
id="stop11536" />
|
|
||||||
</linearGradient>
|
|
||||||
</defs>
|
|
||||||
<g
|
|
||||||
inkscape:label="Layer1"
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
id="layer1"
|
|
||||||
style="display:inline"
|
|
||||||
sodipodi:insensitive="true">
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse11542"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="35.026764"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse11544"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="48.632828"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse11546"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="62.238888"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse11548"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="69.041916"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse11550"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="55.435856"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#ff0000;fill-opacity:1;stroke:#971d20;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse11552"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="34.920143"
|
|
||||||
cx="117.90185" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#ff0000;fill-opacity:1;stroke:#971d20;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse11554"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="40.535263"
|
|
||||||
cx="117.90185" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#ff0000;fill-opacity:1;stroke:#971d20;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse11556"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="46.150379"
|
|
||||||
cx="117.90185" />
|
|
||||||
<rect
|
|
||||||
style="fill:#00ff00;stroke:#00a849;stroke-width:0.264583;stroke-opacity:1"
|
|
||||||
id="rect8745"
|
|
||||||
width="41.136299"
|
|
||||||
height="17.88035"
|
|
||||||
x="21.707499"
|
|
||||||
y="12.345296"
|
|
||||||
ry="4.4311748" />
|
|
||||||
<g
|
|
||||||
id="g12938"
|
|
||||||
inkscape:transform-center-x="20.555337"
|
|
||||||
inkscape:transform-center-y="-0.76137238">
|
|
||||||
<rect
|
|
||||||
style="fill:#00ff00;stroke:#00a849;stroke-width:0.264583;stroke-opacity:1"
|
|
||||||
id="rect8747"
|
|
||||||
width="41.136299"
|
|
||||||
height="17.88035"
|
|
||||||
x="21.707499"
|
|
||||||
y="75.344467"
|
|
||||||
ry="4.4311748" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="36.571346"
|
|
||||||
y="85.468292"
|
|
||||||
id="text12313"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan12311"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.291042"
|
|
||||||
x="36.571346"
|
|
||||||
y="85.468292">abc123</tspan></text>
|
|
||||||
</g>
|
|
||||||
<rect
|
|
||||||
style="mix-blend-mode:normal;fill:#ff0000;stroke:#971d20;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
id="rect8563"
|
|
||||||
width="41.136299"
|
|
||||||
height="17.88035"
|
|
||||||
x="97.333694"
|
|
||||||
y="12.358525"
|
|
||||||
ry="4.4311748" />
|
|
||||||
<rect
|
|
||||||
style="fill:#ff0000;stroke:#971d20;stroke-width:0.264583;stroke-opacity:1"
|
|
||||||
id="rect8749"
|
|
||||||
width="41.136299"
|
|
||||||
height="17.88035"
|
|
||||||
x="97.333694"
|
|
||||||
y="50.890579"
|
|
||||||
ry="4.4311748" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse12343"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="41.829796"
|
|
||||||
cx="42.27565" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="34.686447"
|
|
||||||
y="9.218442"
|
|
||||||
id="text12347"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan12345"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.291042"
|
|
||||||
x="34.686447"
|
|
||||||
y="9.218442">Pkg A</tspan></text>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="104.41515"
|
|
||||||
y="9.481307"
|
|
||||||
id="text12351"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan12349"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.291042"
|
|
||||||
x="104.41515"
|
|
||||||
y="9.481307">Project B</tspan></text>
|
|
||||||
<path
|
|
||||||
style="fill:#0000ff;fill-rule:evenodd;stroke:#3744ff;stroke-width:0.614402px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
d="M 100.90122,75.053007 V 100.05301"
|
|
||||||
id="dirlist"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="107.26206"
|
|
||||||
y="78.953926"
|
|
||||||
id="text12521"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan12519"
|
|
||||||
style="stroke-width:0.291042"
|
|
||||||
x="107.26206"
|
|
||||||
y="78.953926">_config</tspan></text>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="107.02952"
|
|
||||||
y="84.456581"
|
|
||||||
id="text12525"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan12523"
|
|
||||||
style="stroke-width:0.291042"
|
|
||||||
x="107.02952"
|
|
||||||
y="84.456581">project.build</tspan></text>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="107.13494"
|
|
||||||
y="90.486328"
|
|
||||||
id="text12529"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan12527"
|
|
||||||
style="stroke-width:0.291042"
|
|
||||||
x="107.13494"
|
|
||||||
y="90.486328">maintainer.info</tspan></text>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="107.02952"
|
|
||||||
y="95.285149"
|
|
||||||
id="text12533"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan12531"
|
|
||||||
style="stroke-width:0.291042"
|
|
||||||
x="107.02952"
|
|
||||||
y="95.285149">pkgA - <tspan
|
|
||||||
style="fill:#2b2fd0;fill-opacity:1;stroke:none;stroke-opacity:1"
|
|
||||||
id="tspan12637">[abc123]</tspan></tspan></text>
|
|
||||||
<path
|
|
||||||
style="display:inline;fill:#808000;fill-rule:evenodd;stroke:#808000;stroke-width:0.559949;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleStart);image-rendering:auto"
|
|
||||||
d="M 104.56693,94.121259 64.939894,85.735877"
|
|
||||||
id="path12705"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
inkscape:label="Layer2"
|
|
||||||
id="g5346"
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
style="display:none"
|
|
||||||
sodipodi:insensitive="true">
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse5284"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="35.026764"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse5286"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="48.632828"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse5288"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="62.238888"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse5290"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="69.041916"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse5292"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="55.435856"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#ff0000;fill-opacity:1;stroke:#971d20;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse5294"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="34.920143"
|
|
||||||
cx="117.90185" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#ff0000;fill-opacity:1;stroke:#971d20;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse5296"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="40.535263"
|
|
||||||
cx="117.90185" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#ff0000;fill-opacity:1;stroke:#971d20;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse5298"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="46.150379"
|
|
||||||
cx="117.90185" />
|
|
||||||
<rect
|
|
||||||
style="fill:#00ff00;stroke:#00a849;stroke-width:0.264583;stroke-opacity:1"
|
|
||||||
id="rect5300"
|
|
||||||
width="41.136299"
|
|
||||||
height="17.88035"
|
|
||||||
x="21.707499"
|
|
||||||
y="12.345296"
|
|
||||||
ry="4.4311748" />
|
|
||||||
<g
|
|
||||||
id="g5308"
|
|
||||||
inkscape:transform-center-x="20.555337"
|
|
||||||
inkscape:transform-center-y="-0.76137238"
|
|
||||||
transform="translate(0,6.879167)">
|
|
||||||
<rect
|
|
||||||
style="fill:#00ff00;stroke:#00a849;stroke-width:0.264583;stroke-opacity:1"
|
|
||||||
id="rect5302"
|
|
||||||
width="41.136299"
|
|
||||||
height="17.88035"
|
|
||||||
x="21.707499"
|
|
||||||
y="75.344467"
|
|
||||||
ry="4.4311748" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="36.571346"
|
|
||||||
y="85.468292"
|
|
||||||
id="text5306"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan5304"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.291042"
|
|
||||||
x="36.571346"
|
|
||||||
y="85.468292">cdefg3</tspan></text>
|
|
||||||
</g>
|
|
||||||
<rect
|
|
||||||
style="mix-blend-mode:normal;fill:#ff0000;stroke:#971d20;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
id="rect5310"
|
|
||||||
width="41.136299"
|
|
||||||
height="17.88035"
|
|
||||||
x="97.333694"
|
|
||||||
y="12.358525"
|
|
||||||
ry="4.4311748" />
|
|
||||||
<rect
|
|
||||||
style="fill:#ff0000;stroke:#971d20;stroke-width:0.264583;stroke-opacity:1"
|
|
||||||
id="rect5312"
|
|
||||||
width="41.136299"
|
|
||||||
height="17.88035"
|
|
||||||
x="97.333694"
|
|
||||||
y="50.890579"
|
|
||||||
ry="4.4311748" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse5314"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="41.829796"
|
|
||||||
cx="42.27565" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="34.686447"
|
|
||||||
y="9.218442"
|
|
||||||
id="text5318"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan5316"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.291042"
|
|
||||||
x="34.686447"
|
|
||||||
y="9.218442">Pkg A</tspan></text>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="104.41515"
|
|
||||||
y="9.481307"
|
|
||||||
id="text5322"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan5320"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.291042"
|
|
||||||
x="104.41515"
|
|
||||||
y="9.481307">Project B</tspan></text>
|
|
||||||
<path
|
|
||||||
style="fill:#0000ff;fill-rule:evenodd;stroke:#3744ff;stroke-width:0.614402px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
d="M 100.90122,75.053007 V 100.05301"
|
|
||||||
id="path5324"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="107.26206"
|
|
||||||
y="78.953926"
|
|
||||||
id="text5328"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan5326"
|
|
||||||
style="stroke-width:0.291042"
|
|
||||||
x="107.26206"
|
|
||||||
y="78.953926">_config</tspan></text>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="107.02952"
|
|
||||||
y="84.456581"
|
|
||||||
id="text5332"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan5330"
|
|
||||||
style="stroke-width:0.291042"
|
|
||||||
x="107.02952"
|
|
||||||
y="84.456581">project.build</tspan></text>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="107.13494"
|
|
||||||
y="90.486328"
|
|
||||||
id="text5336"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan5334"
|
|
||||||
style="stroke-width:0.291042"
|
|
||||||
x="107.13494"
|
|
||||||
y="90.486328">maintainer.info</tspan></text>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="107.02952"
|
|
||||||
y="95.285149"
|
|
||||||
id="text5342"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan5340"
|
|
||||||
style="stroke-width:0.291042"
|
|
||||||
x="107.02952"
|
|
||||||
y="95.285149">pkgA - <tspan
|
|
||||||
style="fill:#2b2fd0;fill-opacity:1;stroke:none;stroke-opacity:1"
|
|
||||||
id="tspan5338">[abc123]</tspan></tspan></text>
|
|
||||||
<path
|
|
||||||
style="display:inline;fill:#808000;fill-rule:evenodd;stroke:#808000;stroke-width:0.559949;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleStart);image-rendering:auto"
|
|
||||||
d="M 104.56693,94.121259 47.038205,76.629952"
|
|
||||||
id="path5344"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse5397"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="75.921089"
|
|
||||||
cx="42.27565" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
inkscape:label="Layer3"
|
|
||||||
id="g374"
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
style="display:none">
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse310"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="35.026764"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse312"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="48.632828"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse314"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="62.238888"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse316"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="69.041916"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse318"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="55.435856"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#ff0000;fill-opacity:1;stroke:#971d20;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse320"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="34.920143"
|
|
||||||
cx="117.90185" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#ff0000;fill-opacity:1;stroke:#971d20;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse322"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="40.535263"
|
|
||||||
cx="117.90185" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#ff0000;fill-opacity:1;stroke:#971d20;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse324"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="46.150379"
|
|
||||||
cx="117.90185" />
|
|
||||||
<rect
|
|
||||||
style="fill:#00ff00;stroke:#00a849;stroke-width:0.264583;stroke-opacity:1"
|
|
||||||
id="rect326"
|
|
||||||
width="41.136299"
|
|
||||||
height="17.88035"
|
|
||||||
x="21.707499"
|
|
||||||
y="12.345296"
|
|
||||||
ry="4.4311748" />
|
|
||||||
<g
|
|
||||||
id="g334"
|
|
||||||
inkscape:transform-center-x="20.555337"
|
|
||||||
inkscape:transform-center-y="-0.76137238"
|
|
||||||
transform="translate(0,6.879167)">
|
|
||||||
<rect
|
|
||||||
style="fill:#00ff00;stroke:#00a849;stroke-width:0.264583;stroke-opacity:1"
|
|
||||||
id="rect328"
|
|
||||||
width="41.136299"
|
|
||||||
height="17.88035"
|
|
||||||
x="21.707499"
|
|
||||||
y="75.344467"
|
|
||||||
ry="4.4311748" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="36.571346"
|
|
||||||
y="85.468292"
|
|
||||||
id="text332"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan330"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.291042"
|
|
||||||
x="36.571346"
|
|
||||||
y="85.468292">cdefg3</tspan></text>
|
|
||||||
</g>
|
|
||||||
<rect
|
|
||||||
style="mix-blend-mode:normal;fill:#ff0000;stroke:#971d20;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
id="rect336"
|
|
||||||
width="41.136299"
|
|
||||||
height="17.88035"
|
|
||||||
x="97.333694"
|
|
||||||
y="12.358525"
|
|
||||||
ry="4.4311748" />
|
|
||||||
<rect
|
|
||||||
style="fill:#ff0000;stroke:#971d20;stroke-width:0.264583;stroke-opacity:1"
|
|
||||||
id="rect338"
|
|
||||||
width="41.136299"
|
|
||||||
height="17.88035"
|
|
||||||
x="97.333694"
|
|
||||||
y="56.182251"
|
|
||||||
ry="4.4311748" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse340"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="41.829796"
|
|
||||||
cx="42.27565" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="34.686447"
|
|
||||||
y="9.218442"
|
|
||||||
id="text344"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan342"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.291042"
|
|
||||||
x="34.686447"
|
|
||||||
y="9.218442">Pkg A</tspan></text>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="104.41515"
|
|
||||||
y="9.481307"
|
|
||||||
id="text348"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan346"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.291042"
|
|
||||||
x="104.41515"
|
|
||||||
y="9.481307">Project B</tspan></text>
|
|
||||||
<path
|
|
||||||
style="fill:#0000ff;fill-rule:evenodd;stroke:#3744ff;stroke-width:0.614402px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
d="M 100.90122,80.344677 V 105.34471"
|
|
||||||
id="path350"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="107.26206"
|
|
||||||
y="84.245598"
|
|
||||||
id="text354"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan352"
|
|
||||||
style="stroke-width:0.291042"
|
|
||||||
x="107.26206"
|
|
||||||
y="84.245598">_config</tspan></text>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="107.02952"
|
|
||||||
y="89.748253"
|
|
||||||
id="text358"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan356"
|
|
||||||
style="stroke-width:0.291042"
|
|
||||||
x="107.02952"
|
|
||||||
y="89.748253">project.build</tspan></text>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="107.13494"
|
|
||||||
y="95.778"
|
|
||||||
id="text362"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan360"
|
|
||||||
style="stroke-width:0.291042"
|
|
||||||
x="107.13494"
|
|
||||||
y="95.778">maintainer.info</tspan></text>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="107.02952"
|
|
||||||
y="100.57679"
|
|
||||||
id="text368"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan366"
|
|
||||||
style="stroke-width:0.291042"
|
|
||||||
x="107.02952"
|
|
||||||
y="100.57679">pkgA - <tspan
|
|
||||||
style="fill:#2b2fd0;fill-opacity:1;stroke:none;stroke-opacity:1"
|
|
||||||
id="tspan364">[cdefg3]</tspan></tspan></text>
|
|
||||||
<path
|
|
||||||
style="display:inline;fill:#808000;fill-rule:evenodd;stroke:#808000;stroke-width:0.559949;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleStart);image-rendering:auto"
|
|
||||||
d="M 104.48033,99.805101 65.564009,92.387895"
|
|
||||||
id="path370"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse372"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="75.921089"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#ff0000;fill-opacity:1;stroke:#971d20;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse583"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="51.442051"
|
|
||||||
cx="117.90185" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
id="layer2"
|
|
||||||
inkscape:label="Layer4"
|
|
||||||
style="display:none" />
|
|
||||||
<metadata
|
|
||||||
id="metadata8476">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:License
|
|
||||||
rdf:about="http://creativecommons.org/licenses/by/4.0/">
|
|
||||||
<cc:permits
|
|
||||||
rdf:resource="http://creativecommons.org/ns#Reproduction" />
|
|
||||||
<cc:permits
|
|
||||||
rdf:resource="http://creativecommons.org/ns#Distribution" />
|
|
||||||
<cc:requires
|
|
||||||
rdf:resource="http://creativecommons.org/ns#Notice" />
|
|
||||||
<cc:requires
|
|
||||||
rdf:resource="http://creativecommons.org/ns#Attribution" />
|
|
||||||
<cc:permits
|
|
||||||
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
|
|
||||||
</cc:License>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<cc:license
|
|
||||||
rdf:resource="http://creativecommons.org/licenses/by/4.0/" />
|
|
||||||
<dc:creator>
|
|
||||||
<cc:Agent>
|
|
||||||
<dc:title>Adam Majer</dc:title>
|
|
||||||
</cc:Agent>
|
|
||||||
</dc:creator>
|
|
||||||
<dc:date>2024-08-18</dc:date>
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 36 KiB |
301
doc/project.svg
301
doc/project.svg
@ -1,301 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
||||||
|
|
||||||
<svg
|
|
||||||
width="640"
|
|
||||||
height="480"
|
|
||||||
viewBox="0 0 169.33333 127"
|
|
||||||
version="1.1"
|
|
||||||
id="svg4"
|
|
||||||
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
|
||||||
sodipodi:docname="project.svg"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
|
||||||
<sodipodi:namedview
|
|
||||||
id="namedview7"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#000000"
|
|
||||||
borderopacity="0.25"
|
|
||||||
inkscape:showpageshadow="false"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pagecheckerboard="true"
|
|
||||||
inkscape:deskcolor="#d1d1d1"
|
|
||||||
inkscape:document-units="px"
|
|
||||||
showgrid="false"
|
|
||||||
showborder="false"
|
|
||||||
showguides="true"
|
|
||||||
borderlayer="false"
|
|
||||||
inkscape:zoom="2.2097881"
|
|
||||||
inkscape:cx="491.6761"
|
|
||||||
inkscape:cy="268.80405"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="1055"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="0"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:current-layer="layer1">
|
|
||||||
<inkscape:grid
|
|
||||||
type="xygrid"
|
|
||||||
id="grid12931" />
|
|
||||||
</sodipodi:namedview>
|
|
||||||
<defs
|
|
||||||
id="defs2">
|
|
||||||
<marker
|
|
||||||
style="overflow:visible"
|
|
||||||
id="TriangleStart"
|
|
||||||
refX="0"
|
|
||||||
refY="0"
|
|
||||||
orient="auto-start-reverse"
|
|
||||||
inkscape:stockid="TriangleStart"
|
|
||||||
markerWidth="5.3244081"
|
|
||||||
markerHeight="6.155385"
|
|
||||||
viewBox="0 0 5.3244081 6.1553851"
|
|
||||||
inkscape:isstock="true"
|
|
||||||
inkscape:collect="always"
|
|
||||||
preserveAspectRatio="xMidYMid">
|
|
||||||
<path
|
|
||||||
transform="scale(0.5)"
|
|
||||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
|
||||||
d="M 5.77,0 -2.88,5 V -5 Z"
|
|
||||||
id="path135" />
|
|
||||||
</marker>
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient11538"
|
|
||||||
inkscape:swatch="solid">
|
|
||||||
<stop
|
|
||||||
style="stop-color:#00ff00;stop-opacity:1;"
|
|
||||||
offset="0"
|
|
||||||
id="stop11536" />
|
|
||||||
</linearGradient>
|
|
||||||
</defs>
|
|
||||||
<g
|
|
||||||
inkscape:label="Layer 1"
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
id="layer1">
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse11542"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="35.026764"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse11544"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="48.632828"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse11546"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="62.238888"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse11548"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="69.041916"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse11550"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="55.435856"
|
|
||||||
cx="42.27565" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#ff0000;fill-opacity:1;stroke:#971d20;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse11552"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="34.920143"
|
|
||||||
cx="117.90185" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#ff0000;fill-opacity:1;stroke:#971d20;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse11554"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="40.535263"
|
|
||||||
cx="117.90185" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#ff0000;fill-opacity:1;stroke:#971d20;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse11556"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="46.150379"
|
|
||||||
cx="117.90185" />
|
|
||||||
<rect
|
|
||||||
style="fill:#00ff00;stroke:#00a849;stroke-width:0.264583;stroke-opacity:1"
|
|
||||||
id="rect8745"
|
|
||||||
width="41.136299"
|
|
||||||
height="17.88035"
|
|
||||||
x="21.707499"
|
|
||||||
y="12.345296"
|
|
||||||
ry="4.4311748" />
|
|
||||||
<g
|
|
||||||
id="g12938"
|
|
||||||
inkscape:transform-center-x="20.555337"
|
|
||||||
inkscape:transform-center-y="-0.76137238">
|
|
||||||
<rect
|
|
||||||
style="fill:#00ff00;stroke:#00a849;stroke-width:0.264583;stroke-opacity:1"
|
|
||||||
id="rect8747"
|
|
||||||
width="41.136299"
|
|
||||||
height="17.88035"
|
|
||||||
x="21.707499"
|
|
||||||
y="75.344467"
|
|
||||||
ry="4.4311748" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="36.571346"
|
|
||||||
y="85.468292"
|
|
||||||
id="text12313"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan12311"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.291042"
|
|
||||||
x="36.571346"
|
|
||||||
y="85.468292">abc123</tspan></text>
|
|
||||||
</g>
|
|
||||||
<rect
|
|
||||||
style="mix-blend-mode:normal;fill:#ff0000;stroke:#971d20;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
id="rect8563"
|
|
||||||
width="41.136299"
|
|
||||||
height="17.88035"
|
|
||||||
x="97.333694"
|
|
||||||
y="12.358525"
|
|
||||||
ry="4.4311748" />
|
|
||||||
<rect
|
|
||||||
style="fill:#ff0000;stroke:#971d20;stroke-width:0.264583;stroke-opacity:1"
|
|
||||||
id="rect8749"
|
|
||||||
width="41.136299"
|
|
||||||
height="17.88035"
|
|
||||||
x="97.333694"
|
|
||||||
y="50.890579"
|
|
||||||
ry="4.4311748" />
|
|
||||||
<ellipse
|
|
||||||
style="fill:#00ff00;fill-opacity:1;stroke:#00a849;stroke-width:0.343958;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
|
||||||
id="ellipse12343"
|
|
||||||
ry="1.6656893"
|
|
||||||
rx="1.6767484"
|
|
||||||
cy="41.829796"
|
|
||||||
cx="42.27565" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="34.686447"
|
|
||||||
y="9.218442"
|
|
||||||
id="text12347"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan12345"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.291042"
|
|
||||||
x="34.686447"
|
|
||||||
y="9.218442">Pkg A</tspan></text>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="104.41515"
|
|
||||||
y="9.481307"
|
|
||||||
id="text12351"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan12349"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.93889px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.291042"
|
|
||||||
x="104.41515"
|
|
||||||
y="9.481307">Project B</tspan></text>
|
|
||||||
<path
|
|
||||||
style="fill:#0000ff;fill-rule:evenodd;stroke:#3744ff;stroke-width:0.614402px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
d="M 100.90122,75.053007 V 100.05301"
|
|
||||||
id="dirlist"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="107.26206"
|
|
||||||
y="78.953926"
|
|
||||||
id="text12521"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan12519"
|
|
||||||
style="stroke-width:0.291042"
|
|
||||||
x="107.26206"
|
|
||||||
y="78.953926">_config</tspan></text>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="107.02952"
|
|
||||||
y="84.456581"
|
|
||||||
id="text12525"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan12523"
|
|
||||||
style="stroke-width:0.291042"
|
|
||||||
x="107.02952"
|
|
||||||
y="84.456581">project.build</tspan></text>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="107.13494"
|
|
||||||
y="90.486328"
|
|
||||||
id="text12529"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan12527"
|
|
||||||
style="stroke-width:0.291042"
|
|
||||||
x="107.13494"
|
|
||||||
y="90.486328">maintainer.info</tspan></text>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.175px;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.291042;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
x="107.02952"
|
|
||||||
y="95.285149"
|
|
||||||
id="text12533"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan12531"
|
|
||||||
style="stroke-width:0.291042"
|
|
||||||
x="107.02952"
|
|
||||||
y="95.285149">pkgA - <tspan
|
|
||||||
style="fill:#2b2fd0;fill-opacity:1;stroke:none;stroke-opacity:1"
|
|
||||||
id="tspan12637">[abc123]</tspan></tspan></text>
|
|
||||||
<path
|
|
||||||
style="display:inline;fill:#808000;fill-rule:evenodd;stroke:#808000;stroke-width:0.559949;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleStart);image-rendering:auto"
|
|
||||||
d="M 104.56693,94.121259 64.939894,85.735877"
|
|
||||||
id="path12705"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
</g>
|
|
||||||
<metadata
|
|
||||||
id="metadata8476">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:License
|
|
||||||
rdf:about="http://creativecommons.org/licenses/by/4.0/">
|
|
||||||
<cc:permits
|
|
||||||
rdf:resource="http://creativecommons.org/ns#Reproduction" />
|
|
||||||
<cc:permits
|
|
||||||
rdf:resource="http://creativecommons.org/ns#Distribution" />
|
|
||||||
<cc:requires
|
|
||||||
rdf:resource="http://creativecommons.org/ns#Notice" />
|
|
||||||
<cc:requires
|
|
||||||
rdf:resource="http://creativecommons.org/ns#Attribution" />
|
|
||||||
<cc:permits
|
|
||||||
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
|
|
||||||
</cc:License>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<cc:license
|
|
||||||
rdf:resource="http://creativecommons.org/licenses/by/4.0/" />
|
|
||||||
<dc:creator>
|
|
||||||
<cc:Agent>
|
|
||||||
<dc:title>Adam Majer</dc:title>
|
|
||||||
</cc:Agent>
|
|
||||||
</dc:creator>
|
|
||||||
<dc:date>2024-08-18</dc:date>
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 13 KiB |
@ -108,6 +108,8 @@ func main() {
|
|||||||
req.Closed = &PullRequestClosed{
|
req.Closed = &PullRequestClosed{
|
||||||
gitea: gitea,
|
gitea: gitea,
|
||||||
}
|
}
|
||||||
|
req.Review = &PullRequestReviewed{
|
||||||
|
}
|
||||||
|
|
||||||
checker := CreateDefaultStateChecker(*checkOnStart, req, gitea, time.Duration(*checkIntervalHours)*time.Hour)
|
checker := CreateDefaultStateChecker(*checkOnStart, req, gitea, time.Duration(*checkIntervalHours)*time.Hour)
|
||||||
go checker.ConsistencyCheckProcess()
|
go checker.ConsistencyCheckProcess()
|
||||||
@ -120,6 +122,8 @@ func main() {
|
|||||||
defs.Handlers = make(map[string]common.RequestProcessor)
|
defs.Handlers = make(map[string]common.RequestProcessor)
|
||||||
defs.Handlers[common.RequestType_PR] = req
|
defs.Handlers[common.RequestType_PR] = req
|
||||||
defs.Handlers[common.RequestType_PRSync] = req
|
defs.Handlers[common.RequestType_PRSync] = req
|
||||||
|
defs.Handlers[common.RequestType_PRReviewAccepted] = req
|
||||||
|
defs.Handlers[common.RequestType_PRReviewRejected] = req
|
||||||
|
|
||||||
log.Fatal(common.ProcessRabbitMQEvents(defs, orgs))
|
log.Fatal(common.ProcessRabbitMQEvents(defs, orgs))
|
||||||
}
|
}
|
||||||
|
@ -146,7 +146,7 @@ func TestUpdatePrBranch(t *testing.T) {
|
|||||||
req.Pull_Request.Base.Sha = strings.TrimSpace(revs[1])
|
req.Pull_Request.Base.Sha = strings.TrimSpace(revs[1])
|
||||||
req.Pull_Request.Head.Sha = strings.TrimSpace(revs[0])
|
req.Pull_Request.Head.Sha = strings.TrimSpace(revs[0])
|
||||||
|
|
||||||
updateSubmoduleToPR(req, git)
|
updateSubmoduleInPR(req, git)
|
||||||
common.PanicOnError(git.GitExec(common.DefaultGitPrj, "commit", "-a", "-m", "created commit"))
|
common.PanicOnError(git.GitExec(common.DefaultGitPrj, "commit", "-a", "-m", "created commit"))
|
||||||
common.PanicOnError(git.GitExec(common.DefaultGitPrj, "push", "origin", "+HEAD:+testing"))
|
common.PanicOnError(git.GitExec(common.DefaultGitPrj, "push", "origin", "+HEAD:+testing"))
|
||||||
git.GitExecOrPanic("prj", "reset", "--hard", "testing")
|
git.GitExecOrPanic("prj", "reset", "--hard", "testing")
|
||||||
@ -184,7 +184,7 @@ func TestCreatePrBranch(t *testing.T) {
|
|||||||
req.Pull_Request.Base.Sha = strings.TrimSpace(revs[1])
|
req.Pull_Request.Base.Sha = strings.TrimSpace(revs[1])
|
||||||
req.Pull_Request.Head.Sha = strings.TrimSpace(revs[0])
|
req.Pull_Request.Head.Sha = strings.TrimSpace(revs[0])
|
||||||
|
|
||||||
updateSubmoduleToPR(req, git)
|
updateSubmoduleInPR(req, git)
|
||||||
common.PanicOnError(git.GitExec(common.DefaultGitPrj, "commit", "-a", "-m", "created commit"))
|
common.PanicOnError(git.GitExec(common.DefaultGitPrj, "commit", "-a", "-m", "created commit"))
|
||||||
common.PanicOnError(git.GitExec(common.DefaultGitPrj, "push", "origin", "+HEAD:testingCreated"))
|
common.PanicOnError(git.GitExec(common.DefaultGitPrj, "push", "origin", "+HEAD:testingCreated"))
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ type PullRequestProcessor interface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type RequestProcessor struct {
|
type RequestProcessor struct {
|
||||||
Opened, Synced, Closed PullRequestProcessor
|
Opened, Synced, Closed, Review PullRequestProcessor
|
||||||
|
|
||||||
configuredRepos map[string][]*common.AutogitConfig
|
configuredRepos map[string][]*common.AutogitConfig
|
||||||
git common.GitHandlerGenerator
|
git common.GitHandlerGenerator
|
||||||
@ -59,6 +59,8 @@ func (w *RequestProcessor) ProcessFunc(request *common.Request) error {
|
|||||||
return nil
|
return nil
|
||||||
case "closed":
|
case "closed":
|
||||||
return w.Closed.Process(req, git, config)
|
return w.Closed.Process(req, git, config)
|
||||||
|
case "reviewed":
|
||||||
|
return w.Review.Process(req, git, config)
|
||||||
}
|
}
|
||||||
|
|
||||||
return fmt.Errorf("Unhandled pull request action: %s", req.Action)
|
return fmt.Errorf("Unhandled pull request action: %s", req.Action)
|
||||||
|
@ -47,7 +47,7 @@ referencing
|
|||||||
common.PanicOnError(err)
|
common.PanicOnError(err)
|
||||||
|
|
||||||
if id := subList[req.Repository.Name]; id != req.Pull_Request.Head.Sha {
|
if id := subList[req.Repository.Name]; id != req.Pull_Request.Head.Sha {
|
||||||
updateSubmoduleToPR(req, git)
|
updateSubmoduleInPR(req, git)
|
||||||
common.PanicOnError(git.GitExec(common.DefaultGitPrj, "commit", "-a", "-m", commitMsg))
|
common.PanicOnError(git.GitExec(common.DefaultGitPrj, "commit", "-a", "-m", commitMsg))
|
||||||
common.PanicOnError(git.GitExec(common.DefaultGitPrj, "push", "origin", "+HEAD:"+branchName))
|
common.PanicOnError(git.GitExec(common.DefaultGitPrj, "push", "origin", "+HEAD:"+branchName))
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@ func prGitBranchNameForPR(req *common.PullRequestWebhookEvent) string {
|
|||||||
return fmt.Sprintf("PR_%s#%d", req.Repository.Name, req.Pull_Request.Number)
|
return fmt.Sprintf("PR_%s#%d", req.Repository.Name, req.Pull_Request.Number)
|
||||||
}
|
}
|
||||||
|
|
||||||
func updateSubmoduleToPR(req *common.PullRequestWebhookEvent, git common.Git) {
|
func updateSubmoduleInPR(req *common.PullRequestWebhookEvent, git common.Git) {
|
||||||
common.PanicOnError(git.GitExec(common.DefaultGitPrj, "submodule", "update", "--init", "--checkout", "--depth", "1", req.Repository.Name))
|
common.PanicOnError(git.GitExec(common.DefaultGitPrj, "submodule", "update", "--init", "--checkout", "--depth", "1", req.Repository.Name))
|
||||||
common.PanicOnError(git.GitExec(path.Join(common.DefaultGitPrj, req.Repository.Name), "fetch", "--depth", "1", "origin", req.Pull_Request.Head.Sha))
|
common.PanicOnError(git.GitExec(path.Join(common.DefaultGitPrj, req.Repository.Name), "fetch", "--depth", "1", "origin", req.Pull_Request.Head.Sha))
|
||||||
common.PanicOnError(git.GitExec(path.Join(common.DefaultGitPrj, req.Repository.Name), "checkout", req.Pull_Request.Head.Sha))
|
common.PanicOnError(git.GitExec(path.Join(common.DefaultGitPrj, req.Repository.Name), "checkout", req.Pull_Request.Head.Sha))
|
||||||
@ -76,7 +76,7 @@ Update to %s`, req.Pull_Request.Head.Sha)
|
|||||||
|
|
||||||
// we need to update prjgit PR with the new head hash
|
// we need to update prjgit PR with the new head hash
|
||||||
branchName := prGitBranchNameForPR(req)
|
branchName := prGitBranchNameForPR(req)
|
||||||
updateSubmoduleToPR(req, git)
|
updateSubmoduleInPR(req, git)
|
||||||
common.PanicOnError(git.GitExec(common.DefaultGitPrj, "commit", "-a", "-m", commitMsg))
|
common.PanicOnError(git.GitExec(common.DefaultGitPrj, "commit", "-a", "-m", commitMsg))
|
||||||
common.PanicOnError(git.GitExec(common.DefaultGitPrj, "push", "origin", "+HEAD:"+branchName))
|
common.PanicOnError(git.GitExec(common.DefaultGitPrj, "push", "origin", "+HEAD:"+branchName))
|
||||||
return nil
|
return nil
|
||||||
|
@ -14,6 +14,48 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestPRProcessor(t *testing.T) {
|
func TestPRProcessor(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
title string
|
||||||
|
action string
|
||||||
|
req func(req *RequestProcessor, mock PullRequestProcessor)
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
title: "Open routine called for PR opening",
|
||||||
|
action: "opened",
|
||||||
|
req: func(req *RequestProcessor, mock PullRequestProcessor) {
|
||||||
|
req.Opened = mock
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Re-Open routine called for PR reopening",
|
||||||
|
action: "reopened",
|
||||||
|
req: func(req *RequestProcessor, mock PullRequestProcessor) {
|
||||||
|
req.Opened = mock
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Sync routine called for PR sync requests",
|
||||||
|
action: "synchronized",
|
||||||
|
req: func(req *RequestProcessor, mock PullRequestProcessor) {
|
||||||
|
req.Synced = mock
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Close routine called for PR closing",
|
||||||
|
action: "closed",
|
||||||
|
req: func(req *RequestProcessor, mock PullRequestProcessor) {
|
||||||
|
req.Closed = mock
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Close routine called for PR closing",
|
||||||
|
action: "reviewed",
|
||||||
|
req: func(req *RequestProcessor, mock PullRequestProcessor) {
|
||||||
|
req.Review = mock
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
var logBuf bytes.Buffer
|
var logBuf bytes.Buffer
|
||||||
oldOut := log.Writer()
|
oldOut := log.Writer()
|
||||||
log.SetOutput(&logBuf)
|
log.SetOutput(&logBuf)
|
||||||
@ -26,11 +68,6 @@ func TestPRProcessor(t *testing.T) {
|
|||||||
Branch: "branch",
|
Branch: "branch",
|
||||||
}
|
}
|
||||||
|
|
||||||
req := &RequestProcessor{
|
|
||||||
configuredRepos: testConfiguration,
|
|
||||||
git: &common.GitHandlerGeneratorImpl{},
|
|
||||||
}
|
|
||||||
|
|
||||||
event := &common.PullRequestWebhookEvent{
|
event := &common.PullRequestWebhookEvent{
|
||||||
// Action: "opened",
|
// Action: "opened",
|
||||||
Number: 1,
|
Number: 1,
|
||||||
@ -56,77 +93,35 @@ func TestPRProcessor(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
t.Run("Open routine called for PR opening", func(t *testing.T) {
|
for _, test := range tests {
|
||||||
ctl := gomock.NewController(t)
|
t.Run(test.title, func(t *testing.T) {
|
||||||
openedMock := mock_main.NewMockPullRequestProcessor(ctl)
|
ctl := gomock.NewController(t)
|
||||||
openedMock.EXPECT().Process(event, gomock.Any(), testConfiguration["test"][0]).Return(nil)
|
mock := mock_main.NewMockPullRequestProcessor(ctl)
|
||||||
|
mock.EXPECT().Process(event, gomock.Any(), testConfiguration["test"][0]).Return(nil)
|
||||||
|
|
||||||
req.Opened = openedMock
|
req := &RequestProcessor{
|
||||||
event.Action = "opened"
|
configuredRepos: testConfiguration,
|
||||||
|
git: &common.GitHandlerGeneratorImpl{},
|
||||||
|
}
|
||||||
|
test.req(req, mock)
|
||||||
|
|
||||||
err := req.ProcessFunc(&common.Request{
|
event.Action = test.action
|
||||||
Data: event,
|
|
||||||
|
err := req.ProcessFunc(&common.Request{
|
||||||
|
Data: event,
|
||||||
|
})
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
t.Error("Error processing open PR:", err)
|
||||||
|
t.Error(logBuf.String())
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
if err != nil {
|
req := &RequestProcessor{
|
||||||
t.Error("Error processing open PR:", err)
|
configuredRepos: testConfiguration,
|
||||||
t.Error(logBuf.String())
|
git: &common.GitHandlerGeneratorImpl{},
|
||||||
}
|
}
|
||||||
})
|
|
||||||
|
|
||||||
t.Run("Re-Open routine called for PR reopening", func(t *testing.T) {
|
|
||||||
ctl := gomock.NewController(t)
|
|
||||||
openedMock := mock_main.NewMockPullRequestProcessor(ctl)
|
|
||||||
openedMock.EXPECT().Process(event, gomock.Any(), testConfiguration["test"][0]).Return(nil)
|
|
||||||
|
|
||||||
req.Opened = openedMock
|
|
||||||
event.Action = "reopened"
|
|
||||||
|
|
||||||
err := req.ProcessFunc(&common.Request{
|
|
||||||
Data: event,
|
|
||||||
})
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
t.Error("Error processing open PR:", err)
|
|
||||||
t.Error(logBuf.String())
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
t.Run("Sync routine called for PR sync requests", func(t *testing.T) {
|
|
||||||
ctl := gomock.NewController(t)
|
|
||||||
syncMock := mock_main.NewMockPullRequestProcessor(ctl)
|
|
||||||
syncMock.EXPECT().Process(event, gomock.Any(), testConfiguration["test"][0]).Return(nil)
|
|
||||||
|
|
||||||
req.Synced = syncMock
|
|
||||||
event.Action = "synchronized"
|
|
||||||
|
|
||||||
err := req.ProcessFunc(&common.Request{
|
|
||||||
Data: event,
|
|
||||||
})
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
t.Error("Error processing sync PR:", err)
|
|
||||||
t.Error(logBuf.String())
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
t.Run("Close routine called for PR closing", func(t *testing.T) {
|
|
||||||
ctl := gomock.NewController(t)
|
|
||||||
closedMock := mock_main.NewMockPullRequestProcessor(ctl)
|
|
||||||
closedMock.EXPECT().Process(event, gomock.Any(), testConfiguration["test"][0]).Return(nil)
|
|
||||||
|
|
||||||
req.Closed = closedMock
|
|
||||||
event.Action = "closed"
|
|
||||||
|
|
||||||
err := req.ProcessFunc(&common.Request{
|
|
||||||
Data: event,
|
|
||||||
})
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
t.Error("Error processing close PR:", err)
|
|
||||||
t.Error(logBuf.String())
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
t.Run("Edit PR handling", func(t *testing.T) {
|
t.Run("Edit PR handling", func(t *testing.T) {
|
||||||
/* ctl := gomock.NewController(t)
|
/* ctl := gomock.NewController(t)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user