You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by gt...@apache.org on 2013/01/29 03:49:07 UTC

[12/17] git commit: work to get ./cordova/run working (and on device install)

work to get ./cordova/run working (and on device install)


Project: http://git-wip-us.apache.org/repos/asf/cordova-labs/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-labs/commit/cf3340ff
Tree: http://git-wip-us.apache.org/repos/asf/cordova-labs/tree/cf3340ff
Diff: http://git-wip-us.apache.org/repos/asf/cordova-labs/diff/cf3340ff

Branch: refs/heads/cordova-firefoxos
Commit: cf3340ffeaca21313c095c1fd5127d9d0ee4d863
Parents: 691eb3c
Author: Gord Tanner <gt...@gmail.com>
Authored: Sat Jan 26 17:39:55 2013 -0500
Committer: Gord Tanner <gt...@gmail.com>
Committed: Sat Jan 26 17:39:55 2013 -0500

----------------------------------------------------------------------
 bin/create                            |    2 +
 bin/templates/project/cordova/run     |   22 +
 bin/templates/project/tools/almond.js |  277 +
 bin/templates/project/tools/build.js  |    6 +-
 bin/templates/project/tools/r.js      |15568 ++++++++++++++++++++++++++++
 framework/install.html                |   31 +
 6 files changed, 15902 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-labs/blob/cf3340ff/bin/create
----------------------------------------------------------------------
diff --git a/bin/create b/bin/create
index f0074a0..31b81db 100755
--- a/bin/create
+++ b/bin/create
@@ -61,6 +61,8 @@ trap on_exit EXIT
 
 echo "Copying assets and resources ..."
 cp -r $BUILD_PATH/bin/templates/project $PROJECT_PATH
+cp -r $BUILD_PATH/framework/ $PROJECT_PATH/www
+cp -r $BUILD_PATH/framework/install.html $PROJECT_PATH/www/install.html
 
 echo "Building cordova-$VERSION.js ..."
 cp $BUILD_PATH/javascript/cordova.b2g.js $PROJECT_PATH/www/cordova-$VERSION.js

http://git-wip-us.apache.org/repos/asf/cordova-labs/blob/cf3340ff/bin/templates/project/cordova/run
----------------------------------------------------------------------
diff --git a/bin/templates/project/cordova/run b/bin/templates/project/cordova/run
new file mode 100755
index 0000000..09ce8c2
--- /dev/null
+++ b/bin/templates/project/cordova/run
@@ -0,0 +1,22 @@
+#! /bin/sh
+#       Licensed to the Apache Software Foundation (ASF) under one
+#       or more contributor license agreements.  See the NOTICE file
+#       distributed with this work for additional information
+#       regarding copyright ownership.  The ASF licenses this file
+#       to you under the Apache License, Version 2.0 (the
+#       "License"); you may not use this file except in compliance
+#       with the License.  You may obtain a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+#       Unless required by applicable law or agreed to in writing,
+#       software distributed under the License is distributed on an
+#       "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#       KIND, either express or implied.  See the License for the
+#       specific language governing permissions and limitations
+#       under the License.
+
+volo appcache
+cp www-built/manifest.appcache www-built/cache.manifest
+echo "Navigate your phone or simulator to: http://localhost:8008/install.html"
+volo serve 8008 base=www-built

