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

48 Коммитов

Автор SHA1 Сообщение Дата
Ted Stein 41758e8946 Merge remote-tracking branch 'origin/master' into jvm 2017-07-12 14:57:31 -07:00
Christopher Warrington 2435544269 Update changelog for 6.0.0 release 2017-06-29 17:06:06 -07:00
Simon Gansky 667435491a Initial Java generics codegen work. 2017-06-29 15:48:59 -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
Christopher Warrington 26cb3046ff [gbc] Pin gbc-tests to ansi-terminal < 0.6.3
The Hackage package ansi-terminal as of version 0.6.3 is no longer
building with GHC 7.8.3, which causes out CI builds to fail.

Issue https://github.com/feuerbach/ansi-terminal/issues/22 has been
opened about this, but until it is resolved, we need to use an earlier
version.
2017-05-25 17:13:49 -07:00
Christopher Warrington d7cb5c608a Merge current master branch into grpc++ 2017-05-23 23:08:26 -07:00
Eduardo Salinas 26674d3943 [c++ grpc] Add threadpool to client side
- user can specify thread pool to be used to run the user's callbacks
- type aliases added for the common case when bond::ext::thread_pool is
  used
2017-05-23 21:17:30 -07:00
Ted Stein ee1a3be725 Implement some schema feedback and write nullables. 2017-05-22 13:44:24 -07:00
Ted Stein 969af9dcb8 java core: Partially implement static metadata. 2017-05-22 13:44:24 -07:00
Ted Stein ff98ab2f07 java core: Add module for codegen'd .serialize()s. 2017-05-22 13:44:24 -07:00
Ted Stein b6a920d44b Split class and enum. 2017-05-22 13:42:58 -07:00
Ted Stein 9d7732c568 wip: Java builds. 2017-05-22 13:42:05 -07:00
Eduardo Salinas 2fbb3611af [c++ grpc] Add initial codegen and library code
* Initial shape of proxies and services.
* Synchronous example that sends/receives Bond messages.
* Simple thread pool for dispatching work.
2017-05-10 18:33:14 -07:00
Christopher Warrington b0e490f62d Update changelog for 5.3.0 release 2017-04-12 15:36:43 -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
Christopher Warrington 23fa450e05 [c++] Avoid name shadowing warnings
Bond's warning.h header was suppressing warnings about names shadowing
each other. The supressions have been removed, and renames have been
made in library code.

For generated member function parameters, a name that doesn't conflict
with any fields names is now chosen.
2017-03-17 12:58:26 -07:00
Christopher Warrington bd82359a46 [gbc] Temporarily pin derive dependency to < 2.6
gbc-tests no longer builds with derive 2.6 or later. While we
investigate that problem, pin the dependency to < 2.6 to keep gbc-tests
building.

Mitigates https://github.com/Microsoft/bond/issues/342
2017-03-09 16:52:33 -08:00
Christopher Warrington 31d88afa18 Prepare for the 5.2.0 release
Due to the C++ Boost dependency bump, both BOND_VERSION and
BOND_MIN_CODEGEN_VERSION in bond_version.h have been updated to the
current version.
2017-02-07 16:04:41 -08:00
Christopher Warrington cd4e08e347 [gbc] Rename Types_Comm_cpp to Comm_cpp
Renamed the file, the module, and the functions.
2017-01-20 11:14:54 -08:00
Christopher Warrington 15d58be7fc Prepare for 5.1.0 release
* Update CHANGELOG
* Update some stale documentation
* Update golden test files with new gbc version

Closes https://github.com/Microsoft/bond/pull/269
2016-11-14 15:00:34 -08:00
Ted Stein 7a837b4b96 [C++ Comm] Initial commit of C++ Comm. 2016-10-31 14:47:20 -07:00
Christopher Warrington d5aefd2f78 Prepare for 5.0.0 release 2016-09-12 20:32:35 -07:00
Christopher Warrington 8835732090 Version bump bond package preparing for release
This is a tentative version number for the bond Hackage package.
2016-07-06 14:48:33 -07:00
Eduardo Salinas 0fead8d8b6 Update GBC dependencies
- Update GBC to version 0.4.1.0
- Base 4.9 brought some impossible to fulfill dependencies
- Update tests that are affected by bump to aeson
- Update json golden test files to a pretty print consistent form and avoid ambiguity when encoding and comparing
2016-06-01 13:32:33 -07:00
Eduardo Salinas 7fb898a0c5 Add parsec dependency to gbc-test 2016-06-01 10:48:30 -07:00
Ted Stein bcb36cceb3 gbc: Print VS- and msbuild-compatible error messages. 2016-05-31 16:05:38 -07:00
Eduardo Salinas 73aabd4f4e Add c# service codegen
- Request & response services
2016-04-29 16:58:21 -07:00
Christopher Warrington d7d3e36fef Revert "Temporarily downgrade Diff to 0.3.2"
Version 0.3.4 of the Diff package has a fix for this problem. See also:
f218d47cb2

This reverts commit 4cba6dd6de.

