From 589eebafeec65c9f87ced8225159ef6604b6552c Mon Sep 17 00:00:00 2001 From: Tom Johnson Date: Tue, 26 Aug 2014 15:14:48 -0700 Subject: [PATCH 1/5] add support for videojs-grunt-languages --- .gitignore | 1 + Gruntfile.js | 51 ++++++++++++++++++++++++--------------------------- package.json | 3 ++- 3 files changed, 27 insertions(+), 28 deletions(-) diff --git a/.gitignore b/.gitignore index 16cb8952b8..253e57e351 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .DS_Store dist/* build/files/* +build/lang/* docs/api/* dev.html projects diff --git a/Gruntfile.js b/Gruntfile.js index 05f8347dde..46ff91b9c1 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -31,8 +31,12 @@ module.exports = function(grunt) { // Project configuration. grunt.initConfig({ pkg: pkg, - lang: { - src: 'lang/*.json' + videojs_languages: { + defaults: { + files: { + 'build/lang': ['lang/*.json'] + } + } }, build: { src: 'src/js/dependencies.js', @@ -41,8 +45,8 @@ module.exports = function(grunt) { } }, clean: { - build: ['build/files/*'], - dist: ['dist/*'] + build: ['build/files/*', 'build/lang/*'], + dist: ['dist/*', 'build/lang/*'] }, jshint: { src: { @@ -312,6 +316,7 @@ module.exports = function(grunt) { } }); + grunt.loadNpmTasks('grunt-videojs-languages'); grunt.loadNpmTasks('grunt-contrib-connect'); grunt.loadNpmTasks('grunt-contrib-jshint'); grunt.loadNpmTasks('grunt-contrib-qunit'); @@ -333,11 +338,11 @@ module.exports = function(grunt) { // grunt.loadTasks('./docs/tasks/'); // grunt.loadTasks('../videojs-doc-generator/tasks/'); - grunt.registerTask('pretask', ['jshint', 'less', 'lang', 'build', 'minify', 'usebanner']); + grunt.registerTask('pretask', ['jshint', 'less', 'videojs_languages', 'build', 'minify', 'usebanner']); // Default task. grunt.registerTask('default', ['pretask', 'dist']); // Development watch task - grunt.registerTask('dev', ['jshint', 'less', 'lang', 'build', 'qunit:source']); + grunt.registerTask('dev', ['jshint', 'less', 'videojs_languages', 'build', 'qunit:source']); grunt.registerTask('test-qunit', ['pretask', 'qunit']); // The test task will run `karma:saucelabs` when running in travis, @@ -424,24 +429,7 @@ module.exports = function(grunt) { } }); - var fs = require('fs'), - gzip = require('zlib').gzip; - - grunt.registerMultiTask('lang', 'Building Language Support', function() { - var combined = ''; - - grunt.log.writeln('Building Language Support'); - - // Create a combined languages file - this.files.forEach(function(file) { - file.src.forEach(function(src){ - var code = src.replace('lang/', '').replace('.json', ''); - combined += 'videojs.options[\'languages\'][\''+code+'\'] = '+ grunt.file.read(src).trim() + ';\n'; - }); - }); - - grunt.file.write('build/files/combined.languages.js', combined); - }); + var fs = require('fs'); grunt.registerMultiTask('build', 'Building Source', function(){ @@ -459,9 +447,6 @@ module.exports = function(grunt) { // Replace CDN version ref in js. Use major/minor version. combined = combined.replace(/GENERATED_CDN_VSN/g, version.majorMinor); - // Add Combined Langauges - // combined += grunt.file.read('build/files/combined.languages.js'); - grunt.file.write('build/files/combined.video.js', combined); // Copy over other files @@ -561,6 +546,15 @@ module.exports = function(grunt) { } }); + // Copy over language files + grunt.file.recurse('build/lang', function(absdir, rootdir, subdir, filename) { + // Block .DS_Store files + if ('filename'.substring(0,1) !== '.') { + grunt.file.copy(absdir, 'dist/cdn/lang/' + filename); + grunt.file.copy(absdir, 'dist/video-js/lang/' + filename); + } + }); + // ds_store files sometime find their way in if (grunt.file.exists('dist/video-js/.DS_Store')) { grunt.file['delete']('dist/video-js/.DS_Store'); @@ -584,6 +578,9 @@ module.exports = function(grunt) { // GA Tracking Pixel (manually building the pixel URL) cdnjs = uglify.minify('src/js/cdn.js').code.replace('v0.0.0', 'v'+version.full); grunt.file.write('dist/cdn/video.js', jsmin + cdnjs); + + // Add Language Support + }); grunt.registerTask('cdn-links', 'Update the version of CDN links in docs', function(){ diff --git a/package.json b/package.json index a0a7ef445d..a97e253f1c 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,7 @@ "semver": "~1.1.4", "sinon": "~1.9.1", "uglify-js": "~2.3.6", - "videojs-doc-generator": "0.0.1" + "videojs-doc-generator": "0.0.1", + "grunt-videojs-languages": "0.0.1" } } From ab4eb95b0802a0caba08de89a822fe7cbc21bd84 Mon Sep 17 00:00:00 2001 From: Tom Johnson Date: Tue, 26 Aug 2014 17:12:26 -0700 Subject: [PATCH 2/5] updates to change build/lang to build/files/lang --- Gruntfile.js | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 46ff91b9c1..689769f572 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -34,7 +34,7 @@ module.exports = function(grunt) { videojs_languages: { defaults: { files: { - 'build/lang': ['lang/*.json'] + 'build/files/lang': ['lang/*.json'] } } }, @@ -45,8 +45,8 @@ module.exports = function(grunt) { } }, clean: { - build: ['build/files/*', 'build/lang/*'], - dist: ['dist/*', 'build/lang/*'] + build: ['build/files/*'], + dist: ['dist/*'] }, jshint: { src: { @@ -547,7 +547,7 @@ module.exports = function(grunt) { }); // Copy over language files - grunt.file.recurse('build/lang', function(absdir, rootdir, subdir, filename) { + grunt.file.recurse('build/files/lang', function(absdir, rootdir, subdir, filename) { // Block .DS_Store files if ('filename'.substring(0,1) !== '.') { grunt.file.copy(absdir, 'dist/cdn/lang/' + filename); @@ -578,9 +578,6 @@ module.exports = function(grunt) { // GA Tracking Pixel (manually building the pixel URL) cdnjs = uglify.minify('src/js/cdn.js').code.replace('v0.0.0', 'v'+version.full); grunt.file.write('dist/cdn/video.js', jsmin + cdnjs); - - // Add Language Support - }); grunt.registerTask('cdn-links', 'Update the version of CDN links in docs', function(){ From fb8a19dda42dfeafe51dda8818e8798cc47982b4 Mon Sep 17 00:00:00 2001 From: Tom Johnson Date: Tue, 26 Aug 2014 17:25:53 -0700 Subject: [PATCH 3/5] update grunt languages references and version --- Gruntfile.js | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 689769f572..7e4cf7890b 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -31,7 +31,7 @@ module.exports = function(grunt) { // Project configuration. grunt.initConfig({ pkg: pkg, - videojs_languages: { + vjslanguages: { defaults: { files: { 'build/files/lang': ['lang/*.json'] @@ -338,11 +338,11 @@ module.exports = function(grunt) { // grunt.loadTasks('./docs/tasks/'); // grunt.loadTasks('../videojs-doc-generator/tasks/'); - grunt.registerTask('pretask', ['jshint', 'less', 'videojs_languages', 'build', 'minify', 'usebanner']); + grunt.registerTask('pretask', ['jshint', 'less', 'vjslanguages', 'build', 'minify', 'usebanner']); // Default task. grunt.registerTask('default', ['pretask', 'dist']); // Development watch task - grunt.registerTask('dev', ['jshint', 'less', 'videojs_languages', 'build', 'qunit:source']); + grunt.registerTask('dev', ['jshint', 'less', 'vjslanguages', 'build', 'qunit:source']); grunt.registerTask('test-qunit', ['pretask', 'qunit']); // The test task will run `karma:saucelabs` when running in travis, diff --git a/package.json b/package.json index a97e253f1c..c59385bb5f 100644 --- a/package.json +++ b/package.json @@ -61,6 +61,6 @@ "sinon": "~1.9.1", "uglify-js": "~2.3.6", "videojs-doc-generator": "0.0.1", - "grunt-videojs-languages": "0.0.1" + "grunt-videojs-languages": "0.0.2" } } From b9364420e9eb5d494265ffa75632963cfad98d8d Mon Sep 17 00:00:00 2001 From: Tom Johnson Date: Wed, 27 Aug 2014 15:25:08 -0700 Subject: [PATCH 4/5] remove build/lang reference --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 253e57e351..16cb8952b8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ .DS_Store dist/* build/files/* -build/lang/* docs/api/* dev.html projects From 77cc39d48f8a47c62cdeb902cb990b7df53d8bdf Mon Sep 17 00:00:00 2001 From: Tom Johnson Date: Wed, 27 Aug 2014 16:17:18 -0700 Subject: [PATCH 5/5] update languages plugin reference for array support --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c59385bb5f..6eebaa3bcc 100644 --- a/package.json +++ b/package.json @@ -61,6 +61,6 @@ "sinon": "~1.9.1", "uglify-js": "~2.3.6", "videojs-doc-generator": "0.0.1", - "grunt-videojs-languages": "0.0.2" + "grunt-videojs-languages": "0.0.4" } }