grunt-properties-reader v0.1.3
grunt-properties-reader
Grunt plugin that reads java properties files.
Getting Started
This plugin requires Grunt ~0.4.1
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-properties-reader --save-devOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-properties-reader');The "properties" task
Overview
In your project's Gruntfile, add a section named properties to the data object passed into grunt.initConfig().
grunt.initConfig({
properties: {
props: 'configFile.properties'
}
});Options
Options are passed directly into the second argument of the grunt.file.read operation. See grunt.file
Usage Examples
Basic
In this example, a properties file is used to read a server deployment location. The deployDir property is then used in a clean task.
The example application.properties file:
deployDir=C:\server\deploymentAnd example Gruntfile.js:
grunt.initConfig({
properties: {
app: 'application.properties'
},
clean: {
deployDir: '<%= app.deployDir %>'
}
})
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-properties-reader');
grunt.registerTask('cleanDeploy', ['properties', 'clean:deployDir'])Running grunt cleanDeploy from the command line will delete the directory.
Multiple Files
In this example, multiple properties files are read in the order specified. Values from subsequent files are merged with those from the proceeding. Therefore, values from proceeding files will overwrite those from the preceeding files. Consider the following properties files:
deployDir=C:\server\deploymentdeployDir=/opt/server
debug=truegrunt.initConfig({
properties: {
app: [ 'default.properties', 'overrides.properties' ]
},
clean: {
deployDir: '<%= app.deployDir %>'
}
})
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-properties-reader');
grunt.registerTask('cleanDeploy', ['properties', 'clean:deployDir'])When executed, the app variable will contain the following values:
{
deployDir=/opt/server
debug=true
}Finally, when using multiple files, the first file in the list must be present. All subsequent files are optional, and will not cause the task to fail if they are not present.
Contributing
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.
Release History
- 2013-06-07 v0.1.0 Initial release
- 2013-07-30 v0.1.1 Non greedy equals (thanks @nuarhu)
- 2014-03-11 v0.1.2 Multiple properties file support (thanks @jburwell)
- 2014-04-13 v0.1.3 Bug fix & multi-line support (thanks @hemdada & @bostaunieux)