Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

VP-310: adding build scripts to the video player #129

Merged
merged 14 commits into from

2 participants

@jobara
Owner

Added a grunt based build script to the video player. This includes a new README.txt file with instructions on how to run it.

http://issues.fluidproject.org/browse/VP-310

jobara added some commits
@jobara jobara VP-310: Added package.json
This will allow us to install the grunt dependency just by running NPM install.
007720f
@jobara jobara VP-310: started Gruntfile with basic tasks
Added a GruntFile.js with some basic clean and concat tasks. It will create a concatenated version of all the js files and put it into a build directory. There is a clean task to remove this, which is also performed before any new builds.
70b3afd
@jobara jobara VP-310: Added minification
Using uglify to minify the concatenated file. Also changed the build task to build-src.
d5cccdf
@jobara jobara VP-310: Fixed a pathing issue
The concat task was point at "videoPlayer/js/..." but should have been "js/..."
07a18e9
@jobara jobara VP-310: Added compression
Added tasks to compress the various build types to a zip files.
6244880
@jobara jobara VP-310: Renamed README.txt to ReleaseNotes.txt 832c39e
@jobara jobara VP-310: Added ReleaseNotes.txt to built packages 6dac020
@jobara jobara VP-310: Added a README.txt file 2af6982
@jobara jobara VP-310: added version number to zip filename
Added the version number to the zip file name and updated the version in package.json to have -SNAPSHOT
4764747
@jobara jobara Merge branch 'master' into VP-310 2f60d4a
@jobara jobara VP-310: Removed docs from the zip.
Since the doc directory was removed, I've removed the rules from adding it to the built packages.
464ef49
@jobara jobara VP-310: updated the README.txt 5612936
@jobara jobara VP-310 Additional changes to the README.txt b837e22
@jobara jobara VP-310: Fixed path errors in GruntFile.js
The paths to mediaelement.js and VideoPlayer_trasncript.js had errors in them.
9dc8f27
@michelled michelled merged commit 9dc8f27 into fluid-project:master
@michelled
Owner

Merged into project repo at 0891ea4

@jobara jobara deleted the jobara:VP-310 branch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on May 3, 2013
  1. @jobara

    VP-310: Added package.json

    jobara authored
    This will allow us to install the grunt dependency just by running NPM install.
  2. @jobara

    VP-310: started Gruntfile with basic tasks

    jobara authored
    Added a GruntFile.js with some basic clean and concat tasks. It will create a concatenated version of all the js files and put it into a build directory. There is a clean task to remove this, which is also performed before any new builds.
  3. @jobara

    VP-310: Added minification

    jobara authored
    Using uglify to minify the concatenated file. Also changed the build task to build-src.
  4. @jobara

    VP-310: Fixed a pathing issue

    jobara authored
    The concat task was point at "videoPlayer/js/..." but should have been "js/..."
  5. @jobara

    VP-310: Added compression

    jobara authored
    Added tasks to compress the various build types to a zip files.
  6. @jobara
  7. @jobara
  8. @jobara
  9. @jobara

    VP-310: added version number to zip filename

    jobara authored
    Added the version number to the zip file name and updated the version in package.json to have -SNAPSHOT
  10. @jobara
  11. @jobara

    VP-310: Removed docs from the zip.

    jobara authored
    Since the doc directory was removed, I've removed the rules from adding it to the built packages.
  12. @jobara

    VP-310: updated the README.txt

    jobara authored
  13. @jobara
  14. @jobara

    VP-310: Fixed path errors in GruntFile.js

    jobara authored
    The paths to mediaelement.js and VideoPlayer_trasncript.js had errors in them.
