We are trying to run grunt tasks using grunt.config.set for dynamically concatinated strings. These grunt.configs are set in a forEach loop and change each time before the task is run.
This does unfortunately not work, as grunt only uses the last grunt.config.set and runs it multiple times with that very same value.
See this example with a simple "copy" task ("copy" is just an example, we want to use this kind of dynamic options in other tasks, too):
copy: {
projectFiles : {
files : [{
src: 'src/<%= directoryName %>/*',
dest: 'build/<%= directoryName %>/*'
}]
}
}
grunt.registerTask('copyFiles', function() {
var projects = ['directory1','directory2','directory3','directory4'];
projects.forEach(function(project){
grunt.config.set("directoryName", project);
grunt.task.run('copy:projectFiles');
});
});
This tasks copies four times src/directory4.
Is it somehow possible to build that kind of tasks which use dynamic values? It would be nice, as the only other solution would be to copy each task multiple times with static strings.
Thank you! Daniel