aboutsummaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAge
* Travis CI: Refactor travis scriptThiago de Arruda2014-08-08
| | | | | | To simplify modification/inclusion of continuous integration targets, this removes travis.sh which contains a big if statement in favor of multiple scripts under the new '.ci' directory.
* Use color_terminal output in place of TAP #995ZyX2014-08-07
|
* travis.sh: Update sources before installing packages.Florian Walch2014-08-06
|
* api tests: set 'initpython' in BeforeEachTestThiago de Arruda2014-07-17
| | | | This is required to run some tests of the python client
* api/events/msgpack: Insert log statements to improve debuggingThiago de Arruda2014-07-17
| | | | | | Also changed the default log level to INFO so developers won't end up with big log files without asking explicitly(DLOG statements were placed in really "hot" code)
* travis.sh: move symbolizer definition into common areaJohn Szakmeister2014-07-17
|
* travis.sh: Simplify clang/asan build.Florian Walch2014-07-16
| | | | | * Clang 3.4 now default on Travis CI. * Introduce config variable to download & use different clang version.
* travis.sh: Use dependencies from neovim/deps.Florian Walch2014-07-16
|
* travis.sh: Fix mixed tabs/whitespace formatting.Florian Walch2014-07-16
|
* move assert.h include out of vim.hBrandon Coleman2014-07-09
|
* dispatch function generator: Fix bug in validation/initializationThiago de Arruda2014-07-07
| | | | | | - Initialize variables before validating argument count to remove possibility of freeing uninitialized pointers - Set the error when the argument count validation fails
* MsgPack-RPC dispatch based on function array lookup #864Felipe Oliveira Carvalho2014-07-04
| | | | | | This simplifies the generated msgpack_rpc_dispatch() function, separates the code for each RPC method more clearly and allows easy implementation of alternative dispatching methods (e.g. string method id dispatch).
* Fix #838: build with "USE_BUNDLED=OFF" fails to find dependenciesJohn Szakmeister2014-06-27
| | | | | | Stop forcing some platform setting that are really intended to be used for Travis CI. Under other systems, like Arch Linux, it prevents dependencies from being correctly located.
* channel/msgpack_rpc: Refactor API dispatchingThiago de Arruda2014-06-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is how API dispatching worked before this commit: - The generated `msgpack_rpc_dispatch` function receives a the `msgpack_packer` argument. - The response is incrementally built while validating/calling the API. - Return values/errors are also packed into the `msgpack_packer` while the final response is being calculated. Now the `msgpack_packer` argument is no longer provided, and the `msgpack_rpc_dispatch` function returns `Object`/`Error` values to `msgpack_rpc_call`, which will use those values to build the response in a single pass. This was done because the new `channel_send_call` function created the possibility of having recursive API invocations, and this wasn't possible when sharing a single `msgpack_sbuffer` across call frames(it was shared implicitly through the `msgpack_packer` instance). Since we only start to build the response when the necessary information has been computed, it's now safe to share a single `msgpack_sbuffer` instance across all channels and API invocations. Some other changes also had to be performed: - Handling of the metadata discover was moved to `msgpack_rpc_call` - Expose more types as subtypes of `Object`, this was required to forward the return value from `msgpack_rpc_dispatch` to `msgpack_rpc_call` - Added more helper macros for casting API types to `Object` any
* channel/msgpack_rpc: Refactor to better split functions across modulesThiago de Arruda2014-06-24
| | | | | Move validation/conversion functions and to msgpack_rpc_helpers to separate those from the functions that are used from the channel module
* Avoid ever creating .deps directoryZyX2014-06-18
| | | | Thanks to @jszakmeister this uses make own features.
* build: increase timeout for run-api-tests.expThiago de Arruda2014-06-18
|
* build: Fix error in dispatch generator for functions with channel_idThiago de Arruda2014-06-18
|
* Make gendeclarations.lua more friendly to incremental buildsThiago de Arruda2014-06-02
| | | | | | Modify gendeclarations.lua to check if the generated non-static declaration header changed before rewriting it with a new version. This is to prevent unnecessary rebuilds of modules that depend on modules that had private changes.
* Remove remaining declarations with new script: finddeclarations.plZyX2014-06-02
|
* Add automatic generation of headersZyX2014-06-02
| | | | | | | | | | | | | | | | | - The 'stripdecls.py' script replaces declarations in all headers by includes to generated headers. `ag '#\s*if(?!ndef NEOVIM_).*((?!#\s*endif).*\n)*#ifdef INCLUDE_GENERATED'` was used for this. - Add and integrate gendeclarations.lua into the build system to generate the required includes. - Add -Wno-unused-function - Made a bunch of old-style definitions ANSI This adds a requirement: all type and structure definitions must be present before INCLUDE_GENERATED_DECLARATIONS-protected include. Warning: mch_expandpath (path.h.generated.h) was moved manually. So far it is the only exception.
* Move documentation from function declarations to definitionsZyX2014-06-02
| | | | Uses a perl script to move it (scripts/movedocs.pl)
* Add --api-metadata command line optionRui Abreu Ferreira2014-06-02
| | | | | - New command line option prints the binary API metadata object and exits
* Make it easier to turn the bundled dependencies off.John Szakmeister2014-05-31
|
* travis/coverity: hotfix #2, unbreak buildNicolas Hillegeer2014-05-31
| | | | | | | I hadn't spotted that the `sh -e` commandline was being used. I *think* this is what's causing the exit 0 line not to run. Pray for success. It's a real shame I can't this locally, what a mess.
* travis/coverity: hotfix, alwasy return successNicolas Hillegeer2014-05-31
| | | | | It seems the coverity script likes to return 1 (error) when the current branch does not follow its pattern. Temporarily disable that.
* travis/coverity: add coverity supportNicolas Hillegeer2014-05-31
| | | | | | | | | | | | | Run only on push to branch coverity-scan. We can use a cron script to do this 4 times a week (that's our allowance). NOTE: possible future improvements are: 1. Fold the build matrix item into another short one so we don't overburden travis. It's a little less clear but it should be nicer on the infrastructure. 2. Change the security token, one can do that from the coverity admin page. 3. Don't do the naive `make depend`, but use the prebuilt libraries.
* Turn off -Werror by default.John Szakmeister2014-05-29
| | | | | | It inteferes with development activities by breaking your build in the middle of a refactor. Instead, let's enable -Werror on the Travis CI builds via a TRAVIS_CI_BUILD option.
* Build: Fix autocmd removal from cleanup functionThiago de Arruda2014-05-28
|
* API: Events: Automatically pass channel ids to API functionsThiago de Arruda2014-05-28
| | | | | The dispatch function generator was customized to allow for API functions to declare a 'channel_id' as first argument.
* Build: Enable valgrind's --leak-check when testing the APIThiago de Arruda2014-05-26
|
* API: Events: Return channel id from the API discover requestThiago de Arruda2014-05-26
| | | | | This refactors msgapck_rpc_{dipatch,call} to receive the channel id as argument. Now the discovery request returns the [id, metadata] array.
* API: Test: Setup basic test infrastructureThiago de Arruda2014-05-23
| | | | | | | | | | | | | | | | | | | | | | - Add a 'expect' utility script that can run simple API tests using clients developed for any platform. - Extend travis build matrix to run API tests using the python client and valgrind. This script can be used to write API tests without having to manage nvim's lifetime: - It starts a single nvim instance listening on a known socket - Invokes the test runner, which should connect to NEOVIM_LISTEN_ADDRESS - The nvim instance started by the script provides a `BeforeEachTest` function, which should be called before each test to reset nvim to a clean state. - It takes care of shutting down nvim once the tests are finished. As explained [here](https://github.com/neovim/neovim/pull/737#issuecomment-43941520), it's not possible to fully reset nvim to it's initial state, but the `BeforeEachTest` function should be enough for most test cases. Tests requiring a fully clean nvim instance should take care of starting/stopping nvim.
* Remove hardcoded type names from msgpack-gen.luaThiago de Arruda2014-05-17
| | | | | Except for the `Error *` type, all parameter types are valid identifiers, so reuse that LPeg rule.
* Introduce nvim namespace: Fix build process.Eliseo Martínez2014-05-15
| | | | | | | - Leave src as include dir (for includes to recognize 'nvim/' prefix). - Change subdirectory from src to src/nvim. - Fix msgpack generation. - Fix some other paths to new locations.
* Refactor API types and prototypesThiago de Arruda2014-05-12
| | | | | | | | - Split functions with multiple files in the 'api' subdirectory - Move/Add more types in the 'api/defs.h' header - Add more prototypes - Refactor scripts/msgpack-gen.lua - Move msgpack modules to 'os' subdirectory
* coveralls upload should not fail the CI buildJustin M. Keyes2014-05-07
| | | | - swallow error code
* Hold java packages to speed up buildLeonard Ehrenfried2014-04-28
|
* Remove deprecated "--use-mirrors"Steven Myint2014-04-26
| | | | | | | In newer versions of `pip`, it is obsolete. See the following relevant links. https://pip.readthedocs.org/en/latest/news.html https://github.com/eddyxu/cpp-coveralls/pull/37
* Install the libncurses5-dev:i386 package to get the correct symlinks.John Szakmeister2014-04-23
|
* Fix clint.sh wrapper script and broken filesThiago de Arruda2014-04-22
| | | | | - Fixed clint.sh, it no longer ignores errors in individual files. - Fixed two files that weren't passing the clint test
* Configure travis to perform a 32-bit buildThiago de Arruda2014-04-22
| | | | | | | | - Build targeting 32-bit with travis - Code in `before_install`/`after_success` was moved to travis.sh since it provides greater flexibility for detecting the build matrix environment. This improves the build speed since we now install only what's necessary. - Now clint has a dedicated travis worker
* Configure travis to use prebuilt dependenciesThiago de Arruda2014-04-16
| | | | | | | | | Dependencies are now hosted in a github repository and this brings two advantages: - Improved build time with travis since we no longer have to build each dependency - Less chance of build errors due to external servers being down since Github is now the single point of failure
* Add `msgpack_rpc_dispatch`/metadata generatorThiago de Arruda2014-04-11
| | | | | | | | | | | | | | | | | | This adds a lua script which parses the contents of 'api.h'. After the api is parsed into a metadata table. After that, it will generate: - A msgpack blob for the metadata table. This msgpack object contains everything scripting engines need to generate their own wrappers for the remote API. - The `msgpack_rpc_dispatch` function, which takes care of validating msgpack requests, converting arguments to C types and passing control to the appropriate 'api.h' function. The result is then serialized back to msgpack and returned to the client. This approach was used because: - It automatically modifies `msgpack_rpc_dispatch` to reflect API changes. - Scripting engines that generate remote call wrappers using the msgpack metadata will also adapt automatically to API changes
* Run clint.py in some filesThiago de Arruda2014-04-08
|
* Force travis build failure when some test failsThiago de Arruda2014-04-03
|
* enable coveralls supportaph2014-04-01
|
* Use the clang 3.4 release tarball instead of apt for clang 3.4.John Szakmeister2014-03-30
| | | | | | | | | | It appears the llvm.org/apt/ repository isn't always reliable. So let's use the release tarball instead. Also, make using 3.4 conditional, so we can use the clang 3.3 if things still manage to go awry in the future. Note: using 3.3 means that we won't get leak detection. I left the logic for using llvm.org/apt/, just in case we want try using it again sometime.
* Drop the deb-src for clang.John Szakmeister2014-03-29
| | | | | The llvm.org/apt repo currently has an issue with the source packages, and we don't need it on Travis anyways.
* Don't use alias in travis.sh.John Szakmeister2014-03-27
| | | | | We don't want to clobber anyone's make alias when running travis.sh directly.