After GruntJS generates my CSS+JS, I want it to copy the generated files to the appropriate places on the servers, and so I've set up different grunt-copy tasks to do so. The paths to copy to are different for the development and production environments:
devjs: {
src: paths.dest + '/assets/prod.min.js',
dest: '/srv/www/dev/js/prod.min.js'
},
prodjs: {
src: paths.dest + '/assets/prod.min.js',
dest: '/srv/www/htdocs/js/prod.min.js'
},
How can I get grunt watch to know which environment it's in, and so fire the appropriate grunt-copy tasks for that environment? Do I need to have a config file that isn't tracked in the git repo or something that defines the environment, or is there a better way to do so?
Currently my grunt-contrib-watch.js has the following, although I'd like it to only fire copy:devjs OR copy:prodjs depending on the environment.
js: {
files: [
paths.assets + '/**/*.js',
],
tasks: ['js', 'copy:devjs', 'copy:prodjs']
},
Any ideas? Thanks!
I chose to go with using command-line options for this. So I'd use e.g.
grunt watch --enviro=prodon the command line (and cron), and then have this in grunt-contrib-watch.js: