-
Notifications
You must be signed in to change notification settings - Fork 14
/
gulpfile.js
97 lines (88 loc) · 3.08 KB
/
gulpfile.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
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
var gulp = require('gulp'),
inline = require('gulp-inline'),
concat = require('gulp-concat'),
listing = require('gulp-task-listing'),
uglify = require('gulp-uglify'),
ngHtml2Js = require("gulp-ng-html2js"),
watch = require('gulp-watch'),
connect = require('gulp-connect'),
fs = require('fs');
var plugins = fs.readdirSync('plugins');
var core = function(bridge) {
return gulp.src(['./lib/vendor/js/jquery-2.1.3.min.js',
'./lib/vendor/js/bootstrap.min.js',
'./lib/vendor/js/qrcode.min.js',
'./lib/js/countries.js'].
concat(bridge).concat(
['./lib/js/airbitz-core.js']))
.pipe(concat('abc.js'))
.pipe(gulp.dest('./build/intermediates/js'));
}
gulp.task('corestyle-android', function() {
return gulp.src(['./lib/vendors/css/bootstrap.min.css',
'./lib/css/core.css',
'./lib/css/core-android.css'])
.pipe(concat('core.css'))
.pipe(gulp.dest('./build/intermediates/css'));
});
gulp.task('corestyle-ios', function() {
return gulp.src(['./lib/vendors/css/bootstrap.min.css',
'./lib/css/core.css',
'./lib/css/core-ios.css'])
.pipe(concat('core.css'))
.pipe(gulp.dest('./build/intermediates/css'));
});
gulp.task('coredev', ['corestyle-android'], function() {
return core(['./lib/js/config.js', './lib/js/airbitz-bridge-dev.js']);
});
gulp.task('core-android', ['corestyle-android'], function() {
return core(['./lib/js/airbitz-bridge-android.js']);
});
gulp.task('core-ios', ['corestyle-ios'], function() {
return core(['./lib/js/airbitz-bridge-ios.js']);
});
plugins.map(function(plugin) {
var build = function(platform, plugin) {
gulp.src('./plugins/' + plugin + '/index.html')
.pipe(inline({
base: './plugins/' + plugin
}))
.pipe(inline({
base: './build/intermediates'
}))
.pipe(gulp.dest('build/' + platform + '/' + plugin));
gulp.src('./plugins/' + plugin + '/img/*')
.pipe(gulp.dest('build/' + platform + '/' + plugin + '/img'))
.pipe(connect.reload());
};
gulp.task(plugin + '-partials', function() {
return gulp.src(["./plugins/" + plugin + "/partials/*.html",
"./plugins/" + plugin + "/**/partials/*.html"])
.pipe(ngHtml2Js({
moduleName: "app"
}))
.pipe(concat('partials.js'))
.pipe(gulp.dest("./build/intermediates/js/"));
});
gulp.task(plugin + '-dev', ['coredev', plugin + '-partials'], function() {
build('dev', plugin);
});
gulp.task(plugin + '-android', ['core-android', plugin + '-partials'], function() {
build('android', plugin);
});
gulp.task(plugin + '-ios', ['core-ios', plugin + '-partials'], function() {
build('ios', plugin);
});
gulp.task(plugin + '-serve', [plugin + '-dev'], function() {
connect.server({
root: ['build/dev/' + plugin]
});
});
gulp.task(plugin + '-watch', function () {
watch(['./plugins/' + plugin + '/**/*', './lib/**/*'], function () {
gulp.start(plugin + '-dev');
});
});
})
gulp.task('help', listing);
gulp.task('default', ['help']);