This page is out of date. Refresh to see the latest.
View
5 .gitignore
@@ -1,3 +1,8 @@
html/video.mov
html/test.php
+
+# build resources to ignore
+node_modules
+build
+products
View
75 GruntFile.js
@@ -0,0 +1,75 @@
+module.exports = function (grunt) {
+ grunt.initConfig({
+ pkg: grunt.file.readJSON('package.json'),
+ clean: {
+ build: "build",
+ products: "products"
+ },
+ compress: {
+ src: {
+ options: {
+ archive: "products/videoPlayer-all-<%= pkg.version %>.zip"
+ },
+ files: [
+ // expand makes the src relative to cwd path, and flatten collapses the file down to the cwd directory
+ {src: ["build/videoPlayer-all.js"], dest: "./", expand: true, cwd: "./", flatten: true},
+ {src: ["./ReleaseNotes.txt"], dest: "./"},
+ {src: ["css/**", "demos/**", "html/**", "images/**", "js/**", "lib/**", "tests/**"], dest: "./"}
+ ]
+ },
+ min: {
+ options: {
+ archive: "products/videoPlayer-all-min-<%= pkg.version %>.zip"
+ },
+ files: [
+ // expand makes the src relative to cwd path, and flatten collapses the file down to the cwd directory
+ {src: ["build/videoPlayer-all-min.js"], dest: "./", expand: true, cwd: "./", flatten: true},
+ {src: ["./ReleaseNotes.txt"], dest: "./"},
+ {src: ["css/**", "demos/**", "html/**", "images/**", "js/**", "lib/**", "tests/**"], dest: "./"}
+ ]
+ }
+ },
+ concat: {
+ all: {
+ src: [
+ "lib/infusion/MyInfusion.js",
+ "lib/jqeury-ui/js/jquery.ui.button.js",
+ "lib/captionator/js/captionator.js",
+ "lib/mediaelement/js/mediaelement.js",
+ "js/VideoPlayer_framework.js",
+ "js/VideoPlayer_showHide.js",
+ "js/VideoPlayer.js",
+ "js/VideoPlayer_html5Captionator.js",
+ "js/VideoPlayer_controllers.js",
+ "js/ToggleButton.js",
+ "js/MenuButton.js",
+ "js/VideoPlayer_media.js",
+ "js/VideoPlayer_transcript.js",
+ "js/VideoPlayer_intervalEventsConductor.js",
+ "js/VideoPlayer_uiOptions.js"
+ ],
+ dest: "build/videoPlayer-all.js"
+ }
+ },
+ uglify: {
+ options: {
+ mangle: false
+ },
+ my_target: {
+ files: {
+ "build/videoPlayer-all-min.js": ["build/videoPlayer-all.js"]
+ }
+ }
+ }
+ });
+
+ grunt.loadNpmTasks("grunt-contrib-clean");
+ grunt.loadNpmTasks("grunt-contrib-concat");
+ grunt.loadNpmTasks("grunt-contrib-compress");
+ grunt.loadNpmTasks("grunt-contrib-uglify");
+
+ grunt.registerTask("build-src", ["clean", "concat"]);
+ grunt.registerTask("build-min", ["build-src", "uglify"]);
+ grunt.registerTask("build", ["build-min", "compress", "clean:build"]);
+ grunt.registerTask("default", ["build"]);
+};
View
148 README.txt
@@ -1,105 +1,61 @@
-Release Notes for Fluid Video Player 0.1
-=========================================
-Main Project Site: http://fluidproject.org
-Documentation: http://wiki.fluidproject.org/display/fluid/%28Floe%29+video+player
+What Is VideoPlayer?
+====================
+VideoPlayer is an HTML5 video player, built with the Fluid Infusion framework.
-What's New in 0.1?
-==================
- * Support for captions
- * Support for transcripts
- * Integration into UI Options
- * keyboard accessibility
-
-Downloading Video Player
-========================
+Where Can I See a Demo?
+=======================
- zip: https://github.com/fluid-project/videoPlayer/archive/vp-0.1.zip
- tar: https://github.com/fluid-project/videoPlayer/archive/vp-0.1.tar.gz
+ http://build.fluidproject.org/videoPlayer/videoPlayer/demos/Mammals.html
-For development, you can download the Video Player source code from Github:
-
- https://github.com/fluid-project/videoPlayer
-Demos
-=====
+How Do I Build VideoPlayer?
+===========================
-Video Player ships with demos for seeing it in action. You can
-find it in the "demos" folder in the release bundle or nightly builds on our web site at:
+VideoPlayer can be used as is, by linking in all of the necessary dependencies into the <head>.
+However, you may want to minimize on round trips to the server and on file size. With this in mind,
+you will likely want to create source and minified versions of the concatenated JavaScript files by using
+the grunt build described below. This will only minify and concatenate the js files, the other files will need
+to be linked in independently. "lib/html5shiv/js/html5shiv.js" is the only JavaScript file which isn't included.
+If you need to support older versions of IE you should include this file with a conditional comment.
- http://build.fluidproject.org/videoPlayer/videoPlayer/demos/VideoPlayer.html
- http://build.fluidproject.org/videoPlayer/videoPlayer/demos/Mammals.html
+ <!--[if lt IE 9]>
+ <script type="text/javascript" src="../lib/html5shiv/js/html5shiv.js"></script>
+ <![endif]-->
+
+Dependencies:
+
+ node.js (http://nodejs.org)
+
+Build:
+
+ # only need to run this the first time, as it will install all necessary dependencies.
+ npm install
+
+ # runs the build and creates
+ # products/videoPlayer-all-VERSION.zip
+ # products/videoPlayer-all-min-VERSION.zip
+ grunt
+
+Other build tasks:
+
+ # will remove all build related directories and files
+ grunt clean
+
+ # will just build the concatenated source file
+ grunt build-src
+
+ # will just build the concatentated files, source and min
+ gurnt build-min
+
+Who Makes VideoPlayer, and How Can I Help?
+==========================================
+
+The Fluid community is an international group of designers, developers, and testers who focus on a
+common mission: improving the user experience and accessibility of the open web.
+
+The best way to join the Fluid Community is to jump in to any of our community activities.
+Visit our "Get Involved" page for links to our mailing lists, chat room, wiki, etc.:
-When run from your local machine, the demos must be served through a web server to function properly.
-
-License
-=======
-
-Fluid Video Player is licensed under both the ECL 2.0 and new BSD licenses.
-
-More information is available in our wiki:
-
- http://wiki.fluidproject.org/display/fluid/Fluid+Licensing
-
-
-Third Party Software in Video Player
-====================================
-
-This is a list of publicly available software that is redistributed with Fluid Video Player,
-categorized by license:
-
-MIT License:
- * jQuery UI css v1.8.14 http://ui.jquery.com/
- * html5shiv v3.6.1 http://code.google.com/p/html5shiv/
- * MediaElement.js v2.9.1 http://mediaelementjs.com
-
-BSD License:
- * Fluid Infusion 1.5 Snapshot (http://fluidproject.org)
- ** see lib/infusion/README.txt for specific details on the version used
-
-Other licenses:
- * Captionator https://github.com/cgiffard/Captionator
-
-Supported Browsers
-==================
-
-The following browsers are fully supported and were actively tested against for Video Player 0.1:
-
- * Chrome 25
- * Firefox 19
- * Internet Explorer 8, 9
- * Safari 6.0.2
-
-For more information on Fluid Video Player browser support, please see:
- http://wiki.fluidproject.org/display/fluid/Video+Player+Browser+Support+Chart
-
-Known Issues
-============
-
-The Fluid Project uses a JIRA website to track bugs: http://issues.fluidproject.org
-Some of the known issues in this release are described here:
-
-Captions:
- VP-100: Make captions show for YouTube videos
- VP-87: Captions don't work in IE8
- VP-264: Captions don't show with .mp4 videos
- VP-4: Safari; Track elements with data sources not working
-
-Full Screen:
- VP-258: YouTube videos break in full screen mode
- VP-191: Implement fullscreen functionality for Opera and IE
- VP-279: In IE8, invisible full screen button is tab focusable. Going full screen removes video player from tab order upon returning to normal mode.
-
-UIO Integration:
- VP-269: Transcript language is incorrect in the language drop down after specifying a language in UIO
- VP-88: UIO inputs preferences not being correctly applied on load
- VP-280: Contrast styles don't apply to captions
- VP-107: Changing text size with UIO does not change Video Player size until refresh for Flash videos
- VP-278: In IE8, focus appears on video player container, but activates UIO instead
-
-Playback:
- VP-277: Pressing space on the video container does not start the video in IE9 and IE8.
-
-Scrubbing:
- VP-284: In IE8, keyboard scrubbing stops working after attempting to scrub
+ http://fluidproject.org/getinvolved/
View
105 ReleaseNotes.txt
@@ -0,0 +1,105 @@
+Release Notes for Fluid Video Player 0.1
+=========================================
+Main Project Site: http://fluidproject.org
+Documentation: http://wiki.fluidproject.org/display/fluid/%28Floe%29+video+player
+
+
+What's New in 0.1?
+==================
+
+ * Support for captions
+ * Support for transcripts
+ * Integration into UI Options
+ * keyboard accessibility
+
+Downloading Video Player
+========================
+
+ zip: https://github.com/fluid-project/videoPlayer/archive/vp-0.1.zip
+ tar: https://github.com/fluid-project/videoPlayer/archive/vp-0.1.tar.gz
+
+For development, you can download the Video Player source code from Github:
+
+ https://github.com/fluid-project/videoPlayer
+
+Demos
+=====
+
+Video Player ships with demos for seeing it in action. You can
+find it in the "demos" folder in the release bundle or nightly builds on our web site at:
+
+ http://build.fluidproject.org/videoPlayer/videoPlayer/demos/VideoPlayer.html
+ http://build.fluidproject.org/videoPlayer/videoPlayer/demos/Mammals.html
+
+When run from your local machine, the demos must be served through a web server to function properly.
+
+License
+=======
+
+Fluid Video Player is licensed under both the ECL 2.0 and new BSD licenses.
+
+More information is available in our wiki:
+
+ http://wiki.fluidproject.org/display/fluid/Fluid+Licensing
+
+
+Third Party Software in Video Player
+====================================
+
+This is a list of publicly available software that is redistributed with Fluid Video Player,
+categorized by license:
+
+MIT License:
+ * jQuery UI css v1.8.14 http://ui.jquery.com/
+ * html5shiv v3.6.1 http://code.google.com/p/html5shiv/
+ * MediaElement.js v2.9.1 http://mediaelementjs.com
+
+BSD License:
+ * Fluid Infusion 1.5 Snapshot (http://fluidproject.org)
+ ** see lib/infusion/README.txt for specific details on the version used
+
+Other licenses:
+ * Captionator https://github.com/cgiffard/Captionator
+
+Supported Browsers
+==================
+
+The following browsers are fully supported and were actively tested against for Video Player 0.1:
+
+ * Chrome 25
+ * Firefox 19
+ * Internet Explorer 8, 9
+ * Safari 6.0.2
+
+For more information on Fluid Video Player browser support, please see:
+ http://wiki.fluidproject.org/display/fluid/Video+Player+Browser+Support+Chart
+
+Known Issues
+============
+
+The Fluid Project uses a JIRA website to track bugs: http://issues.fluidproject.org
+Some of the known issues in this release are described here:
+
+Captions:
+ VP-100: Make captions show for YouTube videos
+ VP-87: Captions don't work in IE8
+ VP-264: Captions don't show with .mp4 videos
+ VP-4: Safari; Track elements with data sources not working
+
+Full Screen:
+ VP-258: YouTube videos break in full screen mode
+ VP-191: Implement fullscreen functionality for Opera and IE
+ VP-279: In IE8, invisible full screen button is tab focusable. Going full screen removes video player from tab order upon returning to normal mode.
+
+UIO Integration:
+ VP-269: Transcript language is incorrect in the language drop down after specifying a language in UIO
+ VP-88: UIO inputs preferences not being correctly applied on load
+ VP-280: Contrast styles don't apply to captions
+ VP-107: Changing text size with UIO does not change Video Player size until refresh for Flash videos
+ VP-278: In IE8, focus appears on video player container, but activates UIO instead
+
+Playback:
+ VP-277: Pressing space on the video container does not start the video in IE9 and IE8.
+
+Scrubbing:
+ VP-284: In IE8, keyboard scrubbing stops working after attempting to scrub
View
37 package.json
@@ -0,0 +1,37 @@
+{
+ "name": "fluid-videoPlayer",
+ "version": "0.1.0-SNAPSHOT",
+ "description": "HTML5 video player built atop Fluid Infusion",
+ "repository": {
+ "type": "git",
+ "url": "git@github.com:fluid-project/videoPlayer.git"
+ },
+ "keywords": [
+ "HTML5",
+ "video",
+ "player",
+ "infusion",
+ "transcripts",
+ "captions",
+ "video"
+ ],
+ "author": "Fluid Project",
+ "license": [
+ {
+ "type": "BSD-3-Clause",
+ "url": "http://www.opensource.org/licenses/BSD-3-Clause"
+ },
+ {
+ "type": "ECL-2.0",
+ "url": "http://www.opensource.org/licenses/ECL-2.0"
+ }
+ ],
+ "readmeFilename": "README.txt",
+ "devDependencies": {
+ "grunt": "~0.4.1",
+ "grunt-contrib-clean": "~0.4.1",
+ "grunt-contrib-concat": "~0.3.0",
+ "grunt-contrib-uglify": "~0.2.0",
+ "grunt-contrib-compress": "~0.5.0"
+ }
+}
Something went wrong with that request. Please try again.