freeipa/install/ui/util/build/patches/001-dojo-build-pvoborni-01-Make-dojo-builder-buildable-by-itself.patch
Petr Vobornik 9d3364719d Dojo Builder
Added support for Dojo builder.

 * Includes built builder and patches required to build the builder.
 * _base/configRhino.js is required by the builder to run under rhino.
 * added utility scripts for running the builder
    * build.sh
    * clean.sh
    * compile.sh
    * make-builder.sh
    * prepare-dojo.sh

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:35 +01:00

170 lines
5.2 KiB
Diff

From c0962cfb520d25c367689243b71e43af1dcc0601 Mon Sep 17 00:00:00 2001
From: Petr Vobornik <pvoborni@redhat.com>
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