Граф коммитов

63 Коммитов

Автор SHA1 Сообщение Дата
Christopher Warrington f1aa163eb1 [c# grpc] Fix codegen for generic collection args
If a service use a generic type like bond.Box<T> with a collection type
argument as a parameter/return type, the generated code was missing an
import of System.Collections.Generic. This has been fixed.

An example, demonstrating how to use bond.Box to wrap scalar service
arguments has been added. This also serves to test the fixed codegen.

A helper method Bond.Box.Create() has been added to enable creation of
Bond.Box<T> instances via type deduction.

Fixes https://github.com/Microsoft/bond/issues/623
2017-09-29 13:59:59 -07:00
Eduardo Salinas 0310220c3f [msbuild] Find gbc in a clean build
- Correctly find the just compiled gbc
- Add fail condition to appveyor CI
- Closes https://github.com/Microsoft/bond/issues/526
2017-07-12 19:05:38 -07:00
Chad Walters 350e0d7bb0 [c#] Fully support uint64 in JSON when possible
Use Newtonsoft's JSON.NET BigInteger support -- when available -- to
handle the full range of uint64 values in the SimpleJson protocol (.NET
4.5 or greater, .NET Standard 1.6 or greater).
2017-07-12 18:50:58 -07:00
Ted Stein e90294c562 [c++] Don't build Comm by default 2017-07-12 14:28:44 -07:00
Chad Walters 3bbe401069 [C#] Remove support for .NET 4.0 2017-06-29 13:24:14 -07:00
Eduardo Salinas 0c06fbbddf [appveyor] Remove duplicate entry 2017-06-27 11:33:33 -07:00
Eduardo Salinas 52dbdb0ba8 [gbc] Migrate from cabal to stack
- cmake will use stack instead of cabal to
  build gbc
- update readme
- unpin ansi-terminal version
2017-06-26 20:53:28 -07:00
Chad Walters 2be617f156 [appveyor] More optimization of AppVeyor builds
* Only load git submodules when they are needed.
* Remove redundant .NET Core build.
* Start slowest configurations first to reduce overall turn-around time.

Closes https://github.com/Microsoft/bond/pull/457
2017-05-26 17:22:45 -07:00
Chad Walters 80ff78bde8 Fix gRPC example run in AppVeyor script 2017-05-24 19:16:31 -07:00
Chad Walters f2d35da213 Reduce redundancy in AppVeyor matrix 2017-05-24 19:16:31 -07:00
Christopher Warrington a0b13dfa2e [appveyor] Build all C# compat tests in C++ build
We were only building the core C# compat test before. Now, we build the
Comm and gRPC variants as well.

We don't always need all of these C# compat tests--depending on what
part of C++ we're building--but they're pretty fast to build, so build
them all.
2017-05-24 01:38:48 -07:00
Christopher Warrington 1ce0cd3cde [appveyor] Install yasm if gRPC++ isn't disabled
The previous approach only installed yasm for entries in the matrix that
explicitly opted-in, which resulted in duplicate state. Now, it figures
out whether yasm is needed by looking for the BOND_ENABLE_GRPC CMake
flag.
2017-05-24 01:38:44 -07:00
Christopher Warrington d7cb5c608a Merge current master branch into grpc++ 2017-05-23 23:08:26 -07:00
Eduardo Salinas 85bdd21d80 [appveyor] Remove submodule --depth
- Did not work as expected and caused an error when cloning
2017-05-23 15:23:51 -07:00
Eduardo Salinas 60137ee263 [c++ grpc] Add Bond-over-gRPC AppVeyor support
* Install yasm
* Handle CMake stderr output
* For minor performance improvement, only clone submodules with a depth of 5
2017-05-23 14:57:36 -07:00
Chad Walters 731d7dc137 [C++ gRPC] Update cmake flags in scripts/configs
Replace BOND_CORE_ONLY with BOND_ENABLE_COMM and BOND_ENABLE_GRPC in cmake
scripts and configs for AppVeyor and Travis. Both BOND_ENABLE_COMM and
BOND_ENABLE_GRPC are set to TRUE by default.
2017-05-19 13:15:03 -07:00
Chad Walters fcd492dfd7 Update BOND_TOKEN for documentation build (again) 2017-05-16 17:40:54 -07:00
Chad Walters 0a96fb6e64 Update BOND_TOKEN for documentation build 2017-05-16 17:09:54 -07:00
Eduardo Salinas 8ad05a984c [appveyor] Reorder matrix
Closes https://github.com/Microsoft/bond/pull/389
2017-03-31 11:33:45 -07:00
Christopher Warrington 0ff6ddb204 [c#] Add Bond-over-gRPC
* 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
2017-03-29 18:07:02 -07:00
Chad Walters 7a3d4b02fd Fix 64-bit Python build on AppVeyor 2017-03-14 12:52:46 -07:00
Chad Walters 7d9e0fdb92 Remove cruft in Python AppVeyor script 2017-03-14 12:52:46 -07:00
Chad Walters 8e6e5a9bfa Add Boost 1.63 Python config for AppVeyor 2017-03-14 12:52:46 -07:00
Christopher Warrington 3708a3b8b0 Use precompiled pandoc for building documentation (#353)
* Use precompiled pandoc for building documentation

Instead of building pandoc from source, we now just use Chocolately to
install a precompiled version of pandoc. This speeds up documentation
builds and prevents random breakage due to Hackage package changes.

NB: The Chocolately Pandoc 1.19.2.1 package is currently broken. It
appears to have a pre-release Pandoc 2.0 executable that doesn't
understand all the command line flags that 1.x does (e.g., --smart).

Fixes https://github.com/Microsoft/bond/issues/341

* Match Window's default path building order
2017-03-09 16:32:22 -08:00
Chad Walters 5cde6f878b Add BOND_SKIP_GBC_TESTS for cmake scripts
Also, skip gbc tests on AppVeyor VC12 runs, testing via VC14 is good
enough.
2016-11-18 13:45:03 -08:00
Chad Walters 4f70e758e3 Add BOND_SKIP_CORE_TESTS flag for cmake scripts
Split the Appveyor VC12 build into two builds: one for Core tests/examples
and the other for Comm tests/examples.
2016-11-18 13:45:03 -08:00
Chad Walters 3f63dcc260 Bump Boost version on AppVeyor
For VC12, use 1.58. For VC14, use 1.60 (Boost 1.58 not currently
available for VC14 on AppVeyor and Boost 1.59 has bugs in asio library).
2016-11-16 16:08:17 -08:00
Christopher Warrington f99b8b8d28 [c#] Integrate .NET Core build into AppVeyor
* Added to AppVeyor matrix
* Added -Verbosity and -MSBuildLogger switches to .NET Core build script, as
  we want to specify both of these for AppVeyor
2016-11-14 12:58:30 -08:00
Christopher Warrington 7d1ad20571 Constrain mtl to get pandoc to build again
* Also make the pandoc build run in parallel
2016-11-10 17:12:26 -08:00
Eduardo Salinas 9e80d818da Improve AppVeyor CI
- Use AppVeyor pre-installed Boost
- Run C++ unit tests
- Fail if Boost unit test framework is not found
- Pin lifted-base version while upstream Pandoc packages resolve the conflict
2016-07-21 14:34:02 -07:00
Christopher Warrington 97104a4536 Disable Comm unit tests in AppVeyor build
* The tests are not yet working with AppVeyor, but they are passing
  locally.
  * Fields configuration fails to run.
  * Some Epoxy tests are not completely stable.
2016-06-01 19:37:48 -07:00
Christopher Warrington 155f814397 Add C# Comm unit tests to AppVeyor build 2016-05-31 00:31:12 -07:00
Adam Sapek f422bd6dea Add C# compatibility test to Appveyor CI matrix 2015-12-04 15:27:37 -08:00
Adam Sapek e57fd7f43a Fail Appveyor build when C# tests fail
Setting $ErrorActionPreference = "Stop" doesn't appear to be sufficient
to break the build on test failure.
2015-11-10 14:32:41 -08:00
Adam Sapek a4201850a6 Group CMake targets into folders
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.
2015-10-28 22:30:41 -07:00
Adam Sapek 3d0904324a Don't try to commit documentation w/o GitHub token
Fixed the condition detecting that secure token variable is not set,
e.g. in a PR build.
2015-09-08 19:39:04 -07:00
Adam Sapek c6d19ab3b9 Deploy GitHub Pages from Appveyor CI build 2015-08-25 16:21:20 -07:00
Adam Sapek 4e3d14158f Add Python build/test to appveyor CI 2015-08-20 16:32:08 -07:00
Adam Sapek d874d1e52a Update appveyor CI build to Boost 1.59 2015-08-20 14:12:04 -07:00
Adam Sapek 559c336174 Add Visual Studio 12/Boost 1.58 to CI build matrix 2015-07-07 14:49:02 -07:00
Adam Sapek ca92c77b0c Build documentation as part of Appveyor CI build 2015-07-07 13:15:57 -07:00
Adam Sapek a7429777c1 Simplify Appveyor configuration
With the faster Appveyor build VMs we don't need to customize the build
so much to finish it within time limit. We can now use more declarative
build matrix instead of custom build script.
2015-07-05 06:52:14 -07:00
Adam Sapek b87b832b22 Remove Appveyor build speed workaround
We used to run all C# tests only when we could restore cabal sandbox
from the cache and avoid building all Haskell dependencies. The new
Appveyor VMs are much faster and this is no longer necessary.
2015-07-04 10:57:04 -07:00
Adam Sapek 9692499b14 Add C++ and compiler tests to appveyor matrix
- Remove the `os` property to move to the new, faster build environment.
- Use the `check` target for C++ build to run C++ and gbc tests.
- Update boost to version 1.58.
2015-06-30 10:59:02 -07:00
Adam Sapek 9fe9eeca89 Refactor compiler/codegen as a Haskell library 2015-06-22 12:32:23 -07:00
Adam Sapek 5fb697b75d Add C++ build/test to Appveyor CI build matrix 2015-06-12 08:34:42 -07:00
Adam Sapek 7a14f45fcd Update CI configuration files
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
2015-04-02 20:11:42 -07:00
Adam Sapek ebf9175eef Switch AppVeyor to previous builder image
The new builder appears to have less memory and fails while building
Haskell libraries.
2015-02-27 02:01:47 -08:00
xplicit 235c3a0c5f Convert unit tests from MSTest to NUnit 2015-02-12 11:54:59 +06:00
Adam Sapek 72fa67e0f7 Remove CollectionInterfaces config from appveyor 2015-02-11 12:17:47 -08:00