-
Notifications
You must be signed in to change notification settings - Fork 6
/
Gruntfile.js
63 lines (54 loc) · 1.42 KB
/
Gruntfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
var fs = require('fs')
, path = require('path')
, dir = 'binaries';
grunt.initConfig({
'download-atom-shell': {
version: '0.18.0',
outputDir: dir
},
'shell': {
'mac': {
command: dir + '/Atom.app/Contents/MacOS/Atom my-app'
},
'linux': {
command: 'chmod +x ' + dir + '/atom && ' + dir + '/atom app'
},
'win': {
command: dir + '\\atom.exe app'
}
}
});
grunt.registerTask('default', [
'install',
'run'
]);
grunt.registerTask('init', 'initialize project', function() {
var cwd = process.cwd()
, appPath = path.join(cwd, 'my-app')
, gitPath = path.join(cwd, '.git')
if (grunt.file.exists(appPath))
return;
fs.readdirSync(cwd).forEach(function(file) {
if (file.charAt(0) !== '_') return;
var src = path.join(cwd, file);
var dst = path.join(appPath, file.slice(1))
grunt.file.copy(src, dst);
grunt.file.delete(src)
});
grunt.file.delete(gitPath);
})
grunt.registerTask('install', [
'init',
'download-atom-shell'
]);
grunt.registerTask('run', function() {
if (process.platform === 'darwin')
grunt.task.run('shell:mac');
else if (process.platform === 'win32')
grunt.task.run('shell:win')
else
grunt.task.run('shell:linux')
});
}