|
@@ -91,7 +91,9 @@ if (3 > process.argv.length) {
|
|
|
|
|
|
|
|
|
function handle_options(optionsArray) {
|
|
|
- var nonOptions = [];
|
|
|
+ var stFiles = [];
|
|
|
+ var jsFiles = [];
|
|
|
+ var programName = [];
|
|
|
var currentItem = optionsArray.shift();
|
|
|
|
|
|
while(undefined !== currentItem) {
|
|
@@ -138,13 +140,31 @@ function handle_options(optionsArray) {
|
|
|
usage();
|
|
|
break;
|
|
|
default:
|
|
|
- nonOptions.push(currentItem);
|
|
|
+ var fileSuffix = path.extname(currentItem);
|
|
|
+ switch (fileSuffix) {
|
|
|
+ case '.st':
|
|
|
+ stFiles.push(currentItem);
|
|
|
+ break;
|
|
|
+ case '.js':
|
|
|
+ jsFiles.push(currentItem);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ // Will end up being the last non js/st argument
|
|
|
+ programName.push(currentItem);
|
|
|
+ break;
|
|
|
+ };
|
|
|
};
|
|
|
currentItem = optionsArray.shift();
|
|
|
}
|
|
|
|
|
|
+ if(1 < programName.length) {
|
|
|
+ throw new Error('More than one name for ProgramName given: ' + programName);
|
|
|
+ } else {
|
|
|
+ defaults.program = programName[0];
|
|
|
+ }
|
|
|
+
|
|
|
check_for_closure_compiler(function() {
|
|
|
- collect_files(nonOptions);
|
|
|
+ collect_files(stFiles, jsFiles);
|
|
|
});
|
|
|
}
|
|
|
|
|
@@ -308,33 +328,7 @@ function always_resolve(callback) {
|
|
|
// Collect libraries and Smalltalk files looking
|
|
|
// both locally and in $AMBER/js and $AMBER/st
|
|
|
// --------------------------------------------------
|
|
|
-function collect_files(filesArray) {
|
|
|
- var stFiles = [];
|
|
|
- var jsFiles = [];
|
|
|
- var programName = [];
|
|
|
- filesArray.forEach(function(currentFile) {
|
|
|
- var fileSuffix = path.extname(currentFile);
|
|
|
- switch (fileSuffix) {
|
|
|
- case '.st':
|
|
|
- stFiles.push(currentFile);
|
|
|
- break;
|
|
|
- case '.js':
|
|
|
- jsFiles.push(currentFile);
|
|
|
- break;
|
|
|
- default:
|
|
|
- // Will end up being the last non js/st argument
|
|
|
- programName.push(currentFile);
|
|
|
- break;
|
|
|
- };
|
|
|
- });
|
|
|
-
|
|
|
- if(1 < programName.length) {
|
|
|
- throw new Error('More than one name for ProgramName given: ' + programName);
|
|
|
- } else {
|
|
|
- defaults.program = programName[0];
|
|
|
- }
|
|
|
-
|
|
|
- // collecting files starts here!!
|
|
|
+function collect_files(stFiles, jsFiles) {
|
|
|
var collected_files = new Combo(function() {
|
|
|
resolve_libraries();
|
|
|
});
|