Run node-gyp commands from Grunt.
This plugin requires Grunt v1
or v0.4
If you haven’t used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you’re familiar with that process, you may install this plugin with this command:
$ npm install grunt-node-gyp --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-node-gyp');
For node-gyp to work you’ll have to install all necessary build tools for your platform, see node-gyp’s README.md for that matter. However, you do not have to install node-gyp globally as it is already included with grunt-node-gyp.
In your project’s Gruntfile, add a section named gyp
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
gyp: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file lists and/or options go here.
}
}
})
Type: String
Default value: rebuild
Specify node-gyp command to execute.
Supported values are configure
, build
, clean
and rebuild
. See node-gyp’s README.md for command descriptions.
Type: Boolean
Default value: false
Create a debug build.
Type: String
Default value: Your processor’s architecture
Set the target architecture: ia32
, x64
or arm
.
This would be equivalent to node-gyp rebuild
.
$ grunt gyp:addon
grunt.initConfig({
gyp: {
addon: {}
}
})
This would be equivalent to node-gyp configure --debug
.
$ grunt gyp:customTarget
grunt.initConfig({
gyp: {
customTarget: {
command: 'configure',
options: {
debug: true
}
}
}
})
This would be equivalent to node-gyp build --arch=arm
.
$ grunt gyp:arm
grunt.initConfig({
gyp: {
arm: {
command: 'build',
options: {
arch: 'arm'
}
}
}
})
First, install all dependencies:
$ npm install
Then run the tests:
$ grunt test
Testing might take a while as compiling takes time. You may need to install the node development header files before by executing:
$ ./node_modules/.bin/node-gyp install
This project follows Semantic Versioning 2.
- v4.0.0 (2017-07-03):
- Fix SDK being downloaded to the local directory since node-gyp v3.5
- Drop support for Node.js versions older than v4
- v3.1.0 (2016-06-19): Add support for Grunt
v1
- v3.0.0 (2015-09-08): Update
node-gyp
tov3
- v2.0.0 (2015-05-25): Update
node-gyp
tov2
- v1.0.0 (2015-02-14): Pass node-gyp’s error to Grunt to make error messages more clear
- v0.5.0 (2014-12-02): Add
arch
option - v0.4.1 (2014-08-25): Fix rebuild not stopping execution if one of the commands has failed
- v0.4.0 (2014-07-01): Update
node-gyp
tov1.x
- v0.3.0 (2014-03-05): Update
node-gyp
tov0.13.x
- v0.2.1 (2014-02-21): Hotfix because v0.2.0 didn’t include the main task file
gyp.js
- v0.2.0 (2013-11-21): Update
node-gyp
tov0.12.x
- v0.1.0 (2013-08-25): Initial release
grunt-node-gyp
itself is licensed under the BSD 2-clause license, subject to additional terms. See LICENSE for the full license.