Closes #162, "Unpin diff from 0.3.2"
2016-04-25 15:29:31 -07:00
Christopher Warrington 4cba6dd6de Temporarily downgrade Diff to 0.3.2
We're having problems building with Diff 0.3.3 on GHC versions older
than 7.10. Until we can resolve those, pin Diff to 0.3.2 so that we can
release Bond 4.1.0.
2016-04-22 17:45:52 -07:00
Christopher Warrington 5aaa20b85f Prepare for 4.1.0 release
* Bump gbc and bond package minor version to 0.4.0.2
  * Re-gen golden test files
* Bump C# minor version to 4.1.0
* Edit CHANGELOG to add release info
2016-04-21 23:21:06 -07:00
Christopher Warrington cfcd61b5ed Annotate that we test with GHC version >= 7.4.1
We are relying on some implementation details of GHC, like the minimum
size of Int and language extensions. gbc/bond might work with other
Haskell compilers, but we don't test with them.

We don't list all the GHC versions that we end up using, as Travis CI
can change the specific versions on us.
2016-04-01 15:35:13 -07:00
Christopher Warrington 1ed0d9241d Use scientific >= 0.3.4.6 for double serialization
Upgrade to scientific-0.3.4.6 or later so that when we serialize whole
numbers in JSON we don't get trailing ".0" values.

Before, 2 would serialize as "2", but 0 would serialize "0.0". Now, 2
serializes as "2", and 0 serializes as "0".

Since the golden tests have the results of JSON serialization commited,
we have to be on one side or the other of scientific-0.3.4.6. We're
after it now. (Unless, we needlessly complicate the tests with some sort
of custom comparisons or smudge/clean process.)

See also https://github.com/bos/aeson/issues/369 and
0f28347b4a
2016-03-21 19:44:24 -07:00
Adam Sapek a7187e5e74 Revert "Work around cabal conflict for transformers 0.5"
This reverts commit 9598128.
2016-01-19 20:53:50 -08:00
Adam Sapek 9598128e9e Work around cabal conflict for transformers 0.5
A temporary workaround until `exceptions` can be built with
`transformers` 0.5. The work is already in progress but it depends on
some bigger changes in transformers-compat
(see https://github.com/ekmett/exceptions/pull/51).
2016-01-15 11:52:18 -08:00
Adam Sapek 27b3f19978 Update Category metadata in bond.cabal 2015-12-16 12:22:56 -08:00
Adam Sapek abfb3a7dff Bump compiler version to 0.4.0.1 2015-12-09 14:05:44 -08:00
Adam Sapek 4d27159f64 Update documentation of the compiler library APIs 2015-12-09 14:05:42 -08:00
Adam Sapek 106d7ae1d2 Use Aeson.TH instead of DeriveGeneric
TemplateHaskell version compiles much faster than Generics based Aeson.
2015-12-09 12:52:46 -08:00
Adam Sapek aeccf7dd02 Add gbc option to generate runtime schema from IDL
Running:

    gbc schema --runtime-schema example.bond

will generate SchemaDef for each non-generic struct defined in the .bond
file(s). The SchemaDef(s) will be serialized using Simple JSON protocol
into file(s) named <source-file-name>.<struct-name>.json.

Fixes #75.
2015-12-03 10:56:34 -08:00
Adam Sapek 55cf387e2e Add cabal constraint: process < 1.4
Unfortunately the conflict between optparse-applicative, which sets an
upper bound on the version the process package dependency and cmdargs
which only has a lower bound is going to reappear on every release of
process.

The problem happens when gbc dependencies are first installed in the
sandbox and then we try to build gbc-tests using the same sandbox.
2015-11-14 12:28:08 -08:00
Adam Sapek 28c75802f3 Revert "Add cabal constraint: process < 1.3"
This reverts commit f0d23a001d, which was
a workaround for overly strict constraint in optparse-applicative that
was fixed with pcapriotti/optparse-applicative@22a71d8.
2015-10-13 14:22:26 -07:00
Adam Sapek f0d23a001d Add cabal constraint: process < 1.3
The gbc-tests dependencies require process < 1.3 leading to dependency
conflicts if the sandbox has been first populated with dependencies of
Bond library before configuring the test suite.

This is a (hopefully) temporary workaround until
pcapriotti/optparse-applicative#150 is merged.
2015-08-25 18:58:23 -07:00
Adam Sapek 856c3a92f2 Reimplement code generation tests with Tasty.Golden
Make each generated file comparison into a goldenTest case. Golden files
can be updated/added for changes in codegen/tests using --accept command
line switch.
2015-06-29 14:52:48 -07:00
Adam Sapek 1e95d49511 Convert compiler tests from test-framework to tasty 2015-06-28 11:30:52 -07:00
Adam Sapek 286a3c7def Add Haddock documentation comments
Rearranged and renamed some public APIs and moved some symbols to
private, unexposed modules.
2015-06-22 12:32:26 -07:00
Adam Sapek d181a0d731 Remove internal functions from exposed modules
Some of the functions are used only internally by the parser while
others are used by the built-in codegen templates but are to specific to
expose them as public APIs. If a custom codegen needs similar
functionality it can be easily implemented using the more generic
helpers.
2015-06-22 12:32:24 -07:00
Adam Sapek 9fe9eeca89 Refactor compiler/codegen as a Haskell library 2015-06-22 12:32:23 -07:00
Adam Sapek 99d622090d Use version number from cabal generated module
Remove the manually maintained Bond.Version module and use the cabal
generated Paths_bond module instead.
2015-06-22 12:32:22 -07:00