UNPKG

1.69 kBJavaScriptView Raw
1'use strict';
2
3var gulp = require('gulp');
4var fs = require('fs');
5var path = require('path');
6var util = require('util');
7var argv = require('minimist')(process.argv.slice(2));
8var rename = require('gulp-rename');
9var jeditor = require("gulp-json-editor");
10
11gulp.task('archetype:create', ['config:startup'], function() {
12 var settings = global.settings;
13
14 var dirs = [settings._target.root,
15
16 settings._src.root,
17 settings._src.main,
18 settings._testunit.js,
19
20 settings._src.fonts,
21 settings._src.images,
22 settings._src.css,
23 settings._src.less,
24 settings._src.scss,
25 settings._src.sass,
26 // settings._src.skin,
27 settings._src.skins,
28 settings._src.js,
29 settings._src.template
30 ];
31
32 var root = global.getRootPath();
33 var pomy = global.getPomyPath();
34
35 for (var i = 0, len = dirs.length; i < len; i++) {
36 var dir = dirs[i];
37 if (!fs.existsSync(path.join(root, dir))) {
38 fs.mkdirSync(dir);
39 }
40 }
41
42 //--group=com.lico --artifact=工程名
43 // argv.group
44 // argv.artifact
45 var params = util._extend({}, argv);
46 delete params._;
47 params.artifact = params.artifact || params.name || path.parse(path.resolve(root)).name;
48 params.group = params.group || path.parse(path.resolve(root, "../")).name;
49
50 params.name = params.group + "." + params.artifact;
51
52 var configPath = null;
53
54 if (!fs.existsSync(path.join(root, "pomy.json"))) {
55 configPath = pomy + "project.json";
56 } else {
57 configPath = root + "pomy.json";
58 }
59
60 return gulp.src(configPath)
61 .pipe(jeditor(params))
62 .pipe(rename("pomy.json"))
63 .pipe(gulp.dest(root));
64});
65
66gulp.task('archetype:generate', ['archetype:create'], function(cb) {
67 cb();
68});
\No newline at end of file