Create the WORKER_SRC_FILES and EXT_SRC_FILES lists in make automatically

This commit is contained in:
Christian Krebs 2014-04-09 14:04:43 +02:00
parent a6e5f31ca1
commit 5a49d2eb83
2 changed files with 25 additions and 30 deletions

View File

@ -220,6 +220,28 @@ function build(setup) {
} }
exports.build = build; exports.build = build;
function getWorkerSrcFiles(filePath) {
var src = fs.readFileSync(filePath).toString();
var reSrcFiles = /var\s+otherFiles\s*=\s*(\[[^\]]*\])/;
var match = reSrcFiles.exec(src);
try {
var files = JSON.parse(match[1].replace(/'/g, '"'));
var srcFiles = files.filter(function(name) {
return name.indexOf('external') == -1;
});
var externalSrcFiles = files.filter(function(name) {
return name.indexOf('external') > -1;
});
return {
srcFiles: srcFiles,
externalSrcFiles: externalSrcFiles
};
} catch(e) {
return {};
}
}
exports.getWorkerSrcFiles = getWorkerSrcFiles;
/** /**
* Merge two defines arrays. Values in the second param will override values in * Merge two defines arrays. Values in the second param will override values in
* the first. * the first.

33
make.js
View File

@ -325,33 +325,8 @@ target.bundle = function(args) {
'display/font_loader.js' 'display/font_loader.js'
]); ]);
var WORKER_SRC_FILES = [ var srcFiles = builder.getWorkerSrcFiles('src/worker_loader.js');
'core/network.js', var WORKER_SRC_FILES = srcFiles.srcFiles;
'core/chunked_stream.js',
'core/pdf_manager.js',
'core/core.js',
'core/obj.js',
'core/charsets.js',
'core/cidmaps.js',
'core/crypto.js',
'core/pattern.js',
'core/evaluator.js',
'core/fonts.js',
'core/font_renderer.js',
'core/glyphlist.js',
'core/image.js',
'core/metrics.js',
'core/parser.js',
'core/ps_parser.js',
'core/stream.js',
'core/worker.js',
'core/arithmetic_decoder.js',
'core/jpx.js',
'core/jbig2.js',
'core/bidi.js',
'core/cmap.js',
'core/murmurhash3.js'
];
if (!defines.SINGLE_FILE) { if (!defines.SINGLE_FILE) {
// We want shared_src_files in both pdf.js and pdf.worker.js // We want shared_src_files in both pdf.js and pdf.worker.js
@ -363,9 +338,7 @@ target.bundle = function(args) {
MAIN_SRC_FILES = MAIN_SRC_FILES.concat(WORKER_SRC_FILES); MAIN_SRC_FILES = MAIN_SRC_FILES.concat(WORKER_SRC_FILES);
} }
var EXT_SRC_FILES = [ var EXT_SRC_FILES = srcFiles.externalSrcFiles;
'../external/jpgjs/jpg.js'
];
cd(SRC_DIR); cd(SRC_DIR);