mirror of https://github.com/grpc/grpc.git
Merge pull request #16112 from mehrdada/upload-web-assets-4-packages.grpc.io
Upload web-assets for packages.grpc.iopull/16116/head
commit
1fd9b62cee
6 changed files with 323 additions and 0 deletions
@ -0,0 +1 @@ |
||||
404 Not Found |
@ -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> |
@ -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 |
||||
} |
||||
|
@ -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> |
@ -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; |
||||
} |
@ -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" |
Loading…
Reference in new issue