kibana/tasks/build
Court Ewing 694eda8fb7 Use x86_64 in build name instead of x64
For consistency with the other projects for the unified release process.
2016-07-20 10:37:01 -04:00
..
package_scripts [build] Remove user before group 2016-07-07 15:40:18 -05:00
archives.js internal: Cleanup code in _build:archives task 2016-07-05 21:20:48 -04:00
babel_cache.js [build] Include babelcache so it can be chowned to kibana user 2016-06-15 07:44:12 -05:00
babel_options.js [rename] hunt down remaining non-snake path refs 2016-02-24 14:18:21 -08:00
data.js [folder structure] plugins/.data -> data 2016-07-05 14:06:16 -05:00
download_node_builds.js Consistent build archives 2016-07-05 21:19:06 -04:00
index.js [folder structure] plugins/.data -> data 2016-07-05 14:06:16 -05:00
install_npm_deps.js [rename] rename all files to snake_case 2016-02-24 12:14:05 -08:00
installed_plugins.js [folder structure] plugins/.data -> data 2016-07-05 14:06:16 -05:00
os_packages.js Use x86_64 in build name instead of x64 2016-07-20 10:37:01 -04:00
os_shell_scripts.js [hotfix/build] Fix a bug where removing a directory failed under Linux systems 2016-03-18 13:55:00 -03:00
package_json.js Apply -snapshot suffix during build task 2016-06-11 15:57:30 -04:00
pleaserun.js [build] Add package log path 2016-06-30 11:12:19 -05:00
readme.js [build] move to absolute paths and improve fpm/pleaserun support 2015-08-14 13:27:41 -07:00
remove_pkg_json_deps.js [rename] rename all files to snake_case 2016-02-24 12:14:05 -08:00
shasums.js Apply -snapshot suffix during build task 2016-06-11 15:57:30 -04:00
versioned_links.js Apply -snapshot suffix during build task 2016-06-11 15:57:30 -04:00

let marked = require('marked');
let Promise = require('bluebird');
let { join } = require('path');
let TextRenderer = require('marked-text-renderer');
let _ = require('lodash');
let fs = require('fs');
let { AllHtmlEntities } = require('html-entities');
let entities = new AllHtmlEntities();

TextRenderer.prototype.heading = function (text, level, raw) {
  return '\n\n' + text + '\n' + _.map(text, function () { return '='; }).join('') + '\n';
};

module.exports = function (grunt) {

  grunt.registerTask('_build:readme', function () {
    let transform = function (input) {
      let output = input.replace(/<\!\-\- [^\-]+ \-\->/g, '\n');
      output = marked(output);
      return entities.decode(output);
    };

    marked.setOptions({
      renderer: new TextRenderer(),
      tables: true,
      breaks: false,
      pedantic: false,
      sanitize: false,
      smartLists: true,
      smartypants: false
    });

    grunt.file.write('build/kibana/README.txt', transform(grunt.file.read('README.md')));
    grunt.file.write('build/kibana/LICENSE.txt', transform(grunt.file.read('LICENSE.md')));
  });

};