Revision: 364
Author:
ryandesign.com
Date: Mon Feb 6 19:28:35 2012
Log: Update path to 362, use #include-based concatenation system, wrap
everything in an IIFE
http://code.google.com/p/canviz/source/detail?r=364
Added:
/canviz/trunk/src/all.js
Modified:
/canviz/trunk/Jakefile
/canviz/trunk/src
/canviz/trunk/src/Canviz.js
/canviz/trunk/src/Edge.js
/canviz/trunk/src/Entity.js
/canviz/trunk/src/Graph.js
/canviz/trunk/src/Image.js
/canviz/trunk/src/Node.js
/canviz/trunk/src/Tokenizer.js
/canviz/trunk/src/debug.js
=======================================
--- /dev/null
+++ /canviz/trunk/src/all.js Mon Feb 6 19:28:35 2012
@@ -0,0 +1,11 @@
+(function(exports) {
+
+//#include 'Canviz.js'
+//#include 'Edge.js'
+//#include 'Entity.js'
+//#include 'Graph.js'
+//#include 'Image.js'
+//#include 'Node.js'
+//#include 'Tokenizer.js'
+
+}('undefined' !== typeof exports ? exports : window));
=======================================
--- /canviz/trunk/Jakefile Thu Jan 26 23:46:18 2012
+++ /canviz/trunk/Jakefile Mon Feb 6 19:28:35 2012
@@ -17,13 +17,47 @@
desc('makes the build directory');
directory('build');
+function preprocessFile(file) {
+ var includeFiles = [];
+ function _preprocessFile(file) {
+ includeFiles.push(file);
+ var lines = fs.readFileSync(file, 'utf8').split("\n");
+ for (var i = 0; i < lines.length; ++i) {
+ var matches =
/^\s*\/\/#include\s*(?:'([^']+)'|"([^"]+)")\s*$/.exec(lines[i]);
+ if (matches) {
+ var includeFile = path.join(path.dirname(file), matches[1]);
+ if (includeFiles.indexOf(includeFile) === -1) {
+ lines[i] = _preprocessFile(includeFile);
+ } else {
+ lines.splice(i--, 1);
+ }
+ }
+ }
+ return lines.join("\n");
+ }
+ return _preprocessFile(file);
+}
+
desc('builds the concatenated canviz library');
-file('build/canviz.js',
['build', 'src/path/Point.js', 'src/path/Bezier.js', 'src/path/Path.js', 'src/path/Polygon.js', 'src/path/Rect.js', 'src/path/Ellipse.js', 'src/Tokenizer.js', 'src/Entity.js', 'src/Node.js', 'src/Edge.js', 'src/Graph.js', 'src/Canviz.js', 'src/Image.js', 'src/debug.js'],
function() {
- var code = [];
-
['src/path/Point.js', 'src/path/Bezier.js', 'src/path/Path.js', 'src/path/Polygon.js', 'src/path/Rect.js', 'src/path/Ellipse.js', 'src/Tokenizer.js', 'src/Entity.js', 'src/Node.js', 'src/Edge.js', 'src/Graph.js', 'src/Canviz.js', 'src/Image.js', 'src/debug.js'].forEach(function(file)
{
- code.push(fs.readFileSync(file, 'utf8'));
- });
- fs.writeFileSync('build/canviz.js', code.join("\n"), 'utf8');
+file('build/canviz.js', [
+ 'build',
+ 'src/Canviz.js',
+ 'src/debug.js',
+ 'src/Edge.js',
+ 'src/Entity.js',
+ 'src/Graph.js',
+ 'src/Image.js',
+ 'src/Node.js',
+ 'src/path/Bezier.js',
+ 'src/path/Ellipse.js',
+ 'src/path/Path.js',
+ 'src/path/Point.js',
+ 'src/path/Polygon.js',
+ 'src/path/Rect.js',
+ 'src/Tokenizer.js',
+], function() {
+ var code = preprocessFile('src/all.js');
+ fs.writeFileSync('build/canviz.js', code, 'utf8');
});
desc('builds the minified canviz library for production');
=======================================
--- /canviz/trunk/src/Canviz.js Tue Jan 24 16:01:06 2012
+++ /canviz/trunk/src/Canviz.js Mon Feb 6 19:28:35 2012
@@ -1,4 +1,9 @@
-var Canviz = Class.create({
+//#include 'debug.js'
+//#include 'Edge.js'
+//#include 'Graph.js'
+//#include 'Node.js'
+
+var Canviz = exports.Canviz = Class.create({
maxXdotVersion: '1.2',
colors: $H({
fallback:{
=======================================
--- /canviz/trunk/src/Edge.js Tue Jan 24 16:01:06 2012
+++ /canviz/trunk/src/Edge.js Mon Feb 6 19:28:35 2012
@@ -1,4 +1,6 @@
-var CanvizEdge = Class.create(CanvizEntity, {
+//#include 'Entity.js'
+
+var CanvizEdge = exports.CanvizEdge = Class.create(CanvizEntity, {
initialize: function($super, name, canviz, rootGraph, parentGraph,
tailNode, headNode) {
$super('edgeAttrs', name, canviz, rootGraph, parentGraph, parentGraph);
this.tailNode = tailNode;
=======================================
--- /canviz/trunk/src/Entity.js Tue Jan 24 16:01:06 2012
+++ /canviz/trunk/src/Entity.js Mon Feb 6 19:28:35 2012
@@ -1,4 +1,12 @@
-var CanvizEntity = Class.create({
+//#include 'debug.js'
+//#include 'Image.js'
+//#include 'path/Ellipse.js'
+//#include 'path/Path.js'
+//#include 'path/Point.js'
+//#include 'path/Rect.js'
+//#include 'Tokenizer.js'
+
+var CanvizEntity = exports.CanvizEntity = Class.create({
initialize: function(defaultAttrHashName, name, canviz, rootGraph,
parentGraph, immediateGraph) {
this.defaultAttrHashName = defaultAttrHashName;
this.name = name;
=======================================
--- /canviz/trunk/src/Graph.js Tue Jan 24 16:01:06 2012
+++ /canviz/trunk/src/Graph.js Mon Feb 6 19:28:35 2012
@@ -1,4 +1,7 @@
-var CanvizGraph = Class.create(CanvizEntity, {
+//#include 'Entity.js'
+//#include 'path/Rect.js'
+
+var CanvizGraph = exports.CanvizGraph = Class.create(CanvizEntity, {
initialize: function($super, name, canviz, rootGraph, parentGraph) {
$super('attrs', name, canviz, rootGraph, parentGraph, this);
this.nodeAttrs = $H();
=======================================
--- /canviz/trunk/src/Image.js Tue Jan 24 16:01:06 2012
+++ /canviz/trunk/src/Image.js Mon Feb 6 19:28:35 2012
@@ -1,4 +1,7 @@
-var CanvizImage = Class.create({
+//#include 'debug.js'
+//#include 'path/Rect.js'
+
+var CanvizImage = exports.CanvizImage = Class.create({
initialize: function(canviz, src) {
this.canviz = canviz;
++this.canviz.numImages;
=======================================
--- /canviz/trunk/src/Node.js Tue Jan 24 16:01:06 2012
+++ /canviz/trunk/src/Node.js Mon Feb 6 19:28:35 2012
@@ -1,4 +1,6 @@
-var CanvizNode = Class.create(CanvizEntity, {
+//#include 'Entity.js'
+
+var CanvizNode = exports.CanvizNode = Class.create(CanvizEntity, {
initialize: function($super, name, canviz, rootGraph, parentGraph) {
$super('nodeAttrs', name, canviz, rootGraph, parentGraph, parentGraph);
}
=======================================
--- /canviz/trunk/src/Tokenizer.js Tue Jan 24 16:01:06 2012
+++ /canviz/trunk/src/Tokenizer.js Mon Feb 6 19:28:35 2012
@@ -1,4 +1,4 @@
-var CanvizTokenizer = Class.create({
+var CanvizTokenizer = exports.CanvizTokenizer = Class.create({
initialize: function(str) {
this.str = str;
},
=======================================
--- /canviz/trunk/src/debug.js Tue Jan 24 16:01:06 2012
+++ /canviz/trunk/src/debug.js Mon Feb 6 19:28:35 2012
@@ -1,4 +1,4 @@
-function debug(str, escape) {
+var debug = exports.debug = function(str, escape) {
str = String(str);
if ('undefined' === typeof escape) {
escape = true;
@@ -7,4 +7,4 @@
str = str.escapeHTML();
}
$('debug_output').innerHTML += '»' + str + '«<br />';
-}
+};