The wait_callback helper can be used with the generated gRPC proxies to
synchronously wait for the proxy callback to be invoked.
* helloworld updated to use wait_callback
* gRPC compat client updated to use wait_callback
* unit tests added
Now building the documentation target will re-run Doxygen if any of the
public header files that comprise Bond have been changed.
CMake GLOB patterns can cause some problems: the glob is evaluated once
when the project files are generated. If files are added after
project generation, the project file won't know to re-run CMake.
Since we're just using this for documentation, and the official
documentation build always runs CMake, this trade off is acceptable.
* gbc can now generate proxies and service stubs for gRPC
* The assembly Bond.Grpc.dll contains glue code
* Documentation updated
* Bond Comm deprecation notice added
Closes https://github.com/Microsoft/bond/pull/386
* Logo is now embedded in the template and above the table of contents
* Move logo in README to be at the top and separated with a hr. This looks
okay when rendered by GitHub and when rendered by Pandoc.
* README.md has gotten long enough that it can use a table of contents
* Use inline bash syntax highlighting for README.md: this doesn't highlight
extra things like the python mode was doing, and looks reasonable for all
the snippets, including the Windows CMD snippets
* This also lets us to get rid of the index.html template--it was almost
identical to the default.html template, but had some formatting colors
overridden to black.
Closes https://github.com/Microsoft/bond/pull/237
With the `--self-contained` flag to Pandoc, we were downloading the
NuGet version badges at build time and embedding them in the generated
HTML as data URIs. We actually want those to be fetched anew each time
someone renders the page so they see the latest version, not the version
that was current when the page was generated.
This should also get rid of the build failures we were seeing when
shields.io was down.
If pandoc or doxygen are not available updating documentation in GitHub
Pages may result in deleting existing docs. In order to avoid this we
create the `documentation` target only if both tools are available.
CMake uses the `FOLDER` property to group the generated Visual Studio
projects into solution folders.
Removed bond_ and documentation_ prefix from project names. The prefixes
were intended to group projects by name which is no longer necessary.
AppVeyor:
1. Work around memory limitations in Haskell build
2. Run subset of C# test matrix if the sandbox wasn't in cache
Travis CI
1. Change project type to C++
2. Install Mono manually in Linux
3. Use Clang as C++ compiler
4. cabal install happy
The documentation is compiled from the markdown sources to html using
`pandoc`. In order to install `pandoc` run:
cabal install pandoc
The documentation build is optional and if `pandoc` is not found during
cmake project configuration the documentation build is skipped.