From c0962cfb520d25c367689243b71e43af1dcc0601 Mon Sep 17 00:00:00 2001 From: Petr Vobornik Date: Thu, 8 Nov 2012 13:22:30 +0100 Subject: [PATCH] Make dojo builder buildable by itself Dojo builder is now buildable by itself. It just needed a packackage information, profile and separating of internal definition of commanLineArgs module to separate file. It allows to use a builder as a single file in rhino with only one dependency (_base/configRhino) copied from dojo/dojo. We would need an additional patch to get rid of this dependency. --- build/argv.js | 2 +- build/build.profile.js | 32 ++++++++++++++++++++++++++++++++ build/commandLineArgs.js | 7 +++++++ build/main.js | 26 ++++++++++---------------- build/package.json | 23 +++++++++++++++++++++++ 5 files changed, 73 insertions(+), 17 deletions(-) create mode 100644 build/build.profile.js create mode 100644 build/commandLineArgs.js create mode 100644 build/package.json diff --git a/build/argv.js b/build/argv.js index 18bda74b0eb80e37d9c83cb23a10f29f8ffe91d9..997576687eb74cbb6a6a293b3a855a6d15142368 100644 --- a/build/argv.js +++ b/build/argv.js @@ -5,7 +5,7 @@ define([ "./fs", "./fileUtils", "./process", - "commandLineArgs", + "./commandLineArgs", "./stringify", "./version", "./messages", diff --git a/build/build.profile.js b/build/build.profile.js new file mode 100644 index 0000000000000000000000000000000000000000..507728c283c5703106fe029c0fd282cb864c994d --- /dev/null +++ b/build/build.profile.js @@ -0,0 +1,32 @@ +// +// Dojo builder profile file +// + + +var profile = (function(){ + + var examples = /^build\/examples\//; + var ignore = { + 'build/transforms/dojoBoot':1, + 'build/optimizeRunner':1 + }; + + return { + resourceTags: { + + // all JavaScript files are AMD modules + amd: function(filename, mid) { + var amd = (!examples.test(mid) && + !(mid in ignore) && + /\.js$/.test(filename)); + //if (amd)print("'"+mid+"',"); + return amd; + }, + miniExclude: function(filename, mid) { + return (examples.test(mid) || + !/\.js$/.test(filename) || + (mid in ignore)); + } + } + }; +})(); \ No newline at end of file diff --git a/build/commandLineArgs.js b/build/commandLineArgs.js new file mode 100644 index 0000000000000000000000000000000000000000..41df62e31a05ef2c00e1eb609c0fabe8641e2d03 --- /dev/null +++ b/build/commandLineArgs.js @@ -0,0 +1,7 @@ + +define([], function(){ + + var args = []; + + return args; +}); \ No newline at end of file diff --git a/build/main.js b/build/main.js index eeb329c91c0eb4df94178cdfc445e5235409401a..89ad7a9d639257ec99ca86be59abdb74d54939a3 100644 --- a/build/main.js +++ b/build/main.js @@ -33,16 +33,14 @@ // github: https://github.com/altoviso/bdBuild // docs: http://bdframework.org/bdBuild/docs -define(["require", "dojo/has"], function(require, has){ +define(["require", "dojo/has", "./commandLineArgs"], function(require, has, commandLineArgs){ // host-dependent environment initialization if(has("host-node")){ - define("commandLineArgs", function(){ - //arg[0] is node; argv[1] is dojo.js; therefore, start with argv[2] - return process.argv.slice(2); - }); + //arg[0] is node; argv[1] is dojo.js; therefore, start with argv[2] + commandLineArgs.push(process.argv.slice(2)); - // helps during dev or heavily async node... + // helps during dev or heavily async node var util = require.nodeRequire("util"); debug = function(it, depth, inspect){ util.debug(inspect ? util.inspect(it, false, depth) : it); @@ -50,16 +48,12 @@ define(["require", "dojo/has"], function(require, has){ has.add("is-windows", process.platform == "win32"); }else if(has("host-rhino")){ - define("commandLineArgs", [], function(){ - var result = []; - require.rawConfig.commandLineArgs.forEach(function(item){ - var parts = item.split("="); - if(parts[0]!="baseUrl"){ - result.push(item); - } - }); - return result; - }); + require.rawConfig.commandLineArgs.forEach(function(item){ + var parts = item.split("="); + if(parts[0]!="baseUrl"){ + commandLineArgs.push(item); + } + }); // TODO: make this real has.add("is-windows", /indows/.test(environment["os.name"])); }else{ diff --git a/build/package.json b/build/package.json new file mode 100644 index 0000000000000000000000000000000000000000..568101cb1a182d3415c73d02e151359e1ce3e27d --- /dev/null +++ b/build/package.json @@ -0,0 +1,23 @@ +{ + "name": "build", + "version":"1.8.1", + "directories": { + "lib": "." + }, + "main": "main", + "description": "Dojo build system.", + "licenses": [ + { + "type": "AFLv2.1", + "url": "http://trac.dojotoolkit.org/browser/dojo/trunk/LICENSE#L43" + }, + { + "type": "BSD", + "url": "http://trac.dojotoolkit.org/browser/dojo/trunk/LICENSE#L13" + } + ], + "bugs": "http://bugs.dojotoolkit.org/", + "keywords": ["JavaScript", "Dojo", "Toolkit"], + "homepage": "http://dojotoolkit.org/", + "dojoBuild": "build.profile.js" +} -- 1.7.11.7