http://git-wip-us.apache.org/repos/asf/cordova-labs/blob/cf3340ff/bin/templates/project/tools/almond.js
----------------------------------------------------------------------
diff --git a/bin/templates/project/tools/almond.js b/bin/templates/project/tools/almond.js
new file mode 100644
index 0000000..613854a
--- /dev/null
+++ b/bin/templates/project/tools/almond.js
@@ -0,0 +1,277 @@
+/**
+ * almond 0.0.3 Copyright (c) 2011, The Dojo Foundation All Rights Reserved.
+ * Available via the MIT or new BSD license.
+ * see: http://github.com/jrburke/almond for details
+ */
+/*jslint strict: false, plusplus: false */
+/*global setTimeout: false */
+
+var requirejs, require, define;
+(function (undef) {
+
+    var defined = {},
+        waiting = {},
+        aps = [].slice,
+        main, req;
+
+    if (typeof define === "function") {
+        //If a define is already in play via another AMD loader,
+        //do not overwrite.
+        return;
+    }
+
+    /**
+     * Given a relative module name, like ./something, normalize it to
+     * a real name that can be mapped to a path.
+     * @param {String} name the relative name
+     * @param {String} baseName a real name that the name arg is relative
+     * to.
+     * @returns {String} normalized name
+     */
+    function normalize(name, baseName) {
+        //Adjust any relative paths.
+        if (name && name.charAt(0) === ".") {
+            //If have a base name, try to normalize against it,
+            //otherwise, assume it is a top-level require that will
+            //be relative to baseUrl in the end.
+            if (baseName) {
+                //Convert baseName to array, and lop off the last part,
+                //so that . matches that "directory" and not name of the baseName's
+                //module. For instance, baseName of "one/two/three", maps to
+                //"one/two/three.js", but we want the directory, "one/two" for
+                //this normalization.
+                baseName = baseName.split("/");
+                baseName = baseName.slice(0, baseName.length - 1);
+
+                name = baseName.concat(name.split("/"));
+
+                //start trimDots
+                var i, part;
+                for (i = 0; (part = name[i]); i++) {
+                    if (part === ".") {
+                        name.splice(i, 1);
+                        i -= 1;
+                    } else if (part === "..") {
+                        if (i === 1 && (name[2] === '..' || name[0] === '..')) {
+                            //End of the line. Keep at least one non-dot
+                            //path segment at the front so it can be mapped
+                            //correctly to disk. Otherwise, there is likely
+                            //no path mapping for a path starting with '..'.
+                            //This can still fail, but catches the most reasonable
+                            //uses of ..
+                            break;
+                        } else if (i > 0) {
+                            name.splice(i - 1, 2);
+                            i -= 2;
+                        }
+                    }
+                }
+                //end trimDots
+
+                name = name.join("/");
+            }
+        }
+        return name;
+    }
+
+    function makeRequire(relName, forceSync) {
+        return function () {
+            //A version of a require function that passes a moduleName
+            //value for items that may need to
+            //look up paths relative to the moduleName
+            return req.apply(undef, aps.call(arguments, 0).concat([relName, forceSync]));
+        };
+    }
+
+    function makeNormalize(relName) {
+        return function (name) {
+            return normalize(name, relName);
+        };
+    }
+
+    function makeLoad(depName) {
+        return function (value) {
+            defined[depName] = value;
+        };
+    }
+
+    function callDep(name) {
+        if (waiting.hasOwnProperty(name)) {
+            var args = waiting[name];
+            delete waiting[name];
+            main.apply(undef, args);
+        }
+        return defined[name];
+    }
+
+    /**
+     * Makes a name map, normalizing the name, and using a plugin
+     * for normalization if necessary. Grabs a ref to plugin
+     * too, as an optimization.
+     */
+    function makeMap(name, relName) {
+        var prefix, plugin,
+            index = name.indexOf('!');
+
+        if (index !== -1) {
+            prefix = normalize(name.slice(0, index), relName);
+            name = name.slice(index + 1);
+            plugin = callDep(prefix);
+
+            //Normalize according
+            if (plugin && plugin.normalize) {
+                name = plugin.normalize(name, makeNormalize(relName));
+            } else {
+                name = normalize(name, relName);
+            }
+        } else {
+            name = normalize(name, relName);
+        }
+
+        //Using ridiculous property names for space reasons
+        return {
+            f: prefix ? prefix + '!' + name : name, //fullName
+            n: name,
+            p: plugin
+        };
+    }
+
+    main = function (name, deps, callback, relName) {
+        var args = [],
+            usingExports,
+            cjsModule, depName, i, ret, map;
+
+        //Use name if no relName
+        if (!relName) {
+            relName = name;
+        }
+
+        //Call the callback to define the module, if necessary.
+        if (typeof callback === 'function') {
+
+            //Default to require, exports, module if no deps if
+            //the factory arg has any arguments specified.
+            if (!deps.length && callback.length) {
+                deps = ['require', 'exports', 'module'];
+            }
+
+            //Pull out the defined dependencies and pass the ordered
+            //values to the callback.
+            for (i = 0; i < deps.length; i++) {
+                map = makeMap(deps[i], relName);
+                depName = map.f;
+
+                //Fast path CommonJS standard dependencies.
+                if (depName === "require") {
+                    args[i] = makeRequire(name);
+                } else if (depName === "exports") {
+                    //CommonJS module spec 1.1
+                    args[i] = defined[name] = {};
+                    usingExports = true;
+                } else if (depName === "module") {
+                    //CommonJS module spec 1.1
+                    cjsModule = args[i] = {
+                        id: name,
+                        uri: '',
+                        exports: defined[name]
+                    };
+                } else if (defined.hasOwnProperty(depName) || waiting.hasOwnProperty(depName)) {
+                    args[i] = callDep(depName);
+                } else if (map.p) {
+                    map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});
+                    args[i] = defined[depName];
+                } else {
+                    throw name + ' missing ' + depName;
+                }
+            }
+
+            ret = callback.apply(defined[name], args);
+
+            if (name) {
+                //If setting exports via "module" is in play,
+                //favor that over return value and exports. After that,
+                //favor a non-undefined return value over exports use.
+                if (cjsModule && cjsModule.exports !== undef) {
+                    defined[name] = cjsModule.exports;
+                } else if (!usingExports) {
+                    //Use the return value from the function.
+                    defined[name] = ret;
+                }
+            }
+        } else if (name) {
+            //May just be an object definition for the module. Only
+            //worry about defining if have a module name.
+            defined[name] = callback;
+        }
+    };
+
+    requirejs = req = function (deps, callback, relName, forceSync) {
+        if (typeof deps === "string") {
+
+            //Just return the module wanted. In this scenario, the
+            //deps arg is the module name, and second arg (if passed)
+            //is just the relName.
+            //Normalize module name, if it contains . or ..
+            return callDep(makeMap(deps, callback).f);
+        } else if (!deps.splice) {
+            //deps is a config object, not an array.
+            //Drop the config stuff on the ground.
+            if (callback.splice) {
+                //callback is an array, which means it is a dependency list.
+                //Adjust args if there are dependencies
+                deps = callback;
+                callback = arguments[2];
+            } else {
+                deps = [];
+            }
+        }
+
+        //Simulate async callback;
+        if (forceSync) {
+            main(undef, deps, callback, relName);
+        } else {
+            setTimeout(function () {
+                main(undef, deps, callback, relName);
+            }, 15);
+        }
+
+        return req;
+    };
+
+    /**
+     * Just drops the config on the floor, but returns req in case
+     * the config return value is used.
+     */
+    req.config = function () {
+        return req;
+    };
+
+    /**
+     * Export require as a global, but only if it does not already exist.
+     */
+    if (!require) {
+        require = req;
+    }
+
+    define = function (name, deps, callback) {
+
+        //This module may not have dependencies
+        if (!deps.splice) {
+            //deps is not an array, so probably means
+            //an object literal or factory function for
+            //the value. Adjust args.
+            callback = deps;
+            deps = [];
+        }
+
+        if (define.unordered) {
+            waiting[name] = [name, deps, callback];
+        } else {
+            main(name, deps, callback);
+        }
+    };
+
+    define.amd = {
+        jQuery: true
+    };
+}());

http://git-wip-us.apache.org/repos/asf/cordova-labs/blob/cf3340ff/bin/templates/project/tools/build.js
----------------------------------------------------------------------
diff --git a/bin/templates/project/tools/build.js b/bin/templates/project/tools/build.js
index 45bf796..65e9851 100644
--- a/bin/templates/project/tools/build.js
+++ b/bin/templates/project/tools/build.js
@@ -4,7 +4,5 @@
     dir: "../www-built",
     appDir: "../www",
     removeCombined: true,
-    modules: [
-        { name: "../app" }
-    ]
-})
\ No newline at end of file
+    modules: []
+})