Parse examples and build external modules on install

This commit is contained in:
Tim Schaub
2014-10-23 13:30:51 -06:00
parent 01b64bc655
commit 4785001548
8 changed files with 55 additions and 14 deletions

View File

@@ -270,6 +270,7 @@ def examples_star_json(name, match):
"exports": [],
"src": [
"src/**/*.js",
"build/ol.ext/*.js",
"examples/%(id)s.js" % match.groupdict()],
"compile": {
"js": [

View File

@@ -2,6 +2,7 @@
"exports": [],
"src": [
"src/**/*.js",
"build/ol.ext/*.js",
"build/examples/all.js"
],
"compile": {

View File

@@ -9,7 +9,7 @@
],
"homepage": "http://openlayers.org/",
"scripts": {
"install": "node tasks/parse-examples.js",
"install": "node tasks/install.js",
"postinstall": "closure-util update",
"start": "node tasks/serve.js",
"test": "node tasks/test.js"

View File

@@ -71,9 +71,17 @@ function buildModules(modules, callback) {
}
if (require.main === module) {
/**
* Build all external modules.
* @param {function(Error)} callback Called with any error.
*/
function main(callback) {
var modules = getExternalModules();
buildModules(modules, function(err) {
buildModules(modules, callback);
}
if (require.main === module) {
main(function(err) {
if (err) {
process.stderr.write(err.message + '\n');
process.exit(1);
@@ -82,3 +90,5 @@ if (require.main === module) {
}
});
}
module.exports = main;

View File

@@ -127,7 +127,7 @@ function getDependencies(config, exports, callback) {
};
} else {
options = {
lib: ['src/**/*.js'],
lib: ['src/**/*.js', 'build/ol.ext/*.js'],
cwd: root
};
}

17
tasks/install.js Normal file
View File

@@ -0,0 +1,17 @@
var async = require('async');
var buildExt = require('./build-ext');
var parseExamples = require('./parse-examples');
/**
* Parse examples and build external modules.
*/
async.waterfall([
parseExamples,
buildExt
], function(err) {
if (err) {
process.stderr.write(err + '\n');
process.exit(1);
}
});

View File

@@ -137,14 +137,25 @@ function writeExampleList(exampleInfos, callback) {
/**
* List examples, parse them, and write example list.
* @param {function(Error)} callback Called with any error.
*/
async.waterfall([
function main(callback) {
async.waterfall([
listExamples,
parseExamples,
writeExampleList
], function(err) {
], callback);
}
if (require.main === module) {
main(function(err) {
if (err) {
process.stderr.write(err + '\n');
process.stderr.write(err.message + '\n');
process.exit(1);
} else {
process.exit(0);
}
});
});
}
module.exports = main;

View File

@@ -22,6 +22,7 @@ var createServer = exports.createServer = function(callback) {
var manager = new closure.Manager({
lib: [
'src/**/*.js',
'build/ol.ext/*.js',
'test/spec/**/*.test.js'
],
main: 'examples/*.js'