未验证 提交 96d41d43 编写于 作者: B beyondgfw

Support multiple data files.

上级 388c8153
hosts:
- name: Foo
items:
- ip: 233.233.233.233
domain: foo.com
......@@ -7,7 +7,7 @@ function echogr {
echogr Generating hosts files.
mkdir output
node generate.js hosts.yml $(git show -s --format=%cd --date=short) output
node src/generate.js "$PWD/data" $(git show -s --format=%cd --date=short) "$PWD/output"
if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
echogr Importing SSH key.
......
......@@ -5,4 +5,4 @@ if [ -e output ]; then
rm -rf output
fi
mkdir output
node generate.js hosts.yml $(git show -s --format=%cd --date=short) output
node src/generate.js "$PWD/data" $(git show -s --format=%cd --date=short) "$PWD/output"
var fs = require('fs');
var data = require('js-yaml').safeLoad(fs.readFileSync(process.argv[2], 'utf-8'));
data.header = data.header.replace(/{DATE}/g, process.argv[3]);
var path = require('path');
require('glob').sync('./generators/*.js').forEach(function (file) {
var generator = require(file);
fs.writeFileSync(path.join(process.argv[4], generator.file_name), generator.generate(data));
});
var fs = require('fs');
var jsyaml = require('js-yaml')
var path = require('path');
var glob = require('glob');
glob.sync(path.join(process.argv[2], '*.yml')).forEach(function(spec_file) {
var data = jsyaml.safeLoad(fs.readFileSync(path.join(process.argv[2], 'hosts.yml'), 'utf-8'));
data.header = data.header.replace(/{DATE}/g, process.argv[3]);
var spec_suffix = '';
var spec_name = path.parse(spec_file).name;
if (spec_name != 'hosts') {
var spec_data = jsyaml.safeLoad(fs.readFileSync(spec_file), 'utf-8');
data.hosts = spec_data.hosts.concat(data.hosts);
spec_suffix = `-${spec_name}`;
}
require('glob').sync(path.join(__dirname, 'generators/*.js')).forEach(function (gen_file) {
var generator = require(gen_file);
var output_path = path.parse(path.join(process.argv[4], generator.file_name));
output_path.base = null;
output_path.name += spec_suffix;
fs.writeFileSync(path.format(output_path), generator.generate(data));
});
});
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册