aboutsummaryrefslogtreecommitdiffhomepage
path: root/templates
diff options
context:
space:
mode:
Diffstat (limited to 'templates')
-rw-r--r--templates/BUILD.template256
-rw-r--r--templates/tools/dockerfile/test/bazel/Dockerfile.template48
-rw-r--r--templates/tools/doxygen/Doxyfile.include29
3 files changed, 70 insertions, 263 deletions
diff --git a/templates/BUILD.template b/templates/BUILD.template
deleted file mode 100644
index af23fb2799..0000000000
--- a/templates/BUILD.template
+++ /dev/null
@@ -1,256 +0,0 @@
-%YAML 1.2
---- |
- # GRPC Bazel BUILD file.
- # This currently builds C, C++ and Objective-C code.
- # This file has been automatically generated from a template file.
- # Please look at the templates directory instead.
- # This file can be regenerated from the template by running
- # tools/buildgen/generate_projects.sh
-
- # Copyright 2015, Google Inc.
- # All rights reserved.
- #
- # Redistribution and use in source and binary forms, with or without
- # modification, are permitted provided that the following conditions are
- # met:
- #
- # * Redistributions of source code must retain the above copyright
- # notice, this list of conditions and the following disclaimer.
- # * Redistributions in binary form must reproduce the above
- # copyright notice, this list of conditions and the following disclaimer
- # in the documentation and/or other materials provided with the
- # distribution.
- # * Neither the name of Google Inc. nor the names of its
- # contributors may be used to endorse or promote products derived from
- # this software without specific prior written permission.
- #
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- licenses(["notice"]) # 3-clause BSD
-
- exports_files(["LICENSE"])
-
- package(default_visibility = ["//visibility:public"])
-
- <%!
- def get_deps(target_dict):
- deps = []
- if target_dict.get('secure', False):
- deps = [
- "//external:libssl",
- ]
- if target_dict.get('build', None) == 'protoc':
- deps.append("//external:protobuf_compiler")
- if (target_dict['name'] == 'grpc++_unsecure' or
- target_dict['name'] == 'grpc++' or
- target_dict['name'] == 'grpc++_codegen_lib'):
- deps.append("//external:protobuf_clib")
- elif target_dict['name'] == 'grpc':
- deps.append("//external:zlib")
- for d in target_dict.get('deps', []):
- if d.find('//') == 0 or d[0] == ':':
- deps.append(d)
- else:
- deps.append(':%s' % (d))
- return deps
- %>
-
- % for lib in libs:
- % if lib.build in ("all", "protoc"):
- ${cc_library(lib)}
- % endif
- % endfor
-
- % for lib in libs:
- % if lib.name in ("grpc", "gpr"):
- ${objc_library(lib)}
- % endif
- % endfor
-
- % for tgt in targets:
- % if tgt.build == 'protoc':
- ${cc_binary(tgt)}
- % endif
- % endfor
-
- <%def name="cc_library(lib)">
- <%
- lib_hdrs = lib.get("headers", [])
- hdrs = [h for h in lib_hdrs if not h.startswith('third_party/nanopb')]
- srcs = [s for s in lib.src if not s.startswith('third_party/nanopb')]
- uses_nanopb = len(lib_hdrs) != len(hdrs) or len(srcs) != len(lib.src)
- %>
- cc_library(
- name = "${lib.name}",
- srcs = [
- % for hdr in hdrs:
- "${hdr}",
- % endfor
- % for src in srcs:
- "${src}",
- % endfor
- ],
- hdrs = [
- % for hdr in lib.get("public_headers", []):
- "${hdr}",
- % endfor
- ],
- includes = [
- "include",
- ".",
- ],
- deps = [
- % for dep in get_deps(lib):
- "${dep}",
- % endfor
- % if uses_nanopb:
- "//external:nanopb",
- % endif
- ],
- % if lib.name in ("grpc", "grpc_unsecure"):
- copts = [
- "-std=gnu99",
- ],
- % endif
- )
- </%def>
-
- <%def name="objc_library(lib)">
- <%
- lib_hdrs = lib.get("headers", [])
- hdrs = [h for h in lib_hdrs if not h.startswith('third_party/nanopb')]
- srcs = [s for s in lib.src if not s.startswith('third_party/nanopb')]
- uses_nanopb = len(lib_hdrs) != len(hdrs) or len(srcs) != len(lib.src)
- %>
- objc_library(
- name = "${lib.name}_objc",
- srcs = [
- % for src in srcs:
- "${src}",
- % endfor
- ],
- hdrs = [
- % for hdr in lib.get("public_headers", []):
- "${hdr}",
- % endfor
- % for hdr in hdrs:
- "${hdr}",
- % endfor
- ],
- includes = [
- "include",
- ".",
- ],
- deps = [
- % for dep in lib.get("deps", []):
- ":${dep}_objc",
- % endfor
- % if lib.get('secure', False):
- "//external:libssl_objc",
- % endif
- % if uses_nanopb:
- "//external:nanopb",
- % endif
- ],
- % if lib.get("baselib", false):
- sdk_dylibs = ["libz"],
- % endif
- )
- </%def>
-
- <%def name="cc_binary(tgt)">
- cc_binary(
- name = "${tgt.name}",
- srcs = [
- % for src in tgt.src:
- "${src}",
- % endfor
- ],
- deps = [
- % for dep in get_deps(tgt):
- "${dep}",
- % endfor
- ],
- )
- </%def>
-
- objc_path = "src/objective-c"
-
- rx_library_path = objc_path + "/RxLibrary"
-
- objc_library(
- name = "rx_library",
- hdrs = glob([
- rx_library_path + "/*.h",
- rx_library_path + "/transformations/*.h",
- ]),
- srcs = glob([
- rx_library_path + "/*.m",
- rx_library_path + "/transformations/*.m",
- ]),
- includes = [objc_path],
- deps = [
- ":rx_library_private",
- ],
- )
-
- objc_library(
- name = "rx_library_private",
- hdrs = glob([rx_library_path + "/private/*.h"]),
- srcs = glob([rx_library_path + "/private/*.m"]),
- visibility = ["//visibility:private"],
- )
-
- objc_client_path = objc_path + "/GRPCClient"
-
- objc_library(
- name = "grpc_client",
- hdrs = glob([
- objc_client_path + "/*.h",
- objc_client_path + "/private/*.h",
- ]),
- srcs = glob([
- objc_client_path + "/*.m",
- objc_client_path + "/private/*.m",
- ]),
- includes = [objc_path],
- bundles = [":gRPCCertificates"],
- deps = [
- ":grpc_objc",
- ":rx_library",
- ],
- )
-
- objc_bundle_library(
- # The choice of name is signicant here, since it determines the bundle name.
- name = "gRPCCertificates",
- resources = ["etc/roots.pem"],
- )
-
- proto_objc_rpc_path = objc_path + "/ProtoRPC"
-
- objc_library(
- name = "proto_objc_rpc",
- hdrs = glob([
- proto_objc_rpc_path + "/*.h",
- ]),
- srcs = glob([
- proto_objc_rpc_path + "/*.m",
- ]),
- includes = [objc_path],
- deps = [
- ":grpc_client",
- ":rx_library",
- "//external:protobuf_objc",
- ],
- )
diff --git a/templates/tools/dockerfile/test/bazel/Dockerfile.template b/templates/tools/dockerfile/test/bazel/Dockerfile.template
new file mode 100644
index 0000000000..82f90bef68
--- /dev/null
+++ b/templates/tools/dockerfile/test/bazel/Dockerfile.template
@@ -0,0 +1,48 @@
+%YAML 1.2
+--- |
+ # Copyright 2015, Google Inc.
+ # All rights reserved.
+ #
+ # Redistribution and use in source and binary forms, with or without
+ # modification, are permitted provided that the following conditions are
+ # met:
+ #
+ # * Redistributions of source code must retain the above copyright
+ # notice, this list of conditions and the following disclaimer.
+ # * Redistributions in binary form must reproduce the above
+ # copyright notice, this list of conditions and the following disclaimer
+ # in the documentation and/or other materials provided with the
+ # distribution.
+ # * Neither the name of Google Inc. nor the names of its
+ # contributors may be used to endorse or promote products derived from
+ # this software without specific prior written permission.
+ #
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ FROM ubuntu:15.10
+
+ <%include file="../../apt_get_basic.include"/>
+
+ #========================
+ # Bazel installation
+ RUN apt-get install -y software-properties-common g++
+ RUN echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" > /etc/apt/sources.list.d/bazel.list
+ RUN curl https://bazel.build/bazel-release.pub.gpg | apt-key add -
+ RUN apt-get -y update
+ RUN apt-get -y install bazel
+
+ RUN mkdir -p /var/local/jenkins
+
+ # Define the default command.
+ CMD ["bash"]
+
diff --git a/templates/tools/doxygen/Doxyfile.include b/templates/tools/doxygen/Doxyfile.include
index 8b0c528c1f..a22f07f33f 100644
--- a/templates/tools/doxygen/Doxyfile.include
+++ b/templates/tools/doxygen/Doxyfile.include
@@ -8,7 +8,10 @@
<%def name="gen_doxyfile(libnames, packagename, collection, internal)">
<%
import itertools
+ import glob
+ import os
targets = []
+ docpackage = packagename.replace('+', 'p').lower()
for libname in libnames:
target = None
for p in collection:
@@ -16,6 +19,11 @@
target = p
assert(target)
targets.append(target)
+ srcdoc = []
+ for dirpath, dirnames, filenames in os.walk('src/%s' % docpackage):
+ for filename in filenames:
+ if os.path.splitext(filename)[1] == '.md':
+ srcdoc.append(os.path.join(dirpath, filename))
%>
# Doxyfile 1.8.9.1
@@ -778,13 +786,20 @@ WARN_LOGFILE =
# spaces.
# Note: If this tag is empty the current directory is searched.
-INPUT = ${' \\\n'.join(
- itertools.chain.from_iterable(
- target.public_headers +
- ([]
- if not internal
- else target.headers + target.src)
- for target in targets))}
+INPUT = ${
+ ' \\\n'.join(
+ itertools.chain(
+ itertools.chain.from_iterable(
+ target.public_headers +
+ ([]
+ if not internal
+ else target.headers + target.src)
+ for target in targets),
+ glob.glob('doc/*.md'),
+ glob.glob('doc/%s/*.md' % docpackage),
+ [] if not internal else srcdoc)
+ )
+}
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses