forked from phonegap/phonegap-start
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
114 lines (98 loc) · 3.23 KB
/
gulpfile.js
File metadata and controls
114 lines (98 loc) · 3.23 KB
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
var gulp = require('gulp');
var browserify = require('gulp-browserify');
var concat = require('gulp-concat');
var styl = require('gulp-styl');
// var sass = require('gulp-sass');
var sass = require('gulp-ruby-sass');
var path = require('path');
var o = require('open');
var ripple = require('ripple-emulator');
var webPath = function (p) { return path.join('./www/', p); };
var exec = require('exec');
var mocha = require('gulp-mocha');
var gutil = require('gulp-util');
// require('./www/js/utils/handlebarHelpers');
gulp.task('tests', function (done) {
gulp.src('./www/spec/**/*.test.js')
.pipe(mocha({reporter: 'nyan'}))
.on('error', function (e) {
gutil.log(e);
done();
});
});
// Builds the scripts based on a single entry point using browserify
gulp.task('scripts', function(done) {
return gulp.src([webPath('js/index.js')])
.pipe(browserify({
transform: ['hbsfy'],
debug:true,
insertGlobals: true
}))
.pipe(gulp.dest(webPath('build')))
.on('error', function (e) {
gutil.log(e);
done();
});
});
// Concatenates all the CSS files together.
gulp.task('styles', function(done) {
return gulp.src(webPath('sass/main.scss'))
.pipe(sass())
.pipe(gulp.dest(webPath('build')));
// .pipe(styl({
// compress: true
// }))
});
gulp.task('refresh', ['styles', 'scripts'], function(done) {
exec('cordova prepare', function () {
gutil.log('Files copied to all device folders folder');
done();
});
});
gulp.task('refresh-ios', ['styles', 'scripts'], function(done) {
exec('cordova prepare --platform ios', function () {
gutil.log('Files copied to ios folder');
done();
});
});
gulp.task('refresh-android', ['styles', 'scripts'], function(done) {
exec('cordova prepare --platform ios', function () {
gutil.log('Files copied to ios folder');
done();
});
});
gulp.task('run-android', ['styles', 'scripts'], function (done) {
exec('cordova run android --device', function () {
gutil.log('Running on android');
done();
});
});
gulp.task('run-ios', ['styles', 'scripts'], function (done) {
exec('cordova run ios --device', function () {
gutil.log('Running on ios');
done();
});
});
gulp.task('ios', ['styles', 'scripts', 'refresh-ios']);
gulp.task('android', ['styles', 'scripts', 'refresh-android']);
// The default task
gulp.task('default', function() {
// Watch the JS directory for changes and re-run scripts task when it changes
gulp.watch(webPath('js/**'), ['styles', 'refresh']);
// Watch the CSS directory for changes and re-run styles task when it changes
gulp.watch(webPath('sass/**'), ['styles', 'refresh']);
gulp.watch(webPath(''), { ignore: ['sass', 'js'] }, ['refresh']);
// Run scripts and styles tasks for the first time
gulp.run('scripts');
gulp.run('styles');
var options = {
keepAlive: false,
open: true,
port: 4400
};
// Start the ripple server
ripple.emulate.start(options);
if (options.open) {
o('http://localhost:' + options.port + '?enableripple=cordova-3.0.0-iPhone5');
}
});