diff options
author | Mehrdad Afshari <mehrdada@users.noreply.github.com> | 2018-07-24 10:06:01 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-24 10:06:01 -0700 |
commit | 1fd9b62ceed4372852a887a4a075fd2e2e029ead (patch) | |
tree | 0c2d6624bbaab30abebc3af463f115362f775f97 | |
parent | 334d47ee0d0c910d81544164ed44db89ba2eca43 (diff) | |
parent | 628c0b5bed15e3a71c63f6fd6bd442d3317c0dc3 (diff) |
Merge pull request #16112 from mehrdada/upload-web-assets-4-packages.grpc.io
Upload web-assets for packages.grpc.io
-rw-r--r-- | tools/package_hosting/404.html | 1 | ||||
-rw-r--r-- | tools/package_hosting/build-201807.xsl | 114 | ||||
-rw-r--r-- | tools/package_hosting/dirindex.css | 16 | ||||
-rw-r--r-- | tools/package_hosting/home.xsl | 86 | ||||
-rw-r--r-- | tools/package_hosting/style.css | 76 | ||||
-rwxr-xr-x | tools/package_hosting/upload_web_assets.sh | 30 |
6 files changed, 323 insertions, 0 deletions
diff --git a/tools/package_hosting/404.html b/tools/package_hosting/404.html new file mode 100644 index 0000000000..44d986c4b0 --- /dev/null +++ b/tools/package_hosting/404.html @@ -0,0 +1 @@ +404 Not Found diff --git a/tools/package_hosting/build-201807.xsl b/tools/package_hosting/build-201807.xsl new file mode 100644 index 0000000000..69a190446f --- /dev/null +++ b/tools/package_hosting/build-201807.xsl @@ -0,0 +1,114 @@ +<?xml version="1.0"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + +<xsl:template match="//build"> + <html> + <head> + <title>Artifacts for gRPC Build <xsl:value-of select="@id"/> </title> + <link rel="stylesheet" type="text/css" href="/web-assets/style.css" /> + <link rel="apple-touch-icon" href="/web-assets/favicons/apple-touch-icon.png" sizes="180x180" /> + <link rel="icon" type="image/png" href="/web-assets/favicons/android-chrome-192x192.png" sizes="192x192" /> + <link rel="icon" type="image/png" href="/web-assets/favicons/favicon-32x32.png" sizes="32x32" /> + <link rel="icon" type="image/png" href="/web-assets/favicons/favicon-16x16.png" sizes="16x16" /> + <link rel="manifest" href="/web-assets/favicons/manifest.json" /> + <link rel="mask-icon" href="/web-assets/favicons/safari-pinned-tab.svg" color="#2DA6B0" /> + <meta name="msapplication-TileColor" content="#ffffff" /> + <meta name="msapplication-TileImage" content="/web-assets/favicons/mstile-150x150.png" /> + + <meta name="og:title" content="gRPC Package Build"/> + <meta name="og:image" content="https://grpc.io/img/grpc_square_reverse_4x.png"/> + <meta name="og:description" content="gRPC Package Build"/> + </head> + <body bgcolor="#ffffff"> + <div id="topbar"> + <span class="title">Artifacts for gRPC Build <xsl:value-of select="@id"/></span> + </div> + <div id="main"> + <div id="metadata"> + <span class="fieldname">Build: </span> <a href='#'><xsl:value-of select="@id"/></a> + [<a href="https://source.cloud.google.com/results/invocations/{@id}">invocation</a>]<br /> + <span class="fieldname">Timestamp: </span> + <xsl:value-of select="@timestamp"/> <br /> + <span class="fieldname">Branch: </span> + <a href="https://github.com/grpc/grpc/tree/{./metadata/branch[text()]}"> + <xsl:value-of select="./metadata/branch[text()]" /> + </a><br /> + <span class="fieldname">Commit: </span> + <a href="https://github.com/grpc/grpc/tree/{./metadata/commit[text()]}"> + <xsl:value-of select="./metadata/commit[text()]" /><br /></a> + </div> + <xsl:apply-templates select="artifacts" /> + <br /> + <br /> + + <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> + <p class="description"> + Copyright © <xsl:value-of select="substring(@timestamp, 1, 4)" /> <a href="https://github.com/grpc/grpc/blob/{./metadata/commit[text()]}/AUTHORS">The gRPC Authors</a></p> + <br /> + <br /> + </div> + </body> + </html> +</xsl:template> + +<xsl:template match="artifacts"> +<h2> gRPC <code>protoc</code> Plugins </h2> +<table> +<xsl:apply-templates select="artifact[@type='protoc']"> + <xsl:sort select="artifact/@name" /> + </xsl:apply-templates> +</table> + +<h2> C# </h2> +<table> +<xsl:apply-templates select="artifact[@type='csharp']"> + <xsl:sort select="artifact/@name" /> + </xsl:apply-templates> +</table> + +<h2> PHP </h2> +<table> +<xsl:apply-templates select="artifact[@type='php']"> + <xsl:sort select="artifact/@name" /> + </xsl:apply-templates> +</table> + +<h2> Python </h2> +<script type="text/javascript"> +// <![CDATA[ +var pythonRepoLink = document.createElement("a"); +pythonRepoLink.href = './python'; +var pythonRepo = pythonRepoLink.href; +document.write("<p><code>" + +"$ pip install --pre --upgrade --force-reinstall --extra-index-url \\<br />" + +" <a href='" + pythonRepo + "'>" + pythonRepo + "</a> \\<br />" + +" grpcio grpcio-{tools,health-checking,reflection,testing}</code></p>"); +// ]]> +</script> +<table> + <xsl:apply-templates select="artifact[@type='python']"> + <xsl:sort select="artifact/@name" /> + </xsl:apply-templates> +</table> + +<h2> Ruby </h2> +<table> +<xsl:apply-templates select="artifact[@type='ruby']"> + <xsl:sort select="artifact/@name" /> + </xsl:apply-templates> +</table> + +</xsl:template> + + +<xsl:template match="artifact"> +<tr> +<td class="name"> <a href="{@path}"><xsl:value-of select="@name" /></a> </td> +<td class="hash"> <xsl:value-of select="@sha256"/> </td> +</tr> +</xsl:template> + +<xsl:template match="metadata"> +</xsl:template> + +</xsl:stylesheet> diff --git a/tools/package_hosting/dirindex.css b/tools/package_hosting/dirindex.css new file mode 100644 index 0000000000..6c4b04ea32 --- /dev/null +++ b/tools/package_hosting/dirindex.css @@ -0,0 +1,16 @@ +ul { + list-style-type: none; +} +a{ + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +ul li a { + font-family: 'SF Mono', 'Menlo', 'Monaco', 'Consolas', 'Courier New', Courier, monospace +} +h1 { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif +} + diff --git a/tools/package_hosting/home.xsl b/tools/package_hosting/home.xsl new file mode 100644 index 0000000000..3f79303b1b --- /dev/null +++ b/tools/package_hosting/home.xsl @@ -0,0 +1,86 @@ +<?xml version="1.0"?> +<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + +<xsl:template match="//packages"> + <html> + <head> + <title>gRPC Packages</title> + <link rel="stylesheet" type="text/css" href="/web-assets/style.css" /> + <link rel="apple-touch-icon" href="/web-assets/favicons/apple-touch-icon.png" sizes="180x180" /> + <link rel="icon" type="image/png" href="/web-assets/favicons/android-chrome-192x192.png" sizes="192x192" /> + <link rel="icon" type="image/png" href="/web-assets/favicons/favicon-32x32.png" sizes="32x32" /> + <link rel="icon" type="image/png" href="/web-assets/favicons/favicon-16x16.png" sizes="16x16" /> + <link rel="manifest" href="/web-assets/favicons/manifest.json" /> + <link rel="mask-icon" href="/web-assets/favicons/safari-pinned-tab.svg" color="#2DA6B0" /> + <meta name="msapplication-TileColor" content="#ffffff" /> + <meta name="msapplication-TileImage" content="/web-assets/favicons/mstile-150x150.png" /> + <meta name="og:title" content="gRPC Packages"/> + <meta name="og:image" content="https://grpc.io/img/grpc_square_reverse_4x.png"/> + <meta name="og:description" content="gRPC Packages"/> + </head> + <body bgcolor="#ffffff"> + <div id="topbar"> + <span class="title">gRPC Packages</span> + </div> + <div id="main"> + <xsl:apply-templates select="releases" /> + <xsl:apply-templates select="builds" /> + <br /> + <br /> + <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> + <p class="description">Copyright © 2018 <a href="https://github.com/grpc/grpc/blob/master/AUTHORS">The gRPC Authors</a></p> + </div> + </body> + </html> +</xsl:template> + +<xsl:template match="releases"> + <h2>Official gRPC Releases</h2> + <p>Commits corresponding to <a href="https://github.com/grpc/grpc/releases">official gRPC release points and release candidates</a> are tagged on GitHub.</p> + <p>To maximize usability, gRPC supports the standard way of adding dependencies in your language of choice (if there is one). + In most languages, the gRPC runtime comes in form of a package available in your language's package manager.</p> + <p>For instructions on how to use the language-specific gRPC runtime in your project, please refer to the following:</p> + <ul> + <li><a href="https://github.com/grpc/grpc/blob/master/src/cpp">C++</a>: follow the instructions under the <a href="https://github.com/grpc/grpc/tree/master/src/cpp"><code>src/cpp</code> directory</a></li> + <li><a href="https://github.com/grpc/grpc/blob/master/src/csharp">C#</a>: NuGet package <code>Grpc</code></li> + <li><a href="https://github.com/grpc/grpc-dart">Dart</a>: pub package <code>grpc</code></li> + <li><a href="https://github.com/grpc/grpc-go">Go</a>: <code>go get google.golang.org/grpc</code></li> + <li><a href="https://github.com/grpc/grpc-java">Java</a>: Use JARs from <a href="https://mvnrepository.com/artifact/io.grpc">gRPC Maven Central Repository</a></li> + <li><a href="https://github.com/grpc/grpc-node">Node</a>: <code>npm install grpc</code></li> + <li><a href="https://github.com/grpc/grpc/blob/master/src/objective-c">Objective-C</a>: Add <code>gRPC-ProtoRPC</code> dependency to podspec</li> + <li><a href="https://github.com/grpc/grpc/blob/master/src/php">PHP</a>: <code>pecl install grpc</code></li> + <li><a href="https://github.com/grpc/grpc/blob/master/src/python/grpcio">Python</a>: <code>pip install grpcio</code></li> + <li><a href="https://github.com/grpc/grpc/blob/master/src/ruby">Ruby</a>: <code>gem install grpc</code></li> + <li><a href="https://github.com/grpc/grpc-web">WebJS</a>: follow the <a href="https://github.com/grpc/grpc-web">instructions in <code>grpc-web</code> repository</a></li> + </ul> +</xsl:template> + +<xsl:template match="builds"> + <h2> Daily Builds of <a href="https://github.com/grpc/grpc/tree/master"><code>master</code></a> Branch</h2> + <p>gRPC packages are built on a daily basis at the <code>HEAD</code> of <a href="https://github.com/grpc/grpc/tree/master">the <code>master</code> branch</a> and are archived here.</p> + <p> + <a href="#">The current document</a> (view source) is an XML feed pointing to the packages as they get built and uploaded. + You can subscribe to this feed and fetch, deploy, and test the precompiled packages with your continuous integration infrastructure. + </p> + <p>For stable release packages, please consult the above section and the common package manager for your language.</p> + <table style="border:solid black 1px"> + <tr style="background-color:lightgray"> + <td>Timestamp</td> + <td>Commit</td> + <td>Build ID</td> + </tr> + <xsl:apply-templates select="build[@branch='master']"> + <xsl:sort select="@timestamp" data-type="text" order="descending" /> + </xsl:apply-templates> + </table> +</xsl:template> + +<xsl:template match="build"> + <tr> + <td class="name"><xsl:value-of select="@timestamp" /></td> + <td class="name"> <a href="https://github.com/grpc/grpc/tree/{@commit}"><xsl:value-of select="@commit" /></a></td> + <td class="name"> <a href="{@path}"><xsl:value-of select="@id" /></a></td> + </tr> +</xsl:template> + +</xsl:stylesheet> diff --git a/tools/package_hosting/style.css b/tools/package_hosting/style.css new file mode 100644 index 0000000000..dbd26d50cf --- /dev/null +++ b/tools/package_hosting/style.css @@ -0,0 +1,76 @@ +html, body +{ + margin: 0; + font-family: sans-serif; +} + +a, a:visited, a:link, a:active { + color: #2da6b0; + text-decoration: none; +} + +a:hover { + color: #2da6b0; + text-decoration: underline; +} + +#topbar { + background-color: #2da6b0; + height: 60px; + margin:auto; +} + +#topbar .title { + position: relative; + top: 24px; + left: 24px; + color: white; + font-family: sans-serif; + font-weight: bold; +} + +#main { + max-width:1100px; + margin:auto; +} + +#main h2 { + text-align: left; +} + +#main table { + width:100%; + border-collapse: collapse; + font-size: small; + font-family: 'SF Mono', 'Menlo', 'Monaco', 'Courier New', Courier, monospace; +} +#main table tr td { + border: solid black 1px; + padding: 5px; +} + +#main table tr td.hash { + text-align: right; + border-left: none; + font-size: x-small; +} + +#main table tr td.name { + text-align: left; + border-right: none; +} + +p.description +{ + font-size: smaller; +} + +#metadata { + margin-top: 15px; + padding: 15px; + font-family: 'SF Mono', 'Menlo', 'Monaco', 'Courier New', Courier, monospace; +} + +#metadata span.fieldname { + font-family: sans-serif; +}
\ No newline at end of file diff --git a/tools/package_hosting/upload_web_assets.sh b/tools/package_hosting/upload_web_assets.sh new file mode 100755 index 0000000000..dcf258e38e --- /dev/null +++ b/tools/package_hosting/upload_web_assets.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# Copyright 2018 The gRPC Authors +# +# 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. + +set -ex + +cd "$(dirname "$0")" + +GCS_WEB_ASSETS=gs://packages.grpc.io/web-assets/ + +WEB_ASSETS=( + 404.html + build-201807.xsl + dirindex.css + home.xsl + style.css +) + +gsutil -m cp "${WEB_ASSETS[@]}" "$GCS_WEB_ASSETS" |