The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#) https://grpc.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.5 KiB

## Populates "targets" for all names in the collection "libnames" that are
## part of "collection".
##
## Note that "packagename" and "internal" while not used
## in the function itself are referenced in the template.
## When "internal" is true, documentation for non-public headers
## and sources is also taken as input to Doxygen (see INPUT).
<%namespace import="doxy_base" file="Doxyfile.base"/>
<%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:
if p.name == libname:
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))
version = settings.core_version if packagename=='Core' else settings.cpp_version
doxy_input = ' \\\n'.join(sorted(set(
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)
)))
%>
${doxy_base(packagename, version, doxy_input, internal)}
</%def>