kopia lustrzana https://github.com/c9/core
Merge pull request +7346 from c9/revert-7345-revert-7308-salesforce_ace
[WIP] Fix, unrevert "add salesforce modes to cdn""pull/43/merge
commit
774a355022
|
@ -155,32 +155,73 @@ define(function(require, exports, module) {
|
||||||
process.exit();
|
process.exit();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function listAceModules(pathConfig, cb) {
|
function listAceModules(pathConfig, cb) {
|
||||||
// build async loaded ace modules
|
var result = [
|
||||||
var aceModules = ["vim", "emacs", "sublime"].map(function(x) {
|
"plugins/c9.ide.ace.keymaps/vim/keymap",
|
||||||
return "plugins/c9.ide.ace.keymaps/" + x + "/keymap";
|
"plugins/c9.ide.ace.keymaps/emacs/keymap",
|
||||||
});
|
"plugins/c9.ide.ace.keymaps/sublime/keymap",
|
||||||
var acePath = __dirname + "/../../node_modules/ace/lib/ace";
|
];
|
||||||
function addAceModules(type, excludePattern) {
|
|
||||||
var files = fs.readdirSync(acePath + "/" + type);
|
// FIXME: this could be resolved via pathConfig:
|
||||||
files.filter(function(p) {
|
var pathMap = {
|
||||||
return !excludePattern.test(p) && !/[\s#]/.test(p) && /.*\.js$/.test(p);
|
"ace": __dirname + "/../../node_modules/ace/lib/ace",
|
||||||
}).forEach(function(p) {
|
"plugins": __dirname + "/../../plugins",
|
||||||
aceModules.push("ace/" + type + "/" + p.slice(0, -3));
|
};
|
||||||
|
|
||||||
|
var packages = [
|
||||||
|
"ace",
|
||||||
|
"plugins/c9.ide.salesforce/salesforce.language",
|
||||||
|
];
|
||||||
|
|
||||||
|
function readPackage(name, type, excludePattern) {
|
||||||
|
if (!excludePattern)
|
||||||
|
excludePattern = /_test/;
|
||||||
|
|
||||||
|
var prefix = name.split("/")[0];
|
||||||
|
var targetPath = name + "/" + type;
|
||||||
|
|
||||||
|
if (!pathMap[prefix])
|
||||||
|
throw new Error("Cannot map prefix " + prefix + " for package " + name);
|
||||||
|
|
||||||
|
var sourcePath = pathMap[prefix] + "/" + targetPath.substr(prefix.length);
|
||||||
|
|
||||||
|
try {
|
||||||
|
var files = fs.readdirSync(sourcePath);
|
||||||
|
} catch (e) {
|
||||||
|
if (e.code === "ENOENT") return;
|
||||||
|
else throw e;
|
||||||
|
}
|
||||||
|
|
||||||
|
files = files.filter(function(p) {
|
||||||
|
return !excludePattern.test(p)
|
||||||
|
&& !/[\s#]/.test(p)
|
||||||
|
&& /\.js$/.test(p);
|
||||||
|
});
|
||||||
|
|
||||||
|
files.forEach(function(p) {
|
||||||
|
result.push(targetPath + "/" + p.replace(/.js$/, ""));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
addAceModules("mode", /_highlight_rules|_test|_worker|xml_util|_outdent|behaviour|completions/);
|
|
||||||
addAceModules("theme", /_test/);
|
packages.forEach(function(name) {
|
||||||
addAceModules("ext", /_test/);
|
var isAce = (name === "ace");
|
||||||
addAceModules("snippets", /_test/);
|
var modesExcludePattern = /_highlight_rules|_test|_worker|xml_util|_outdent|behaviour|completions/;
|
||||||
|
|
||||||
|
readPackage(name, (isAce ? "mode" : "modes"), modesExcludePattern);
|
||||||
|
readPackage(name, (isAce ? "theme" : "themes"));
|
||||||
|
readPackage(name, "ext");
|
||||||
|
readPackage(name, "snippets");
|
||||||
|
});
|
||||||
|
|
||||||
function take() {
|
function take() {
|
||||||
var p = aceModules.pop();
|
var p = result.pop();
|
||||||
console.log("building ", p, aceModules.length);
|
console.log("building ", p, result.length);
|
||||||
cb(p, aceModules.length && take);
|
cb(p, result.length && take);
|
||||||
}
|
}
|
||||||
take();
|
take();
|
||||||
}
|
}
|
||||||
|
|
||||||
function copyStaticResources(usedPlugins, pathConfig, next) {
|
function copyStaticResources(usedPlugins, pathConfig, next) {
|
||||||
var moduleDeps = require("architect-build/module-deps");
|
var moduleDeps = require("architect-build/module-deps");
|
||||||
var copy = require('architect-build/copy');
|
var copy = require('architect-build/copy');
|
||||||
|
|
Ładowanie…
Reference in New Issue