build-201807.xsl 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?xml version="1.0"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <xsl:template match="//build">
  4. <html>
  5. <head>
  6. <title>Artifacts for gRPC Build <xsl:value-of select="@id"/></title>
  7. <link rel="stylesheet" type="text/css" href="/web-assets/style.css" />
  8. <link rel="apple-touch-icon" href="/web-assets/favicons/apple-touch-icon.png" sizes="180x180" />
  9. <link rel="icon" type="image/png" href="/web-assets/favicons/android-chrome-192x192.png" sizes="192x192" />
  10. <link rel="icon" type="image/png" href="/web-assets/favicons/favicon-32x32.png" sizes="32x32" />
  11. <link rel="icon" type="image/png" href="/web-assets/favicons/favicon-16x16.png" sizes="16x16" />
  12. <link rel="manifest" href="/web-assets/favicons/manifest.json" />
  13. <link rel="mask-icon" href="/web-assets/favicons/safari-pinned-tab.svg" color="#2DA6B0" />
  14. <meta name="msapplication-TileColor" content="#ffffff" />
  15. <meta name="msapplication-TileImage" content="/web-assets/favicons/mstile-150x150.png" />
  16. <meta name="og:title" content="gRPC Package Build"/>
  17. <meta name="og:image" content="https://grpc.io/img/grpc_square_reverse_4x.png"/>
  18. <meta name="og:description" content="gRPC Package Build"/>
  19. </head>
  20. <body bgcolor="#ffffff">
  21. <div id="topbar">
  22. <span class="title">Artifacts for gRPC Build <xsl:value-of select="@id"/></span>
  23. </div>
  24. <div id="main">
  25. <div id="metadata">
  26. <span class="fieldname">Build: </span> <a href='#'><xsl:value-of select="@id"/></a>
  27. [<a href="https://source.cloud.google.com/results/invocations/{@id}">invocation</a>]<br />
  28. <span class="fieldname">Timestamp: </span>
  29. <xsl:value-of select="@timestamp"/> <br />
  30. <span class="fieldname">Branch: </span>
  31. <a href="https://github.com/grpc/grpc/tree/{./metadata/branch[text()]}">
  32. <xsl:value-of select="./metadata/branch[text()]" />
  33. </a><br />
  34. <span class="fieldname">Commit: </span>
  35. <a href="https://github.com/grpc/grpc/tree/{./metadata/commit[text()]}">
  36. <xsl:value-of select="./metadata/commit[text()]" /><br /></a>
  37. </div>
  38. <xsl:apply-templates select="artifacts" />
  39. <br />
  40. <br />
  41. <p class="description"><a href="https://grpc.io">gRPC</a> is a <a href="https://www.cncf.io" class="external">Cloud Native Computing Foundation</a> project. <a href="https://policies.google.com/privacy" class="external">Privacy Policy</a>.</p>
  42. <p class="description">
  43. Copyright &#169;&#160;<xsl:value-of select="substring(@timestamp, 1, 4)" />&#160;<a href="https://github.com/grpc/grpc/blob/{./metadata/commit[text()]}/AUTHORS">The gRPC Authors</a></p>
  44. <br />
  45. <br />
  46. </div>
  47. </body>
  48. </html>
  49. </xsl:template>
  50. <xsl:template match="artifacts">
  51. <h2> gRPC <code>protoc</code> Plugins </h2>
  52. <table>
  53. <xsl:apply-templates select="artifact[@type='protoc']">
  54. <xsl:sort select="@name" />
  55. </xsl:apply-templates>
  56. </table>
  57. <h2> C# </h2>
  58. <table>
  59. <xsl:apply-templates select="artifact[@type='csharp']">
  60. <xsl:sort select="@name" />
  61. </xsl:apply-templates>
  62. </table>
  63. <h2> PHP </h2>
  64. <table>
  65. <xsl:apply-templates select="artifact[@type='php']">
  66. <xsl:sort select="@name" />
  67. </xsl:apply-templates>
  68. </table>
  69. <h2> Python </h2>
  70. <script type="text/javascript">
  71. // <![CDATA[
  72. var pythonRepoLink = document.createElement("a");
  73. pythonRepoLink.href = './python';
  74. var pythonRepo = pythonRepoLink.href;
  75. document.write("<p><code>" +
  76. "$ pip install --pre --upgrade --force-reinstall --extra-index-url \\<br />" +
  77. "&nbsp;&nbsp;&nbsp;&nbsp;<a href='" + pythonRepo + "'>" + pythonRepo + "</a> \\<br />" +
  78. "&nbsp;&nbsp;&nbsp;&nbsp;grpcio grpcio-{tools,health-checking,reflection,testing}</code></p>");
  79. // ]]>
  80. </script>
  81. <table>
  82. <xsl:apply-templates select="artifact[@type='python']">
  83. <xsl:sort select="@name" />
  84. </xsl:apply-templates>
  85. </table>
  86. <h2> Ruby </h2>
  87. <table>
  88. <xsl:apply-templates select="artifact[@type='ruby']">
  89. <xsl:sort select="@name" />
  90. </xsl:apply-templates>
  91. </table>
  92. </xsl:template>
  93. <xsl:template match="artifact">
  94. <tr>
  95. <td class="name"><a href="{@path}"><xsl:value-of select="@name" /></a></td>
  96. <td class="hash"><xsl:value-of select="@sha256"/></td>
  97. </tr>
  98. </xsl:template>
  99. <xsl:template match="metadata">
  100. </xsl:template>
  101. </xsl:stylesheet>