|
| 1 | +var fs = require('fs'); |
| 2 | + |
1 | 3 | module.exports = function(grunt) {
|
2 | 4 | var coreJsFiles = [
|
3 | 5 | // Core:
|
@@ -52,19 +54,34 @@ module.exports = function(grunt) {
|
52 | 54 | var npmJsFiles = coreJsFiles.slice(0);
|
53 | 55 | npmJsFiles.splice(2, 0, 'src/sigma.export.js');
|
54 | 56 |
|
55 |
| - var pluginFiles = [ |
56 |
| - 'plugins/sigma.layout.forceAtlas2/*.js', |
57 |
| - 'plugins/sigma.parsers.gexf/*.js', |
58 |
| - 'plugins/sigma.parsers.json/*.js', |
59 |
| - 'plugins/sigma.plugins.animate/*.js', |
60 |
| - 'plugins/sigma.plugins.dragNodes/*.js', |
61 |
| - 'plugins/sigma.plugins.neighborhoods/*.js', |
62 |
| - 'plugins/sigma.renderers.customShapes/*.js' |
| 57 | + var plugins = [ |
| 58 | + 'layout.forceAtlas2', |
| 59 | + 'parsers.gexf', |
| 60 | + 'parsers.json', |
| 61 | + 'plugins.animate', |
| 62 | + 'plugins.dragNodes', |
| 63 | + 'plugins.neighborhoods', |
| 64 | + 'renderers.customShapes' |
63 | 65 | ];
|
64 | 66 |
|
| 67 | + var pluginFiles = [], |
| 68 | + subGrunts = {}; |
| 69 | + |
| 70 | + plugins.forEach(function(p) { |
| 71 | + var dir = 'plugins/sigma.' + p + '/'; |
| 72 | + |
| 73 | + if (fs.existsSync(dir + 'Gruntfile.js')) |
| 74 | + subGrunts[p] = { |
| 75 | + gruntfile: dir + 'Gruntfile.js' |
| 76 | + }; |
| 77 | + else |
| 78 | + pluginFiles.push(dir + '*.js'); |
| 79 | + }); |
| 80 | + |
65 | 81 | // Project configuration:
|
66 | 82 | grunt.initConfig({
|
67 | 83 | pkg: grunt.file.readJSON('package.json'),
|
| 84 | + grunt: subGrunts, |
68 | 85 | closureLint: {
|
69 | 86 | app: {
|
70 | 87 | closureLinterPath: '/usr/local/bin',
|
|
0 commit comments