initial code repo
[stor4nfv.git] / src / ceph / src / pybind / mgr / dashboard / static / AdminLTE-2.3.7 / Gruntfile.js
diff --git a/src/ceph/src/pybind/mgr/dashboard/static/AdminLTE-2.3.7/Gruntfile.js b/src/ceph/src/pybind/mgr/dashboard/static/AdminLTE-2.3.7/Gruntfile.js
new file mode 100644 (file)
index 0000000..05c9428
--- /dev/null
@@ -0,0 +1,172 @@
+// AdminLTE Gruntfile
+module.exports = function (grunt) {
+
+  'use strict';
+
+  grunt.initConfig({
+    watch: {
+      // If any .less file changes in directory "build/less/" run the "less"-task.
+      files: ["build/less/*.less", "build/less/skins/*.less", "dist/js/app.js"],
+      tasks: ["less", "uglify"]
+    },
+    // "less"-task configuration
+    // This task will compile all less files upon saving to create both AdminLTE.css and AdminLTE.min.css
+    less: {
+      // Development not compressed
+      development: {
+        options: {
+          // Whether to compress or not
+          compress: false
+        },
+        files: {
+          // compilation.css  :  source.less
+          "dist/css/AdminLTE.css": "build/less/AdminLTE.less",
+          //Non minified skin files
+          "dist/css/skins/skin-blue.css": "build/less/skins/skin-blue.less",
+          "dist/css/skins/skin-black.css": "build/less/skins/skin-black.less",
+          "dist/css/skins/skin-yellow.css": "build/less/skins/skin-yellow.less",
+          "dist/css/skins/skin-green.css": "build/less/skins/skin-green.less",
+          "dist/css/skins/skin-red.css": "build/less/skins/skin-red.less",
+          "dist/css/skins/skin-purple.css": "build/less/skins/skin-purple.less",
+          "dist/css/skins/skin-blue-light.css": "build/less/skins/skin-blue-light.less",
+          "dist/css/skins/skin-black-light.css": "build/less/skins/skin-black-light.less",
+          "dist/css/skins/skin-yellow-light.css": "build/less/skins/skin-yellow-light.less",
+          "dist/css/skins/skin-green-light.css": "build/less/skins/skin-green-light.less",
+          "dist/css/skins/skin-red-light.css": "build/less/skins/skin-red-light.less",
+          "dist/css/skins/skin-purple-light.css": "build/less/skins/skin-purple-light.less",
+          "dist/css/skins/_all-skins.css": "build/less/skins/_all-skins.less"
+        }
+      },
+      // Production compresses version
+      production: {
+        options: {
+          // Whether to compress or not
+          compress: true
+        },
+        files: {
+          // compilation.css  :  source.less
+          "dist/css/AdminLTE.min.css": "build/less/AdminLTE.less",
+          // Skins minified
+          "dist/css/skins/skin-blue.min.css": "build/less/skins/skin-blue.less",
+          "dist/css/skins/skin-black.min.css": "build/less/skins/skin-black.less",
+          "dist/css/skins/skin-yellow.min.css": "build/less/skins/skin-yellow.less",
+          "dist/css/skins/skin-green.min.css": "build/less/skins/skin-green.less",
+          "dist/css/skins/skin-red.min.css": "build/less/skins/skin-red.less",
+          "dist/css/skins/skin-purple.min.css": "build/less/skins/skin-purple.less",
+          "dist/css/skins/skin-blue-light.min.css": "build/less/skins/skin-blue-light.less",
+          "dist/css/skins/skin-black-light.min.css": "build/less/skins/skin-black-light.less",
+          "dist/css/skins/skin-yellow-light.min.css": "build/less/skins/skin-yellow-light.less",
+          "dist/css/skins/skin-green-light.min.css": "build/less/skins/skin-green-light.less",
+          "dist/css/skins/skin-red-light.min.css": "build/less/skins/skin-red-light.less",
+          "dist/css/skins/skin-purple-light.min.css": "build/less/skins/skin-purple-light.less",
+          "dist/css/skins/_all-skins.min.css": "build/less/skins/_all-skins.less"
+        }
+      }
+    },
+    // Uglify task info. Compress the js files.
+    uglify: {
+      options: {
+        mangle: true,
+        preserveComments: 'some'
+      },
+      my_target: {
+        files: {
+          'dist/js/app.min.js': ['dist/js/app.js']
+        }
+      }
+    },
+    // Build the documentation files
+    includes: {
+      build: {
+        src: ['*.html'], // Source files
+        dest: 'documentation/', // Destination directory
+        flatten: true,
+        cwd: 'documentation/build',
+        options: {
+          silent: true,
+          includePath: 'documentation/build/include'
+        }
+      }
+    },
+
+    // Optimize images
+    image: {
+      dynamic: {
+        files: [{
+          expand: true,
+          cwd: 'build/img/',
+          src: ['**/*.{png,jpg,gif,svg,jpeg}'],
+          dest: 'dist/img/'
+        }]
+      }
+    },
+
+    // Validate JS code
+    jshint: {
+      options: {
+        jshintrc: '.jshintrc'
+      },
+      core: {
+        src: 'dist/js/app.js'
+      },
+      demo: {
+        src: 'dist/js/demo.js'
+      },
+      pages: {
+        src: 'dist/js/pages/*.js'
+      }
+    },
+
+    // Validate CSS files
+    csslint: {
+      options: {
+        csslintrc: 'build/less/.csslintrc'
+      },
+      dist: [
+        'dist/css/AdminLTE.css',
+      ]
+    },
+
+    // Validate Bootstrap HTML
+    bootlint: {
+      options: {
+        relaxerror: ['W005']
+      },
+      files: ['pages/**/*.html', '*.html']
+    },
+
+    // Delete images in build directory
+    // After compressing the images in the build/img dir, there is no need
+    // for them
+    clean: {
+      build: ["build/img/*"]
+    }
+  });
+
+  // Load all grunt tasks
+
+  // LESS Compiler
+  grunt.loadNpmTasks('grunt-contrib-less');
+  // Watch File Changes
+  grunt.loadNpmTasks('grunt-contrib-watch');
+  // Compress JS Files
+  grunt.loadNpmTasks('grunt-contrib-uglify');
+  // Include Files Within HTML
+  grunt.loadNpmTasks('grunt-includes');
+  // Optimize images
+  grunt.loadNpmTasks('grunt-image');
+  // Validate JS code
+  grunt.loadNpmTasks('grunt-contrib-jshint');
+  // Delete not needed files
+  grunt.loadNpmTasks('grunt-contrib-clean');
+  // Lint CSS
+  grunt.loadNpmTasks('grunt-contrib-csslint');
+  // Lint Bootstrap
+  grunt.loadNpmTasks('grunt-bootlint');
+
+  // Linting task
+  grunt.registerTask('lint', ['jshint', 'csslint', 'bootlint']);
+
+  // The default task (running "grunt" in console) is "watch"
+  grunt.registerTask('default', ['watch']);
+};