aboutsummaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAge
* 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.
* Revamp the build system.John Szakmeister2014-03-21
| | | | | | | | | | | | | | | | | | | | | This achieves several goals: * Less reliance on scripts so we have better portability to Windows (though we still have a ways to go for proper Windows support). Luajit, luarocks, moonscript, and busted are all installed via CMake now. * Trying to make use of pkg-config to get the correct libraries. The latest libuv is still broken in this regard, but we'll at least be in a position to use it. * Allow the use of Ninja or make. The former runs faster in many environments, and automatically makes use of parallel builds. This also allows for system installed dependencies--though not through the Makefile just yet--and adds support for FreeBSD. This also make us build libuv and luajit as static libraries only, since we're only concerned about having static libraries for our bundled dependencies.
* Add unit tests for mch_[gs]etperm.Thomas Wienecke2014-03-15
| | | | | Use preprocessor trick proposed by @mahkoh to import 'defines' like S_IRUSR.
* Remove remaining hangul-related codeThiago de Arruda2014-03-14
|
* Refactor travis build to use clang's sanitizersThiago de Arruda2014-03-13
| | | | | | | | | | | - Valgrind configuration removed - Fix errors reported by the undefined behavior sanitizer - Travis will now run two build steps: - A normal build of a shared library for unit testing(in parallel with gcc) - A clang build with some sanitizers enabled for integration testing. After these changes travis will run much faster, while providing valgrind-like error detection.
* use more verbose output type for unittests on travisStefan Hoffmann2014-03-08
|
* Fix memory leak and enable valgrind on travisThiago de Arruda2014-03-07
|
* Luarocks appears to be down, so let's use the mirror for now.John Szakmeister2014-03-07
|
* Adding darwin platform to common.sh build scriptIslam Sharabash2014-03-01
|
* Add unit test running to travis againThiago de Arruda2014-02-27
|
* Compile libuv with -fPIC.John Szakmeister2014-02-27
| | | | | This is needed so that th unit tests library compiles on 64-bit machines correctly.
* Disable unit tests until fixed for travisThiago de Arruda2014-02-27
|
* Add more example unit tests and run with travisThiago de Arruda2014-02-27
|
* Add basic infrastructure for unit testingThiago de Arruda2014-02-27
| | | | | | | | | | | | | | | | | | Tests will be written using the [moonscript](http://moonscript.org/) language, a lua 'dialect' that is whitespace-significant and has a syntax similar to coffeescript. The test framework used is [busted](http://olivinelabs.com/busted/), a bdd framework for lua/moonscript. Luajit has a nice ffi module, which lets lua programs link shared libraries and call it's functions without writing any C code. To take advantage of this fact for testing C functions, a new target was added to CMakeLists.txt, which compiles neovim as a shared library that is loaded by the process running the tests. This commit adds necessary code for downloading and installing a lua package manager(luarocks) locally. It wasn't added as a subtree because there are quite a few blobs in its source tree.
* Enable stderr for test in travisThiago de Arruda2014-02-26
| | | | | This is necessary to keep the build from 'erroring' since running the tests with valgrind will take a long time
* Modify travis configuration to install valgrindThiago de Arruda2014-02-26
| | | | This should fix previous build failures
* Remove -e option from travis shell scriptThiago de Arruda2014-02-26
|
* Fix travis scriptThiago de Arruda2014-02-26
| | | | It was broke because the ls command failed when no valgrind.* file were found
* Add test reporting to travis scriptThiago de Arruda2014-02-26
|
* Enable valgrind when testing on travisThiago de Arruda2014-02-26
| | | | | This will slow down testing but will detect pull requests that introduce memory leaks.