// hoo prod <path> 产品发布到测试环境供开发进行测试,并打开网页
var path = require('path');
var settings = require('../settings');
var server_util = require('fis3-command-server/lib/util');
module.exports = function (hoo, root, relative) {
  require('./production')(hoo, root, 'prod', relative);
  if(root === '.'){
    root = settings.defaultUploadDir;
  }
  hoo.match('**', {
    useCache: true,
    deploy: [
      hoo.plugin('skip-packed', {
        // 配置项
        skipPackedToPkg: true,//是否过滤掉被打包的文件
        skipPackedToAIO: true,//是否过滤掉被 AllInOne 打包的文件
        skipPackedToCssSprite: true,//是否过滤掉被 css sprite 合并的文件。
        ignore: []//即便设置了过滤，但是如果目标文件 ignore 列表中，还是不会被过滤。glob 语法，数组或者字符串。
      }),
      //去掉多余的模板文件
      function (options, modified, total, next) {
        var i = modified.length - 1;
        var file;
        while ((file = modified[i--])) {
          if (file.isHtmlLike&&file.isInline) {
            modified.splice(i+1,1);
          }
        }
        next();
      },
      //去掉产出相对路径时的bug
      function (options, modified, total, next) {
        var i = modified.length - 1;
        var file;
        while ((file = modified[i--])) {
          if (file.isJsLike) {
            file.setContent(file.getContent().replace(/&quot;(\/)*/g, ''));
          }
        }
        next();
      },
      hoo.plugin('http-push', {
        receiver: settings.uploadScript,
        to: root.replace(/\\/g, '/') // 注意这个是指的是测试机器的路径，而非本地机器
      })
    ]
  });

  var initialized = false;
  hoo.on('deploy:end', function () {
    if (!initialized) {
      hoo.log.info('http:\/\/huodong.37.com\/' + (path.join(settings.deployDir, root).replace(/\\/g, '\/')));
      server_util.open('http:\/\/huodong.37.com\/' + (path.join(settings.deployDir, root).replace(/\\/g, '\/')));
      initialized = true;
    }
  })
};
