Automatically runs kevoree runtime (works like mvn kev:run plugin)
This plugin requires Grunt ~0.4.2
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-kevoree --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-kevoree');
In your project's Gruntfile, add a section named kevoree
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
// all those options are optional because they are the default behavior
kevoree: {
options: {
runtime: 'latest', // default
node: 'node0', // default
kevscript: 'kevs/main.kevs', // default
modulesPath: '.deploy_units', // default
mergeLocalLibraries: [], // default
logLevel: 'debug' // default
}
}
});
Because each options has a default value, you can just add a
grunt.loadNpmTasks('grunt-kevoree')
without anykevoree
task configuration in your Gruntfile.js, and then do agrunt kevoree
in a terminal
Type: String
Default value: 'node0'
A string value that is used to determine the node name of the launched Kevoree runtime platform
Type: String
Default value: 'latest'
A string value that is used to determine the runtime version (kevoree-nodejs-runtime version)
Type: String
Default value: 'kevs/main.kevs'
A string value that is used to determine the KevScript model that will be used to bootstrap the platform
Type: String
Default value: '.deploy_units'
A string value that is used to determine the modulesPath variable for Kevoree resolver (where resolved modules are going to be installed)
Type: String
Default value: []
An array containing the paths to your local Kevoree libraries that are not yet pushed on npm registry nor Kevoree registry Ex:
kevoree: {
options: {
mergeLocalLibraries: [
'/path/to/kevoree-comp-ticker'
]
}
}
NB: Merged local libraries has to be "installed" (i.e
npm install
must have been run)
Type: String
Default value: 'debug'
A string value that is used to determine the runtime log level.
Available values are (all|debug|info|warn|error|quiet)
Type: String
Default value: kevs/main.kevs
this argument is mandatory, whether from command-line or from Gruntfile.js options
Path that leads to your KevScript file in order to create the Kevoree model to bootstrap on.
KevScript file can be specified from the command-line (if provided, it will be used instead of the file given in the Gruntfile.js)
grunt kevoree --kevscript=/path/to/my/model.kevs
Type: Object
Default value: {}
If set, grunt-kevoree
will use the given object as the context variables for the KevScript interpretor.
Example:
options: {
ctxVars: {
'NODE_NAME': 'myNode'
}
}
This will allow you to use %NODE_NAME%
that will be converted to myNode
within your KevScript files:
add %NODE_NAME% : JavascriptNode
add %NODE_NAME%.foo : Ticker
Type: String
Default value: node0
If set, grunt-kevoree
will use the given node name to start the Kevoree platform.
This argument overrides the given node
option in Gruntfile.js
grunt kevoree --node=node1
Type: String
Default value: kevs/main.kevs
If set, grunt-kevoree
will use the given filepath to load the KevScript model.
This argument overrides the given kevscript
option in Gruntfile.js
grunt kevoree --kevscript=/path/to/my/model.kevs
Type: String
Default value: latest
If set, grunt-kevoree
will install the specified kevoree-nodejs-runtime
version to run the Kevoree platform.
This argument overrides the given runtime
option in Gruntfile.js
grunt kevoree --runtime=5.1.0
Type: Boolean
Default value: false
If set to true
, grunt-kevoree
will start to statically serve the given path in options.mergeLocalLibraries
(+/browser), plus the one specified in browserDevModeOptions.path
Type: Object
Default value: { port: 59000, path: './browser' }
Browser Runtime DevMode options
port
: port of the static server
path
: one of the served directory (all mergeLocalLibraries
/browser paths are added to this server too)
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.