New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add CI builds for C# solution #21
Commits on Jan 27, 2015
-
Allows to build csharp solution in Travis CI. Two platforms are added: OS X and Linux. There are difference in builds on the platforms: on OS X CI make C++ unit-test, while on Linux it does not do it due to timeout/out of memory.
Commits on Feb 12, 2015
-
Add rudimentary Sublime Text 3 syntax highlighting
Users can install the grammar by adding the files to their `%AppData%\Roaming\Sublime Text 3\Packages\User` folder. It's fairly simplistic, but should be a decent start.
-
-
-
Move cabal install from ps script to cmd
PowerShell script fails AppVeyor CI build when cabal install emits warnings.
-
-
Relax cabal version requirement to 1.18+
The cabal version 1.20+ was required only for the --required-sandbox flag. However since the make files are setting up the sandbox we know that we are always building using sandbox. The current Haskell Platform comes with cabal 1.18 so this way installing cabal update is not needed.
-
-
-
Fix clone of MemoryStream on Mono
Mono MemoryStream internal implementation differs from .NET implementation It does not have `InternalGetOriginAndLength` method. So the cloning method changed to use mono implementation of MemoryStream when the method `InternalGetOriginAndLength` is not found
-
Update appveyor.yml for the open source plan
Made the following changes for the open source AppVeyor plan which runs on very slow and memory limited VMs: - Limit ghc heap size to 192MB when installing dependencies - Use `appveyor DownloadFile` instead `Start-Download` - Download Boost in the smaller 7Zip format - Cache cabal sandbox and boost download - Disable C++ build
-
Disable extracting Boost in AppVeyor CI
Since C++ build is disabled we don't need to extract Boost and the build is on the edge of time out.
-
-
Quote include directories in C# targets
This allows include directories to contain spaces.
-
-
Add unit test for files with spaces in their paths
This ensures that the MSBuild targets and gbc work when a .bond file or an import directory has spaces in the path.
-
Fix import directories with trailing slashes
When support for import directories with spaces in their paths was added, that inadvertently broke codegen when one ended with a trailing slash. We add a trailing \. like we do for the output directory to fix that.
-
-
-
-
Use a smaller buffer when marshaling bonded<T>
When bonded<T> is serialized to untagged protocols like Simple Binary it is first marshaled into a separate buffer using a tagged protocol and then written as length prefixed blob to the untagged protocol. OutputBuffer used for marshaling by default allocates 64KB which is costly if the bonded<T> payload is small.
-
-
-
Combine unit tests into fewer assemblies
Unit tests take a long time to run in CI. Building all tests with --collection-interfaces flag is somewhat wasteful because a lot of tests don't use collections at all. Furthermore this way we only tested collection interfaces together with properties. This change removes the separate test configuration for --collection-interfaces and instead uses concrete/interface collection alternatively for different .bond files in Fields/Properties configuration. This way every schema is tested with both interfaces and concrete collections and both are also tested with fields and properties. This gives better coverage while eliminating redundant identical tests in different assemblies.
-
-
-