diff options
-rw-r--r-- | WORKSPACE | 7 | ||||
-rw-r--r-- | scripts/docs/BUILD | 2 | ||||
-rw-r--r-- | scripts/docs/generate_dot_graphs.py | 6 | ||||
-rw-r--r-- | site/versions/master/docs/build-ref.html | 239 | ||||
-rw-r--r-- | site/versions/master/docs/query.html | 572 | ||||
-rw-r--r-- | tools/build_defs/pkg/apt_get.bzl | 41 |
6 files changed, 686 insertions, 181 deletions
@@ -64,10 +64,3 @@ new_local_repository( path = "./third_party/protobuf/3.0.0/", build_file = "./third_party/protobuf/3.0.0/com_google_protobuf_java.BUILD", ) - -load('//tools/build_defs/pkg:apt_get.bzl', 'apt_get') - -apt_get( - name = "graphviz", - exports_files = ["usr/bin/dot"], -) diff --git a/scripts/docs/BUILD b/scripts/docs/BUILD index a285669daf..53452e22e0 100644 --- a/scripts/docs/BUILD +++ b/scripts/docs/BUILD @@ -12,8 +12,6 @@ py_library( py_binary( name = "generate_dot_graphs", srcs = ["generate_dot_graphs.py"], - data = ["@graphviz//:usr/bin/dot"], - tags = ["manual"], visibility = ["//site:__pkg__"], deps = [":dot-converter"], ) diff --git a/scripts/docs/generate_dot_graphs.py b/scripts/docs/generate_dot_graphs.py index 79e9c4a611..306d5e12b0 100644 --- a/scripts/docs/generate_dot_graphs.py +++ b/scripts/docs/generate_dot_graphs.py @@ -18,8 +18,6 @@ import os from scripts.docs.dot_converter import DotConverter -if __name__ == '__main__': - converter = DotConverter( - ['%s/external/graphviz/usr/bin/dot' % os.environ['PWD'], '-Tsvg'], - os.environ.copy()) +if __name__ == "__main__": + converter = DotConverter(["dot", "-Tsvg"], os.environ.copy()) converter.convert() diff --git a/site/versions/master/docs/build-ref.html b/site/versions/master/docs/build-ref.html index 96521c09e5..b90ac48439 100644 --- a/site/versions/master/docs/build-ref.html +++ b/site/versions/master/docs/build-ref.html @@ -99,19 +99,115 @@ src/my/app/tests/test.cc </p> <div style='margin:auto; text-align: center'> -<div class='graphviz dot'><!-- -digraph G1 { - node [shape=ellipse]; - Target -> Rule; - Rule -> cc_library - Rule -> java_test - Rule -> "..." - Target -> File; - File -> Source; - File -> Generated; - Target -> "Package group" -} ---></div> +<svg width="582pt" height="188pt" + viewBox="0.00 0.00 581.89 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 184)"> +<title>G1</title> +<polygon fill="white" stroke="transparent" points="-4,4 -4,-184 577.888,-184 577.888,4 -4,4"/> +<!-- Target --> +<g id="node1" class="node"> +<title>Target</title> +<ellipse fill="none" stroke="black" cx="376.795" cy="-162" rx="40.0939" ry="18"/> +<text text-anchor="middle" x="376.795" y="-158.3" font-family="arial" font-size="14.00">Target</text> +</g> +<!-- Rule --> +<g id="node2" class="node"> +<title>Rule</title> +<ellipse fill="none" stroke="black" cx="241.795" cy="-90" rx="30.5947" ry="18"/> +<text text-anchor="middle" x="241.795" y="-86.3" font-family="arial" font-size="14.00">Rule</text> +</g> +<!-- Target->Rule --> +<g id="edge1" class="edge"> +<title>Target->Rule</title> +<path fill="none" stroke="black" d="M351.402,-147.834C329.151,-136.296 296.735,-119.487 272.926,-107.142"/> +<polygon fill="black" stroke="black" points="274.432,-103.98 263.943,-102.484 271.21,-110.195 274.432,-103.98"/> +</g> +<!-- File --> +<g id="node6" class="node"> +<title>File</title> +<ellipse fill="none" stroke="black" cx="376.795" cy="-90" rx="30.5947" ry="18"/> +<text text-anchor="middle" x="376.795" y="-86.3" font-family="arial" font-size="14.00">File</text> +</g> +<!-- Target->File --> +<g id="edge5" class="edge"> +<title>Target->File</title> +<path fill="none" stroke="black" d="M376.795,-143.697C376.795,-135.983 376.795,-126.712 376.795,-118.112"/> +<polygon fill="black" stroke="black" points="380.295,-118.104 376.795,-108.104 373.295,-118.104 380.295,-118.104"/> +</g> +<!-- Package group --> +<g id="node9" class="node"> +<title>Package group</title> +<ellipse fill="none" stroke="black" cx="499.795" cy="-90" rx="74.187" ry="18"/> +<text text-anchor="middle" x="499.795" y="-86.3" font-family="arial" font-size="14.00">Package group</text> +</g> +<!-- Target->Package group --> +<g id="edge8" class="edge"> +<title>Target->Package group</title> +<path fill="none" stroke="black" d="M400.802,-147.337C418.506,-137.262 442.911,-123.373 463.059,-111.906"/> +<polygon fill="black" stroke="black" points="465.018,-114.819 471.978,-106.831 461.555,-108.735 465.018,-114.819"/> +</g> +<!-- cc_library --> +<g id="node3" class="node"> +<title>cc_library</title> +<ellipse fill="none" stroke="black" cx="59.7947" cy="-18" rx="59.5901" ry="18"/> +<text text-anchor="middle" x="59.7947" y="-14.3" font-family="arial" font-size="14.00">cc_library</text> +</g> +<!-- Rule->cc_library --> +<g id="edge2" class="edge"> +<title>Rule->cc_library</title> +<path fill="none" stroke="black" d="M216.87,-79.4136C188.038,-68.3243 140.006,-49.8505 104.633,-36.2453"/> +<polygon fill="black" stroke="black" points="105.607,-32.8704 95.0176,-32.5473 103.095,-39.4038 105.607,-32.8704"/> +</g> +<!-- java_test --> +<g id="node4" class="node"> +<title>java_test</title> +<ellipse fill="none" stroke="black" cx="191.795" cy="-18" rx="54.6905" ry="18"/> +<text text-anchor="middle" x="191.795" y="-14.3" font-family="arial" font-size="14.00">java_test</text> +</g> +<!-- Rule->java_test --> +<g id="edge3" class="edge"> +<title>Rule->java_test</title> +<path fill="none" stroke="black" d="M230.449,-73.1159C224.298,-64.5051 216.557,-53.6674 209.621,-43.9567"/> +<polygon fill="black" stroke="black" points="212.453,-41.9004 203.793,-35.7973 206.757,-45.9691 212.453,-41.9004"/> +</g> +<!-- ... --> +<g id="node5" class="node"> +<title>...</title> +<ellipse fill="none" stroke="black" cx="291.795" cy="-18" rx="27" ry="18"/> +<text text-anchor="middle" x="291.795" y="-14.3" font-family="arial" font-size="14.00">...</text> +</g> +<!-- Rule->... --> +<g id="edge4" class="edge"> +<title>Rule->...</title> +<path fill="none" stroke="black" d="M253.14,-73.1159C259.469,-64.2555 267.482,-53.0373 274.57,-43.1152"/> +<polygon fill="black" stroke="black" points="277.529,-44.9929 280.494,-34.8212 271.833,-40.9242 277.529,-44.9929"/> +</g> +<!-- Source --> +<g id="node7" class="node"> +<title>Source</title> +<ellipse fill="none" stroke="black" cx="376.795" cy="-18" rx="40.0939" ry="18"/> +<text text-anchor="middle" x="376.795" y="-14.3" font-family="arial" font-size="14.00">Source</text> +</g> +<!-- File->Source --> +<g id="edge6" class="edge"> +<title>File->Source</title> +<path fill="none" stroke="black" d="M376.795,-71.6966C376.795,-63.9827 376.795,-54.7125 376.795,-46.1124"/> +<polygon fill="black" stroke="black" points="380.295,-46.1043 376.795,-36.1043 373.295,-46.1044 380.295,-46.1043"/> +</g> +<!-- Generated --> +<g id="node8" class="node"> +<title>Generated</title> +<ellipse fill="none" stroke="black" cx="489.795" cy="-18" rx="54.6905" ry="18"/> +<text text-anchor="middle" x="489.795" y="-14.3" font-family="arial" font-size="14.00">Generated</text> +</g> +<!-- File->Generated --> +<g id="edge7" class="edge"> +<title>File->Generated</title> +<path fill="none" stroke="black" d="M396.997,-76.4854C413.512,-66.2547 437.203,-51.579 456.513,-39.6169"/> +<polygon fill="black" stroke="black" points="458.378,-42.579 465.036,-34.3375 454.691,-36.6283 458.378,-42.579"/> +</g> +</g> +</svg> <p><i>Hierarchy of targets.</i></p> </div> @@ -428,26 +524,103 @@ testdata/input.txt </p> <div style="margin:auto; text-align:center"> -<div class='graphviz dot'><!-- -digraph G1 { - graph [rankdir=BT]; - node [fontname="Courier-Bold",fontsize=10,fontcolor="#006000"]; - - node [shape=box,label="rule"]; r1; r2; - - node [shape=circle,width=.4,fixedsize=1]; - node [label="in"]; s1; s2; s3; s4; - node [label="out"]; o1; o2; - - r1 -> s1; - r1 -> s2; - r1 -> s3; - r2 -> s4; - r2 -> r1; - o1 -> r1; - o2 -> r2; -} ---></div> +<svg width="157pt" height="246pt" + viewBox="0.00 0.00 156.50 246.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 242)"> +<title>G1</title> +<polygon fill="white" stroke="transparent" points="-4,4 -4,-242 152.5,-242 152.5,4 -4,4"/> +<!-- r1 --> +<g id="node1" class="node"> +<title>r1</title> +<polygon fill="none" stroke="black" points="88.5,-173 34.5,-173 34.5,-137 88.5,-137 88.5,-173"/> +<text text-anchor="middle" x="61.5" y="-152.5" font-family="arial" font-size="10.00" fill="#006000">rule</text> +</g> +<!-- s1 --> +<g id="node3" class="node"> +<title>s1</title> +<ellipse fill="none" stroke="black" cx="14.5" cy="-223.5" rx="14.5" ry="14.5"/> +<text text-anchor="middle" x="14.5" y="-221" font-family="arial" font-size="10.00" fill="#006000">in</text> +</g> +<!-- r1->s1 --> +<g id="edge1" class="edge"> +<title>r1->s1</title> +<path fill="none" stroke="black" d="M49.3963,-173.125C42.9655,-182.224 35.0324,-193.449 28.3559,-202.895"/> +<polygon fill="black" stroke="black" points="25.3432,-201.094 22.4297,-211.28 31.0596,-205.134 25.3432,-201.094"/> +</g> +<!-- s2 --> +<g id="node4" class="node"> +<title>s2</title> +<ellipse fill="none" stroke="black" cx="61.5" cy="-223.5" rx="14.5" ry="14.5"/> +<text text-anchor="middle" x="61.5" y="-221" font-family="arial" font-size="10.00" fill="#006000">in</text> +</g> +<!-- r1->s2 --> +<g id="edge2" class="edge"> +<title>r1->s2</title> +<path fill="none" stroke="black" d="M61.5,-173.125C61.5,-180.918 61.5,-190.27 61.5,-198.729"/> +<polygon fill="black" stroke="black" points="58.0001,-198.782 61.5,-208.782 65.0001,-198.782 58.0001,-198.782"/> +</g> +<!-- s3 --> +<g id="node5" class="node"> +<title>s3</title> +<ellipse fill="none" stroke="black" cx="108.5" cy="-223.5" rx="14.5" ry="14.5"/> +<text text-anchor="middle" x="108.5" y="-221" font-family="arial" font-size="10.00" fill="#006000">in</text> +</g> +<!-- r1->s3 --> +<g id="edge3" class="edge"> +<title>r1->s3</title> +<path fill="none" stroke="black" d="M73.6037,-173.125C80.0345,-182.224 87.9676,-193.449 94.6441,-202.895"/> +<polygon fill="black" stroke="black" points="91.9404,-205.134 100.57,-211.28 97.6568,-201.094 91.9404,-205.134"/> +</g> +<!-- r2 --> +<g id="node2" class="node"> +<title>r2</title> +<polygon fill="none" stroke="black" points="148.5,-101 94.5,-101 94.5,-65 148.5,-65 148.5,-101"/> +<text text-anchor="middle" x="121.5" y="-80.5" font-family="arial" font-size="10.00" fill="#006000">rule</text> +</g> +<!-- r2->r1 --> +<g id="edge5" class="edge"> +<title>r2->r1</title> +<path fill="none" stroke="black" d="M106.669,-101.303C99.4753,-109.695 90.7033,-119.93 82.8097,-129.139"/> +<polygon fill="black" stroke="black" points="80.0114,-127.025 76.1609,-136.896 85.3262,-131.581 80.0114,-127.025"/> +</g> +<!-- s4 --> +<g id="node6" class="node"> +<title>s4</title> +<ellipse fill="none" stroke="black" cx="121.5" cy="-155" rx="14.5" ry="14.5"/> +<text text-anchor="middle" x="121.5" y="-152.5" font-family="arial" font-size="10.00" fill="#006000">in</text> +</g> +<!-- r2->s4 --> +<g id="edge4" class="edge"> +<title>r2->s4</title> +<path fill="none" stroke="black" d="M121.5,-101.303C121.5,-110.01 121.5,-120.7 121.5,-130.171"/> +<polygon fill="black" stroke="black" points="118,-130.175 121.5,-140.175 125,-130.176 118,-130.175"/> +</g> +<!-- o1 --> +<g id="node7" class="node"> +<title>o1</title> +<ellipse fill="none" stroke="black" cx="61.5" cy="-83" rx="14.5" ry="14.5"/> +<text text-anchor="middle" x="61.5" y="-80.5" font-family="arial" font-size="10.00" fill="#006000">out</text> +</g> +<!-- o1->r1 --> +<g id="edge6" class="edge"> +<title>o1->r1</title> +<path fill="none" stroke="black" d="M61.5,-97.8297C61.5,-106.081 61.5,-116.847 61.5,-126.744"/> +<polygon fill="black" stroke="black" points="58.0001,-126.981 61.5,-136.981 65.0001,-126.981 58.0001,-126.981"/> +</g> +<!-- o2 --> +<g id="node8" class="node"> +<title>o2</title> +<ellipse fill="none" stroke="black" cx="121.5" cy="-14.5" rx="14.5" ry="14.5"/> +<text text-anchor="middle" x="121.5" y="-12" font-family="arial" font-size="10.00" fill="#006000">out</text> +</g> +<!-- o2->r2 --> +<g id="edge7" class="edge"> +<title>o2->r2</title> +<path fill="none" stroke="black" d="M121.5,-29.2788C121.5,-36.6355 121.5,-45.9556 121.5,-54.7067"/> +<polygon fill="black" stroke="black" points="118,-54.9286 121.5,-64.9286 125,-54.9286 118,-54.9286"/> +</g> +</g> +</svg> <p><i>Source files, rules, and generated files.</i></p> </div> diff --git a/site/versions/master/docs/query.html b/site/versions/master/docs/query.html index c3802b4133..a5068c8eef 100644 --- a/site/versions/master/docs/query.html +++ b/site/versions/master/docs/query.html @@ -599,96 +599,423 @@ x intersect (y union z)</pre> <table style='margin: auto'><tr> <td style='text-align: center'> -<div class='graphviz dot'><!-- -digraph somepath1 { - graph [size="4,4"] - node [label="",shape=circle]; - n1; - n2 [fillcolor="pink",style=filled]; - n3 [fillcolor="pink",style=filled]; - n4 [fillcolor="pink",style=filled,label="E"]; - n5; n6; - n7 [fillcolor="pink",style=filled,label="S1"]; - n8 [label="S2"]; - n9; - n10 [fillcolor="pink",style=filled]; - - n1 -> n2; - n2 -> n3; - n7 -> n5; - n7 -> n2; - n5 -> n6; - n6 -> n4; - n8 -> n6; - n6 -> n9; - n2 -> n10; - n3 -> n10; - n10 -> n4; - n10 -> n11; -} ---></div> +<svg width="153pt" height="288pt" + viewBox="0.00 0.00 153.40 288.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g id="graph0" class="graph" transform="scale(0.839179 0.839179) rotate(0) translate(4 339.193)"> +<title>somepath1</title> +<polygon fill="white" stroke="transparent" points="-4,4 -4,-339.193 178.798,-339.193 178.798,4 -4,4"/> +<!-- n1 --> +<g id="node1" class="node"> +<title>n1</title> +<ellipse fill="none" stroke="black" cx="40" cy="-314.394" rx="18" ry="18"/> +</g> +<!-- n2 --> +<g id="node2" class="node"> +<title>n2</title> +<ellipse fill="pink" stroke="black" cx="41" cy="-236.798" rx="18" ry="18"/> +</g> +<!-- n1->n2 --> +<g id="edge1" class="edge"> +<title>n1->n2</title> +<path fill="none" stroke="black" d="M40.2269,-296.24C40.3484,-287.058 40.5009,-275.531 40.6382,-265.147"/> +<polygon fill="black" stroke="black" points="44.1413,-264.93 40.774,-254.884 37.1419,-264.837 44.1413,-264.93"/> +</g> +<!-- n3 --> +<g id="node3" class="node"> +<title>n3</title> +<ellipse fill="pink" stroke="black" cx="18" cy="-162" rx="18" ry="18"/> +</g> +<!-- n2->n3 --> +<g id="edge2" class="edge"> +<title>n2->n3</title> +<path fill="none" stroke="black" d="M35.7809,-219.279C32.9579,-210.344 29.4064,-199.103 26.2211,-189.021"/> +<polygon fill="black" stroke="black" points="29.5485,-187.935 23.1984,-179.454 22.8737,-190.044 29.5485,-187.935"/> +</g> +<!-- n10 --> +<g id="node10" class="node"> +<title>n10</title> +<ellipse fill="pink" stroke="black" cx="37" cy="-90" rx="18" ry="18"/> +</g> +<!-- n2->n10 --> +<g id="edge9" class="edge"> +<title>n2->n10</title> +<path fill="none" stroke="black" d="M42.9371,-218.86C44.7656,-200.425 46.9578,-170.088 45,-144 44.3634,-135.518 43.1616,-126.336 41.8792,-118.036"/> +<polygon fill="black" stroke="black" points="45.3237,-117.412 40.2483,-108.112 38.4164,-118.547 45.3237,-117.412"/> +</g> +<!-- n3->n10 --> +<g id="edge10" class="edge"> +<title>n3->n10</title> +<path fill="none" stroke="black" d="M22.5027,-144.411C24.7033,-136.304 27.404,-126.354 29.8755,-117.248"/> +<polygon fill="black" stroke="black" points="33.2878,-118.038 32.5296,-107.47 26.5322,-116.204 33.2878,-118.038"/> +</g> +<!-- n4 --> +<g id="node4" class="node"> +<title>n4</title> +<ellipse fill="pink" stroke="black" cx="87" cy="-18" rx="18" ry="18"/> +<text text-anchor="middle" x="87" y="-14.3" font-family="arial" font-size="14.00">E</text> +</g> +<!-- n5 --> +<g id="node5" class="node"> +<title>n5</title> +<ellipse fill="none" stroke="black" cx="97" cy="-236.798" rx="18" ry="18"/> +</g> +<!-- n6 --> +<g id="node6" class="node"> +<title>n6</title> +<ellipse fill="none" stroke="black" cx="121" cy="-162" rx="18" ry="18"/> +</g> +<!-- n5->n6 --> +<g id="edge5" class="edge"> +<title>n5->n6</title> +<path fill="none" stroke="black" d="M102.446,-219.279C105.413,-210.281 109.15,-198.944 112.492,-188.808"/> +<polygon fill="black" stroke="black" points="115.851,-189.796 115.658,-179.203 109.203,-187.604 115.851,-189.796"/> +</g> +<!-- n6->n4 --> +<g id="edge6" class="edge"> +<title>n6->n4</title> +<path fill="none" stroke="black" d="M115.99,-144.365C112.931,-133.96 109.038,-120.252 106,-108 100.867,-87.3 95.8646,-63.6851 92.2822,-45.9844"/> +<polygon fill="black" stroke="black" points="95.6398,-44.9258 90.2466,-35.8064 88.7758,-46.2987 95.6398,-44.9258"/> +</g> +<!-- n9 --> +<g id="node9" class="node"> +<title>n9</title> +<ellipse fill="none" stroke="black" cx="133" cy="-90" rx="18" ry="18"/> +</g> +<!-- n6->n9 --> +<g id="edge8" class="edge"> +<title>n6->n9</title> +<path fill="none" stroke="black" d="M123.905,-144.055C125.261,-136.145 126.907,-126.54 128.425,-117.688"/> +<polygon fill="black" stroke="black" points="131.882,-118.237 130.122,-107.789 124.982,-117.054 131.882,-118.237"/> +</g> +<!-- n7 --> +<g id="node7" class="node"> +<title>n7</title> +<ellipse fill="pink" stroke="black" cx="97" cy="-314.394" rx="20.5982" ry="20.5982"/> +<text text-anchor="middle" x="97" y="-310.694" font-family="arial" font-size="14.00">S1</text> +</g> +<!-- n7->n2 --> +<g id="edge4" class="edge"> +<title>n7->n2</title> +<path fill="none" stroke="black" d="M84.8488,-296.991C76.7726,-286.089 66.0734,-271.646 57.2656,-259.756"/> +<polygon fill="black" stroke="black" points="60.0158,-257.588 51.2509,-251.636 54.391,-261.755 60.0158,-257.588"/> +</g> +<!-- n7->n5 --> +<g id="edge3" class="edge"> +<title>n7->n5</title> +<path fill="none" stroke="black" d="M97,-293.532C97,-284.887 97,-274.612 97,-265.254"/> +<polygon fill="black" stroke="black" points="100.5,-265.213 97,-255.213 93.5001,-265.213 100.5,-265.213"/> +</g> +<!-- n8 --> +<g id="node8" class="node"> +<title>n8</title> +<ellipse fill="none" stroke="black" cx="154" cy="-236.798" rx="20.5982" ry="20.5982"/> +<text text-anchor="middle" x="154" y="-233.098" font-family="arial" font-size="14.00">S2</text> +</g> +<!-- n8->n6 --> +<g id="edge7" class="edge"> +<title>n8->n6</title> +<path fill="none" stroke="black" d="M145.673,-217.428C141.606,-208.456 136.653,-197.53 132.254,-187.827"/> +<polygon fill="black" stroke="black" points="135.411,-186.313 128.095,-178.651 129.036,-189.204 135.411,-186.313"/> +</g> +<!-- n10->n4 --> +<g id="edge11" class="edge"> +<title>n10->n4</title> +<path fill="none" stroke="black" d="M47.1182,-74.8345C53.9632,-65.2515 63.1483,-52.3924 70.9784,-41.4303"/> +<polygon fill="black" stroke="black" points="73.9325,-43.3162 76.8968,-33.1445 68.2363,-39.2475 73.9325,-43.3162"/> +</g> +<!-- n11 --> +<g id="node11" class="node"> +<title>n11</title> +<ellipse fill="none" stroke="black" cx="33" cy="-18" rx="18" ry="18"/> +</g> +<!-- n10->n11 --> +<g id="edge12" class="edge"> +<title>n10->n11</title> +<path fill="none" stroke="black" d="M36.0112,-71.6966C35.5704,-63.9827 35.0407,-54.7125 34.5493,-46.1124"/> +<polygon fill="black" stroke="black" points="38.0423,-45.8883 33.9774,-36.1043 31.0537,-46.2878 38.0423,-45.8883"/> +</g> +</g> +</svg> <p><code>somepath(S1 + S2, E)</code>,<br/>one possible result.</p> </td> <td style='padding: 40px; text-align: center'> -<div class='graphviz dot'><!-- -digraph somepath2 { - graph [size="4,4"] - node [label="",shape=circle]; - - n1; n2; n3; - n4 [fillcolor="pink",style=filled,label="E"]; - n5; - n6 [fillcolor="pink",style=filled]; - n7 [label="S1"]; - n8 [fillcolor="pink",style=filled,label="S2"]; - n9; n10; - - n1 -> n2; - n2 -> n3; - n7 -> n5; - n7 -> n2; - n5 -> n6; - n6 -> n4; - n8 -> n6; - n6 -> n9; - n2 -> n10; - n3 -> n10; - n10 -> n4; - n10 -> n11; -} ---></div> +<svg width="153pt" height="288pt" + viewBox="0.00 0.00 153.40 288.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g id="graph0" class="graph" transform="scale(0.839179 0.839179) rotate(0) translate(4 339.193)"> +<title>somepath2</title> +<polygon fill="white" stroke="transparent" points="-4,4 -4,-339.193 178.798,-339.193 178.798,4 -4,4"/> +<!-- n1 --> +<g id="node1" class="node"> +<title>n1</title> +<ellipse fill="none" stroke="black" cx="40" cy="-314.394" rx="18" ry="18"/> +</g> +<!-- n2 --> +<g id="node2" class="node"> +<title>n2</title> +<ellipse fill="none" stroke="black" cx="41" cy="-236.798" rx="18" ry="18"/> +</g> +<!-- n1->n2 --> +<g id="edge1" class="edge"> +<title>n1->n2</title> +<path fill="none" stroke="black" d="M40.2269,-296.24C40.3484,-287.058 40.5009,-275.531 40.6382,-265.147"/> +<polygon fill="black" stroke="black" points="44.1413,-264.93 40.774,-254.884 37.1419,-264.837 44.1413,-264.93"/> +</g> +<!-- n3 --> +<g id="node3" class="node"> +<title>n3</title> +<ellipse fill="none" stroke="black" cx="18" cy="-162" rx="18" ry="18"/> +</g> +<!-- n2->n3 --> +<g id="edge2" class="edge"> +<title>n2->n3</title> +<path fill="none" stroke="black" d="M35.7809,-219.279C32.9579,-210.344 29.4064,-199.103 26.2211,-189.021"/> +<polygon fill="black" stroke="black" points="29.5485,-187.935 23.1984,-179.454 22.8737,-190.044 29.5485,-187.935"/> +</g> +<!-- n10 --> +<g id="node10" class="node"> +<title>n10</title> +<ellipse fill="none" stroke="black" cx="37" cy="-90" rx="18" ry="18"/> +</g> +<!-- n2->n10 --> +<g id="edge9" class="edge"> +<title>n2->n10</title> +<path fill="none" stroke="black" d="M42.9371,-218.86C44.7656,-200.425 46.9578,-170.088 45,-144 44.3634,-135.518 43.1616,-126.336 41.8792,-118.036"/> +<polygon fill="black" stroke="black" points="45.3237,-117.412 40.2483,-108.112 38.4164,-118.547 45.3237,-117.412"/> +</g> +<!-- n3->n10 --> +<g id="edge10" class="edge"> +<title>n3->n10</title> +<path fill="none" stroke="black" d="M22.5027,-144.411C24.7033,-136.304 27.404,-126.354 29.8755,-117.248"/> +<polygon fill="black" stroke="black" points="33.2878,-118.038 32.5296,-107.47 26.5322,-116.204 33.2878,-118.038"/> +</g> +<!-- n4 --> +<g id="node4" class="node"> +<title>n4</title> +<ellipse fill="pink" stroke="black" cx="87" cy="-18" rx="18" ry="18"/> +<text text-anchor="middle" x="87" y="-14.3" font-family="arial" font-size="14.00">E</text> +</g> +<!-- n5 --> +<g id="node5" class="node"> +<title>n5</title> +<ellipse fill="none" stroke="black" cx="97" cy="-236.798" rx="18" ry="18"/> +</g> +<!-- n6 --> +<g id="node6" class="node"> +<title>n6</title> +<ellipse fill="pink" stroke="black" cx="121" cy="-162" rx="18" ry="18"/> +</g> +<!-- n5->n6 --> +<g id="edge5" class="edge"> +<title>n5->n6</title> +<path fill="none" stroke="black" d="M102.446,-219.279C105.413,-210.281 109.15,-198.944 112.492,-188.808"/> +<polygon fill="black" stroke="black" points="115.851,-189.796 115.658,-179.203 109.203,-187.604 115.851,-189.796"/> +</g> +<!-- n6->n4 --> +<g id="edge6" class="edge"> +<title>n6->n4</title> +<path fill="none" stroke="black" d="M115.99,-144.365C112.931,-133.96 109.038,-120.252 106,-108 100.867,-87.3 95.8646,-63.6851 92.2822,-45.9844"/> +<polygon fill="black" stroke="black" points="95.6398,-44.9258 90.2466,-35.8064 88.7758,-46.2987 95.6398,-44.9258"/> +</g> +<!-- n9 --> +<g id="node9" class="node"> +<title>n9</title> +<ellipse fill="none" stroke="black" cx="133" cy="-90" rx="18" ry="18"/> +</g> +<!-- n6->n9 --> +<g id="edge8" class="edge"> +<title>n6->n9</title> +<path fill="none" stroke="black" d="M123.905,-144.055C125.261,-136.145 126.907,-126.54 128.425,-117.688"/> +<polygon fill="black" stroke="black" points="131.882,-118.237 130.122,-107.789 124.982,-117.054 131.882,-118.237"/> +</g> +<!-- n7 --> +<g id="node7" class="node"> +<title>n7</title> +<ellipse fill="none" stroke="black" cx="97" cy="-314.394" rx="20.5982" ry="20.5982"/> +<text text-anchor="middle" x="97" y="-310.694" font-family="arial" font-size="14.00">S1</text> +</g> +<!-- n7->n2 --> +<g id="edge4" class="edge"> +<title>n7->n2</title> +<path fill="none" stroke="black" d="M84.8488,-296.991C76.7726,-286.089 66.0734,-271.646 57.2656,-259.756"/> +<polygon fill="black" stroke="black" points="60.0158,-257.588 51.2509,-251.636 54.391,-261.755 60.0158,-257.588"/> +</g> +<!-- n7->n5 --> +<g id="edge3" class="edge"> +<title>n7->n5</title> +<path fill="none" stroke="black" d="M97,-293.532C97,-284.887 97,-274.612 97,-265.254"/> +<polygon fill="black" stroke="black" points="100.5,-265.213 97,-255.213 93.5001,-265.213 100.5,-265.213"/> +</g> +<!-- n8 --> +<g id="node8" class="node"> +<title>n8</title> +<ellipse fill="pink" stroke="black" cx="154" cy="-236.798" rx="20.5982" ry="20.5982"/> +<text text-anchor="middle" x="154" y="-233.098" font-family="arial" font-size="14.00">S2</text> +</g> +<!-- n8->n6 --> +<g id="edge7" class="edge"> +<title>n8->n6</title> +<path fill="none" stroke="black" d="M145.673,-217.428C141.606,-208.456 136.653,-197.53 132.254,-187.827"/> +<polygon fill="black" stroke="black" points="135.411,-186.313 128.095,-178.651 129.036,-189.204 135.411,-186.313"/> +</g> +<!-- n10->n4 --> +<g id="edge11" class="edge"> +<title>n10->n4</title> +<path fill="none" stroke="black" d="M47.1182,-74.8345C53.9632,-65.2515 63.1483,-52.3924 70.9784,-41.4303"/> +<polygon fill="black" stroke="black" points="73.9325,-43.3162 76.8968,-33.1445 68.2363,-39.2475 73.9325,-43.3162"/> +</g> +<!-- n11 --> +<g id="node11" class="node"> +<title>n11</title> +<ellipse fill="none" stroke="black" cx="33" cy="-18" rx="18" ry="18"/> +</g> +<!-- n10->n11 --> +<g id="edge12" class="edge"> +<title>n10->n11</title> +<path fill="none" stroke="black" d="M36.0112,-71.6966C35.5704,-63.9827 35.0407,-54.7125 34.5493,-46.1124"/> +<polygon fill="black" stroke="black" points="38.0423,-45.8883 33.9774,-36.1043 31.0537,-46.2878 38.0423,-45.8883"/> +</g> +</g> +</svg> <p><code>somepath(S1 + S2, E)</code>,<br/>another possible result.</p> </td> <td style='text-align: center'> -<div class='graphviz dot'><!-- -digraph allpaths { - graph [size="4,4"] - node [label="",shape=circle]; - n1; - n2 [fillcolor="pink",style=filled]; - n3 [fillcolor="pink",style=filled]; - n4 [fillcolor="pink",style=filled,label="E"]; - n5 [fillcolor="pink",style=filled]; - n6 [fillcolor="pink",style=filled]; - n7 [fillcolor="pink",style=filled, label="S1"]; - n8 [fillcolor="pink",style=filled, label="S2"]; - n9; - n10 [fillcolor="pink",style=filled]; - - n1 -> n2; - n2 -> n3; - n7 -> n5; - n7 -> n2; - n5 -> n6; - n6 -> n4; - n8 -> n6; - n6 -> n9; - n2 -> n10; - n3 -> n10; - n10 -> n4; - n10 -> n11; -} ---></div> +<svg width="153pt" height="288pt" + viewBox="0.00 0.00 153.40 288.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g id="graph0" class="graph" transform="scale(0.839179 0.839179) rotate(0) translate(4 339.193)"> +<title>allpaths</title> +<polygon fill="white" stroke="transparent" points="-4,4 -4,-339.193 178.798,-339.193 178.798,4 -4,4"/> +<!-- n1 --> +<g id="node1" class="node"> +<title>n1</title> +<ellipse fill="none" stroke="black" cx="40" cy="-314.394" rx="18" ry="18"/> +</g> +<!-- n2 --> +<g id="node2" class="node"> +<title>n2</title> +<ellipse fill="pink" stroke="black" cx="41" cy="-236.798" rx="18" ry="18"/> +</g> +<!-- n1->n2 --> +<g id="edge1" class="edge"> +<title>n1->n2</title> +<path fill="none" stroke="black" d="M40.2269,-296.24C40.3484,-287.058 40.5009,-275.531 40.6382,-265.147"/> +<polygon fill="black" stroke="black" points="44.1413,-264.93 40.774,-254.884 37.1419,-264.837 44.1413,-264.93"/> +</g> +<!-- n3 --> +<g id="node3" class="node"> +<title>n3</title> +<ellipse fill="pink" stroke="black" cx="18" cy="-162" rx="18" ry="18"/> +</g> +<!-- n2->n3 --> +<g id="edge2" class="edge"> +<title>n2->n3</title> +<path fill="none" stroke="black" d="M35.7809,-219.279C32.9579,-210.344 29.4064,-199.103 26.2211,-189.021"/> +<polygon fill="black" stroke="black" points="29.5485,-187.935 23.1984,-179.454 22.8737,-190.044 29.5485,-187.935"/> +</g> +<!-- n10 --> +<g id="node10" class="node"> +<title>n10</title> +<ellipse fill="pink" stroke="black" cx="37" cy="-90" rx="18" ry="18"/> +</g> +<!-- n2->n10 --> +<g id="edge9" class="edge"> +<title>n2->n10</title> +<path fill="none" stroke="black" d="M42.9371,-218.86C44.7656,-200.425 46.9578,-170.088 45,-144 44.3634,-135.518 43.1616,-126.336 41.8792,-118.036"/> +<polygon fill="black" stroke="black" points="45.3237,-117.412 40.2483,-108.112 38.4164,-118.547 45.3237,-117.412"/> +</g> +<!-- n3->n10 --> +<g id="edge10" class="edge"> +<title>n3->n10</title> +<path fill="none" stroke="black" d="M22.5027,-144.411C24.7033,-136.304 27.404,-126.354 29.8755,-117.248"/> +<polygon fill="black" stroke="black" points="33.2878,-118.038 32.5296,-107.47 26.5322,-116.204 33.2878,-118.038"/> +</g> +<!-- n4 --> +<g id="node4" class="node"> +<title>n4</title> +<ellipse fill="pink" stroke="black" cx="87" cy="-18" rx="18" ry="18"/> +<text text-anchor="middle" x="87" y="-14.3" font-family="arial" font-size="14.00">E</text> +</g> +<!-- n5 --> +<g id="node5" class="node"> +<title>n5</title> +<ellipse fill="pink" stroke="black" cx="97" cy="-236.798" rx="18" ry="18"/> +</g> +<!-- n6 --> +<g id="node6" class="node"> +<title>n6</title> +<ellipse fill="pink" stroke="black" cx="121" cy="-162" rx="18" ry="18"/> +</g> +<!-- n5->n6 --> +<g id="edge5" class="edge"> +<title>n5->n6</title> +<path fill="none" stroke="black" d="M102.446,-219.279C105.413,-210.281 109.15,-198.944 112.492,-188.808"/> +<polygon fill="black" stroke="black" points="115.851,-189.796 115.658,-179.203 109.203,-187.604 115.851,-189.796"/> +</g> +<!-- n6->n4 --> +<g id="edge6" class="edge"> +<title>n6->n4</title> +<path fill="none" stroke="black" d="M115.99,-144.365C112.931,-133.96 109.038,-120.252 106,-108 100.867,-87.3 95.8646,-63.6851 92.2822,-45.9844"/> +<polygon fill="black" stroke="black" points="95.6398,-44.9258 90.2466,-35.8064 88.7758,-46.2987 95.6398,-44.9258"/> +</g> +<!-- n9 --> +<g id="node9" class="node"> +<title>n9</title> +<ellipse fill="none" stroke="black" cx="133" cy="-90" rx="18" ry="18"/> +</g> +<!-- n6->n9 --> +<g id="edge8" class="edge"> +<title>n6->n9</title> +<path fill="none" stroke="black" d="M123.905,-144.055C125.261,-136.145 126.907,-126.54 128.425,-117.688"/> +<polygon fill="black" stroke="black" points="131.882,-118.237 130.122,-107.789 124.982,-117.054 131.882,-118.237"/> +</g> +<!-- n7 --> +<g id="node7" class="node"> +<title>n7</title> +<ellipse fill="pink" stroke="black" cx="97" cy="-314.394" rx="20.5982" ry="20.5982"/> +<text text-anchor="middle" x="97" y="-310.694" font-family="arial" font-size="14.00">S1</text> +</g> +<!-- n7->n2 --> +<g id="edge4" class="edge"> +<title>n7->n2</title> +<path fill="none" stroke="black" d="M84.8488,-296.991C76.7726,-286.089 66.0734,-271.646 57.2656,-259.756"/> +<polygon fill="black" stroke="black" points="60.0158,-257.588 51.2509,-251.636 54.391,-261.755 60.0158,-257.588"/> +</g> +<!-- n7->n5 --> +<g id="edge3" class="edge"> +<title>n7->n5</title> +<path fill="none" stroke="black" d="M97,-293.532C97,-284.887 97,-274.612 97,-265.254"/> +<polygon fill="black" stroke="black" points="100.5,-265.213 97,-255.213 93.5001,-265.213 100.5,-265.213"/> +</g> +<!-- n8 --> +<g id="node8" class="node"> +<title>n8</title> +<ellipse fill="pink" stroke="black" cx="154" cy="-236.798" rx="20.5982" ry="20.5982"/> +<text text-anchor="middle" x="154" y="-233.098" font-family="arial" font-size="14.00">S2</text> +</g> +<!-- n8->n6 --> +<g id="edge7" class="edge"> +<title>n8->n6</title> +<path fill="none" stroke="black" d="M145.673,-217.428C141.606,-208.456 136.653,-197.53 132.254,-187.827"/> +<polygon fill="black" stroke="black" points="135.411,-186.313 128.095,-178.651 129.036,-189.204 135.411,-186.313"/> +</g> +<!-- n10->n4 --> +<g id="edge11" class="edge"> +<title>n10->n4</title> +<path fill="none" stroke="black" d="M47.1182,-74.8345C53.9632,-65.2515 63.1483,-52.3924 70.9784,-41.4303"/> +<polygon fill="black" stroke="black" points="73.9325,-43.3162 76.8968,-33.1445 68.2363,-39.2475 73.9325,-43.3162"/> +</g> +<!-- n11 --> +<g id="node11" class="node"> +<title>n11</title> +<ellipse fill="none" stroke="black" cx="33" cy="-18" rx="18" ry="18"/> +</g> +<!-- n10->n11 --> +<g id="edge12" class="edge"> +<title>n10->n11</title> +<path fill="none" stroke="black" d="M36.0112,-71.6966C35.5704,-63.9827 35.0407,-54.7125 34.5493,-46.1124"/> +<polygon fill="black" stroke="black" points="38.0423,-45.8883 33.9774,-36.1043 31.0537,-46.2878 38.0423,-45.8883"/> +</g> +</g> +</svg> <p><code>allpaths(S1 + S2, E)</code>.</p> </td> </tr></table> @@ -1163,16 +1490,73 @@ genrule( </p> <table style='margin: auto'><tr><td> -<div class='graphviz dot'><!-- -digraph mygraph { - node [shape=box]; -"//a:a" -> "//a:a.cc" -"//b:b" -> "//a:a" -"//b:b" -> "//b:b.cc" -"//c:c" -> "//b:b" -"//c:c" -> "//a:a" -} ---></div> +<svg width="169pt" height="260pt" + viewBox="0.00 0.00 169.00 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)"> +<title>mygraph</title> +<polygon fill="white" stroke="transparent" points="-4,4 -4,-256 165,-256 165,4 -4,4"/> +<!-- //a:a --> +<g id="node1" class="node"> +<title>//a:a</title> +<polygon fill="none" stroke="black" points="65.5,-108 11.5,-108 11.5,-72 65.5,-72 65.5,-108"/> +<text text-anchor="middle" x="38.5" y="-86.3" font-family="arial" font-size="14.00">//a:a</text> +</g> +<!-- //a:a.cc --> +<g id="node2" class="node"> +<title>//a:a.cc</title> +<polygon fill="none" stroke="black" points="77,-36 0,-36 0,-0 77,-0 77,-36"/> +<text text-anchor="middle" x="38.5" y="-14.3" font-family="arial" font-size="14.00">//a:a.cc</text> +</g> +<!-- //a:a->//a:a.cc --> +<g id="edge1" class="edge"> +<title>//a:a->//a:a.cc</title> +<path fill="none" stroke="black" d="M38.5,-71.6966C38.5,-63.9827 38.5,-54.7125 38.5,-46.1124"/> +<polygon fill="black" stroke="black" points="42.0001,-46.1043 38.5,-36.1043 35.0001,-46.1044 42.0001,-46.1043"/> +</g> +<!-- //b:b --> +<g id="node3" class="node"> +<title>//b:b</title> +<polygon fill="none" stroke="black" points="120.5,-180 66.5,-180 66.5,-144 120.5,-144 120.5,-180"/> +<text text-anchor="middle" x="93.5" y="-158.3" font-family="arial" font-size="14.00">//b:b</text> +</g> +<!-- //b:b->//a:a --> +<g id="edge2" class="edge"> +<title>//b:b->//a:a</title> +<path fill="none" stroke="black" d="M79.9045,-143.697C73.3773,-135.389 65.432,-125.277 58.2534,-116.141"/> +<polygon fill="black" stroke="black" points="60.8695,-113.805 51.9391,-108.104 55.3653,-118.13 60.8695,-113.805"/> +</g> +<!-- //b:b.cc --> +<g id="node4" class="node"> +<title>//b:b.cc</title> +<polygon fill="none" stroke="black" points="161,-108 84,-108 84,-72 161,-72 161,-108"/> +<text text-anchor="middle" x="122.5" y="-86.3" font-family="arial" font-size="14.00">//b:b.cc</text> +</g> +<!-- //b:b->//b:b.cc --> +<g id="edge3" class="edge"> +<title>//b:b->//b:b.cc</title> +<path fill="none" stroke="black" d="M100.669,-143.697C103.935,-135.813 107.874,-126.304 111.502,-117.546"/> +<polygon fill="black" stroke="black" points="114.82,-118.683 115.414,-108.104 108.353,-116.003 114.82,-118.683"/> +</g> +<!-- //c:c --> +<g id="node5" class="node"> +<title>//c:c</title> +<polygon fill="none" stroke="black" points="92.5,-252 38.5,-252 38.5,-216 92.5,-216 92.5,-252"/> +<text text-anchor="middle" x="65.5" y="-230.3" font-family="arial" font-size="14.00">//c:c</text> +</g> +<!-- //c:c->//a:a --> +<g id="edge5" class="edge"> +<title>//c:c->//a:a</title> +<path fill="none" stroke="black" d="M62.2432,-215.871C57.6415,-191.67 49.188,-147.211 43.7086,-118.393"/> +<polygon fill="black" stroke="black" points="47.0748,-117.359 41.7684,-108.189 40.198,-118.667 47.0748,-117.359"/> +</g> +<!-- //c:c->//b:b --> +<g id="edge4" class="edge"> +<title>//c:c->//b:b</title> +<path fill="none" stroke="black" d="M72.4214,-215.697C75.5747,-207.813 79.3783,-198.304 82.8814,-189.546"/> +<polygon fill="black" stroke="black" points="86.194,-190.689 86.6583,-180.104 79.6946,-188.089 86.194,-190.689"/> +</g> +</g> +</svg> </td><td> <pre> minrank diff --git a/tools/build_defs/pkg/apt_get.bzl b/tools/build_defs/pkg/apt_get.bzl deleted file mode 100644 index 5b78799713..0000000000 --- a/tools/build_defs/pkg/apt_get.bzl +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 2016 The Bazel Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -"""Respositry rules for downloading apt-get repositories.""" - -def _run_cmd(ctx, cmd): - """Helper for running commands.""" - if ctx.which(cmd[0]) == None: - fail("%s not found" % cmd[0]) - result = ctx.execute(cmd) - if result.return_code != 0: - print("stdout: %s, stderr: %s" % (result.stdout, result.stderr)) - fail("Running '%s' failed" % " ".join(cmd)) - return result - -def _impl(ctx): - """Download .deb and extract.""" - result = _run_cmd(ctx, ["apt-get", "download", "--print-uris", ctx.name]) - # --print-uris output is in the format: URL filename SHA256:sha - deb = result.stdout.split(" ")[1] - _run_cmd(ctx, ["apt-get", "download", ctx.name]) - _run_cmd(ctx, ["ar", "x", deb]) - _run_cmd(ctx, ["tar", "xf", "data.tar.xz"]) - - ctx.file("WORKSPACE", "workspace(name = '%s')" % ctx.name) - ctx.file("BUILD", "exports_files(%s)" % ctx.attr.exports_files) - -apt_get = repository_rule( - implementation = _impl, - attrs = {"exports_files": attr.string_list(default=[])}, -) |