blob: 38ec2b5ea68a97291f3f3f960e0bd5f8ad4481e5 [file] [log] [blame]
// include gulp
var gulp = require('gulp');
// include plug-ins
var uglify = require('gulp-uglify');
var usemin = require('gulp-usemin');
var replace = require('gulp-replace');
var wrap = require('gulp-wrap');
var gzip = require('gulp-gzip');
var concat = require('gulp-concat');
var watch = require('gulp-watch');
gulp.task('gzipFile', function(){
//gulp.src('demo/dalek/data.js')
gulp.src('build/player/bodymovin.js')
.pipe(gzip({ append: false }))
.pipe(gulp.dest('demo/'));
});
gulp.task('buildParser', function() {
gulp.src([
'parser/polyfills.js',
'parser/global.js',
'parser/AssetsManager.js',
'parser/AsyncManager.js',
'parser/DOMAnimationManager.js',
'parser/EffectsParser.js',
'parser/EffectsStrokeParser.js',
'parser/extras.js',
'parser/RQManager.js',
'parser/LayerConverter.js',
'parser/ShapesParser.js',
'parser/CompConverter.js',
'parser/UI.js'
])
.pipe(concat('bodymovin_parser.jsx', {newLine: '\r\n'}))
.pipe(wrap('var Gtlym = {};var bodymovinWindow = this;\r\n(function(){\r\n<%= contents %>\r\n}());'))
.pipe(gulp.dest('build/parser/'))
});
gulp.task('joinModules', function() {
gulp.src([
'parser/polyfills.js',
'parser/global.js',
'parser/AssetsManager.js',
'parser/AsyncManager.js',
'parser/DOMAnimationManager.js',
'parser/EffectsParser.js',
'parser/EffectsStrokeParser.js',
'parser/extras.js',
'parser/RQManager.js',
'parser/LayerConverter.js',
'parser/ShapesParser.js',
'parser/CompConverter.js',
'parser/UI.js'
])
.pipe(concat('bodymovin_parser.jsx', {newLine: '\r\n'}))
.pipe(wrap('var Gtlym = {};var bodymovinWindow = this;\r\n(function(){\r\n<%= contents %>\r\n}());'))
.pipe(gulp.dest('/Program Files/Adobe/Adobe After Effects CS6/Support Files/Scripts/ScriptUI Panels'))
});
gulp.task('watch', function () {
gulp.watch('./parser/*.js',['joinModules']);
});
gulp.task('buildPlayer', function(){
gulp.src('./player/index.html')
.pipe(usemin({
js: [uglify()]
}))
//.pipe(wrap('(function(window){"use strict";<%= contents %>}(window));'))
.pipe(wrap('(function(window){<%= contents %>}(window));'))
.pipe(gulp.dest('build/player/'));
});
gulp.task('buildGreensock', function(){
gulp.src('./player/greensock.html')
.pipe(usemin({
js: [uglify()]
}))
.pipe(wrap('(function(window){"use strict";<%= contents %>}(window));'))
.pipe(gulp.dest('build/player/greensock'));
});
gulp.task('buildCanvasPlayer', function(){
gulp.src([
'player/js/main.js',
'player/js/3rd_party/transformation-matrix.js',
'player/js/utils/MatrixManager.js',
'player/js/utils/animationFramePolyFill.js',
'player/js/utils/common.js',
'player/js/utils/canvasPolyFill.js',
'player/js/utils/functionExtensions.js',
'player/js/utils/bez.js',
'player/js/utils/DataManager.js',
'player/js/renderers/CanvasRenderer.js',
'player/js/mask.js',
'player/js/elements/canvasElements/CVBaseElement.js',
'player/js/elements/canvasElements/CVCompElement.js',
'player/js/elements/canvasElements/CVImageElement.js',
'player/js/elements/canvasElements/CVShapeElement.js',
'player/js/elements/canvasElements/CVShapeItemElement.js',
'player/js/elements/canvasElements/CVSolidElement.js',
'player/js/elements/canvasElements/CVTextElement.js',
'player/js/elements/canvasElements/CVMaskElement.js',
'player/js/animation/AnimationManager.js',
'player/js/animation/AnimationItem.js',
'player/js/module.js'
])
.pipe(concat('canvasPlayer.js', {newLine: '\r\n'}))
.pipe(uglify())
.pipe(wrap('(function(window){"use strict";<%= contents %>}(window));'))
.pipe(gulp.dest('build/player/'));
});
gulp.task('gzipPlayer', function(){
gulp.src('./player/index.html')
.pipe(usemin({
js: [uglify()]
}))
.pipe(wrap('(function(window){"use strict";<%= contents %>}(window));'))
.pipe(gzip({ append: true }))
.pipe(gulp.dest('build/'));
});
gulp.task('concatPlayer', function() {
gulp.src([
'player/js/main.js',
'player/js/3rd_party/transformation-matrix.js',
'player/js/3rd_party/canvasPoly.js',
'player/js/utils/MatrixManager.js',
'player/js/utils/animationFramePolyFill.js',
'player/js/utils/common.js',
'player/js/utils/canvasPolyFill.js',
'player/js/utils/functionExtensions.js',
'player/js/utils/bez.js',
'player/js/utils/DataManager.js',
'player/js/renderers/SVGRenderer.js',
'player/js/renderers/CanvasRenderer.js',
'player/js/mask.js',
'player/js/elements/BaseElement.js',
'player/js/elements/CompElement.js',
'player/js/elements/ImageElement.js',
'player/js/elements/ShapeElement.js',
'player/js/elements/ShapeItemElement.js',
'player/js/elements/SolidElement.js',
'player/js/elements/TextElement.js',
'player/js/elements/canvasElements/CVBaseElement.js',
'player/js/elements/canvasElements/CVCompElement.js',
'player/js/elements/canvasElements/CVImageElement.js',
'player/js/elements/canvasElements/CVShapeElement.js',
'player/js/elements/canvasElements/CVShapeItemElement.js',
'player/js/elements/canvasElements/CVSolidElement.js',
'player/js/elements/canvasElements/CVTextElement.js',
'player/js/elements/canvasElements/CVMaskElement.js',
'player/js/animation/AnimationManager.js',
'player/js/animation/AnimationItem.js',
'player/js/module.js'
])
.pipe(concat('concat.js', {newLine: '\r\n'}))
.pipe(wrap('\r\n(function(){\r\n\'use strict\';\r\n<%= contents %>\r\n}());'))
.pipe(gulp.dest('build/player/'))
});