code: function mainTask() {
          options = this.options(defaultOptions);
          var target = this.target;
  
          this.files.forEach(function (file) {
  
              var destJson = app.path.join(file.dest, target + '.cssstats.json');
              var destHtml = app.path.join(file.dest, target + '.cssstats.html');
  
              var css = {
                  concat: ''
              };
  
              css.concat = file.src.filter(function (filepath) {
                  // Remove nonexistent files (it's up to you to filter or warn here).
                  if (!grunt.file.exists(filepath)) {
                      grunt.log.warn('Source file "' + filepath + '" not found.');
                      return false;
                  } else {
                      return true;
                  }
              }).map(function (filepath) {
                  // Read and return the file's source.
  
                  css[filepath] = app.fs.readFileSync(filepath, 'utf8');
  
                  return '/****\n    source: ' + filepath + '\n****/\n\n' + css[filepath];
  
              }).join('\n');
  
              var stats = parseStats(css);
  
              if (options.logConsole) {
                  console.log(stats);
              }
  
              if (options.jsonOutput) {
                  var statsString = JSON.stringify(stats, undefined, 4);
                  grunt.file.write(destJson, statsString);
              }
  
              if (options.htmlOutput) {
                  var output = app.parseHtml(app, options, stats, css);
                  grunt.file.write(destHtml, output);
              }
          });
  
      }
docs: the main task
  maps the css files from grunt config
  and triggers the other tasks (html, json, log) if set to true