# # graspi -> base module # task runner -> task execution with some preparing mechanisms and # environment switches. # eac -> “environment app config” the config for a specific environment # for a specific app. Values: # * eac.env_name - Name of the environment # * eac.env - Environment config hash # * eac.app_name - Name of the app # * eac.app - App config hash # * eac.appConfig - Merged config (base + env + app) # eai -> “environment app iterator” utility to iterate over all combinations # of environments and apps. You can use “eachWithTargets” or “each” and # pass a callback function. The funcation will get an eac object # as parameter. # module.exports = (grunt, configPath) ->
require('./tasks/bower')(grunt, configPath) require('./tasks/image_min')(grunt, configPath) require('./tasks/css')(grunt, configPath) require('./tasks/js')(grunt, configPath) require('./tasks/filerev')(grunt, configPath) require('./tasks/manifest')(grunt, configPath) require('./tasks/browsersync')(grunt, configPath) require('./tasks/watch')(grunt, configPath) _ = require('./util/lodash_extensions') taskRunner = require('./util/task_runner')(grunt, configPath) cfg = taskRunner: taskRunner eai: taskRunner.getEai() config: taskRunner.getC() # ---------------------------------------------------------------- # base tasks # ---------------------------------------------------------------- grunt.registerTask 'graspi', (t1, t2) -> taskRunner.runGruntTask 'graspi_bower', t1, t2 taskRunner.runGruntTask 'graspi_image_min', t1, t2 taskRunner.runGruntTask 'graspi_css', t1, t2 taskRunner.runGruntTask 'graspi_js', t1, t2 taskRunner.runGruntTask 'graspi_filerev', t1, t2 taskRunner.runGruntTask 'graspi_manifest', t1, t2 taskRunner.runGruntTask 'graspi_css_replace_urls', t1, t2 grunt.registerTask 'graspi_clean', (t1, t2) -> taskRunner.runGruntTask 'graspi_bower_clean', t1, t2 taskRunner.runGruntTask 'graspi_image_min_clean', t1, t2 taskRunner.runGruntTask 'graspi_css_clean', t1, t2 taskRunner.runGruntTask 'graspi_js_clean', t1, t2 taskRunner.runGruntTask 'graspi_filerev_clean', t1, t2 taskRunner.runGruntTask 'graspi_manifest_clean', t1, t2 grunt.registerTask 'graspi_clean_full', (t1, t2) -> taskRunner.runGruntTask 'graspi_bower_clean_full', t1, t2 taskRunner.runGruntTask 'graspi_image_min_clean_full', t1, t2 taskRunner.runGruntTask 'graspi_css_clean_full', t1, t2 taskRunner.runGruntTask 'graspi_js_clean_full', t1, t2 taskRunner.runGruntTask 'graspi_filerev_clean_full', t1, t2 taskRunner.runGruntTask 'graspi_manifest_clean_full', t1, t2 # ---------------------------------------------------------------- # build dynamic tasks # ---------------------------------------------------------------- customTasks = [] taskRunner.getEai().each (eac) -> customTasks = customTasks.concat(Object.keys(eac.appConfig.tasks || {})) customTasks = _.uniq(customTasks) _.each customTasks, (task) -> grunt.registerTask task, (t1, t2) -> taskRunner.runDynamicTask task, t1, t2 # ---------------------------------------------------------------- return cfg