Moves bundle target/task to gulpfile.js
This commit is contained in:
parent
55581b162e
commit
5568a19ee3
290
gulpfile.js
290
gulpfile.js
@ -22,11 +22,30 @@ var gulp = require('gulp');
|
|||||||
var gutil = require('gulp-util');
|
var gutil = require('gulp-util');
|
||||||
var rimraf = require('rimraf');
|
var rimraf = require('rimraf');
|
||||||
var stream = require('stream');
|
var stream = require('stream');
|
||||||
|
var exec = require('child_process').exec;
|
||||||
|
var streamqueue = require('streamqueue');
|
||||||
|
|
||||||
var BUILD_DIR = 'build/';
|
var BUILD_DIR = 'build/';
|
||||||
var L10N_DIR = 'l10n/';
|
var L10N_DIR = 'l10n/';
|
||||||
|
|
||||||
require('./make.js');
|
var makeFile = require('./make.js');
|
||||||
|
var stripCommentHeaders = makeFile.stripCommentHeaders;
|
||||||
|
var builder = makeFile.builder;
|
||||||
|
|
||||||
|
var CONFIG_FILE = 'pdfjs.config';
|
||||||
|
var config = JSON.parse(fs.readFileSync(CONFIG_FILE).toString());
|
||||||
|
|
||||||
|
var DEFINES = {
|
||||||
|
PRODUCTION: true,
|
||||||
|
// The main build targets:
|
||||||
|
GENERIC: false,
|
||||||
|
FIREFOX: false,
|
||||||
|
MOZCENTRAL: false,
|
||||||
|
CHROME: false,
|
||||||
|
MINIFIED: false,
|
||||||
|
SINGLE_FILE: false,
|
||||||
|
COMPONENTS: false
|
||||||
|
};
|
||||||
|
|
||||||
function createStringSource(filename, content) {
|
function createStringSource(filename, content) {
|
||||||
var source = stream.Readable({ objectMode: true });
|
var source = stream.Readable({ objectMode: true });
|
||||||
@ -42,6 +61,193 @@ function createStringSource(filename, content) {
|
|||||||
return source;
|
return source;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function stripUMDHeaders(content) {
|
||||||
|
var reg = new RegExp(
|
||||||
|
'if \\(typeof define === \'function\' && define.amd\\) \\{[^}]*' +
|
||||||
|
'\\} else if \\(typeof exports !== \'undefined\'\\) \\{[^}]*' +
|
||||||
|
'\\} else ', 'g');
|
||||||
|
return content.replace(reg, '');
|
||||||
|
}
|
||||||
|
|
||||||
|
function bundle(filename, outfilename, pathPrefix, initFiles, amdName, defines,
|
||||||
|
isMainFile, versionInfo) {
|
||||||
|
// Reading UMD headers and building loading orders of modules. The
|
||||||
|
// readDependencies returns AMD module names: removing 'pdfjs' prefix and
|
||||||
|
// adding '.js' extensions to the name.
|
||||||
|
var umd = require('./external/umdutils/verifier.js');
|
||||||
|
initFiles = initFiles.map(function (p) { return pathPrefix + p; });
|
||||||
|
var files = umd.readDependencies(initFiles).loadOrder.map(function (name) {
|
||||||
|
return pathPrefix + name.replace(/^[\w\-]+\//, '') + '.js';
|
||||||
|
});
|
||||||
|
|
||||||
|
var crlfchecker = require('./external/crlfchecker/crlfchecker.js');
|
||||||
|
crlfchecker.checkIfCrlfIsPresent(files);
|
||||||
|
|
||||||
|
var bundleContent = files.map(function (file) {
|
||||||
|
var content = fs.readFileSync(file);
|
||||||
|
|
||||||
|
// Prepend a newline because stripCommentHeaders only strips comments that
|
||||||
|
// follow a line feed. The file where bundleContent is inserted already
|
||||||
|
// contains a license header, so the header of bundleContent can be removed.
|
||||||
|
content = stripCommentHeaders('\n' + content);
|
||||||
|
|
||||||
|
// Removes AMD and CommonJS branches from UMD headers.
|
||||||
|
content = stripUMDHeaders(content);
|
||||||
|
|
||||||
|
return content;
|
||||||
|
}).join('');
|
||||||
|
|
||||||
|
var jsName = amdName.replace(/[\-_\.\/]\w/g, function (all) {
|
||||||
|
return all[1].toUpperCase();
|
||||||
|
});
|
||||||
|
|
||||||
|
// Avoiding double processing of the bundle file.
|
||||||
|
var templateContent = fs.readFileSync(filename).toString();
|
||||||
|
var tmpFile = outfilename + '.tmp';
|
||||||
|
fs.writeFileSync(tmpFile, templateContent.replace(
|
||||||
|
/\/\/#expand\s+__BUNDLE__\s*\n/, function (all) { return bundleContent; }));
|
||||||
|
bundleContent = null;
|
||||||
|
templateContent = null;
|
||||||
|
|
||||||
|
// This just preprocesses the empty pdf.js file, we don't actually want to
|
||||||
|
// preprocess everything yet since other build targets use this file.
|
||||||
|
builder.preprocess(tmpFile, outfilename,
|
||||||
|
builder.merge(defines, {
|
||||||
|
BUNDLE_VERSION: versionInfo.version,
|
||||||
|
BUNDLE_BUILD: versionInfo.commit,
|
||||||
|
BUNDLE_AMD_NAME: amdName,
|
||||||
|
BUNDLE_JS_NAME: jsName,
|
||||||
|
MAIN_FILE: isMainFile
|
||||||
|
}));
|
||||||
|
fs.unlinkSync(tmpFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
function createBundle(defines) {
|
||||||
|
defines = defines || DEFINES;
|
||||||
|
|
||||||
|
var versionJSON = JSON.parse(
|
||||||
|
fs.readFileSync(BUILD_DIR + 'version.json').toString());
|
||||||
|
|
||||||
|
console.log();
|
||||||
|
console.log('### Bundling files into pdf.js');
|
||||||
|
|
||||||
|
var mainFiles = [
|
||||||
|
'display/global.js'
|
||||||
|
];
|
||||||
|
|
||||||
|
var workerFiles = [
|
||||||
|
'core/worker.js'
|
||||||
|
];
|
||||||
|
|
||||||
|
var mainAMDName = 'pdfjs-dist/build/pdf';
|
||||||
|
var workerAMDName = 'pdfjs-dist/build/pdf.worker';
|
||||||
|
var mainOutputName = 'pdf.js';
|
||||||
|
var workerOutputName = 'pdf.worker.js';
|
||||||
|
|
||||||
|
// Extension does not need network.js file.
|
||||||
|
if (!defines.FIREFOX && !defines.MOZCENTRAL) {
|
||||||
|
workerFiles.push('core/network.js');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (defines.SINGLE_FILE) {
|
||||||
|
// In singlefile mode, all of the src files will be bundled into
|
||||||
|
// the main pdf.js output.
|
||||||
|
mainFiles = mainFiles.concat(workerFiles);
|
||||||
|
workerFiles = null; // no need for worker file
|
||||||
|
mainAMDName = 'pdfjs-dist/build/pdf.combined';
|
||||||
|
workerAMDName = null;
|
||||||
|
mainOutputName = 'pdf.combined.js';
|
||||||
|
workerOutputName = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
var state = 'mainfile';
|
||||||
|
var source = stream.Readable({ objectMode: true });
|
||||||
|
source._read = function () {
|
||||||
|
var tmpFile;
|
||||||
|
switch (state) {
|
||||||
|
case 'mainfile':
|
||||||
|
// 'buildnumber' shall create BUILD_DIR for us
|
||||||
|
tmpFile = BUILD_DIR + '~' + mainOutputName + '.tmp';
|
||||||
|
bundle('src/pdf.js', tmpFile, 'src/', mainFiles, mainAMDName,
|
||||||
|
defines, true, versionJSON);
|
||||||
|
this.push(new gutil.File({
|
||||||
|
cwd: '',
|
||||||
|
base: '',
|
||||||
|
path: mainOutputName,
|
||||||
|
contents: fs.readFileSync(tmpFile)
|
||||||
|
}));
|
||||||
|
fs.unlinkSync(tmpFile);
|
||||||
|
state = workerFiles ? 'workerfile' : 'stop';
|
||||||
|
break;
|
||||||
|
case 'workerfile':
|
||||||
|
// 'buildnumber' shall create BUILD_DIR for us
|
||||||
|
tmpFile = BUILD_DIR + '~' + workerOutputName + '.tmp';
|
||||||
|
bundle('src/pdf.js', tmpFile, 'src/', workerFiles, workerAMDName,
|
||||||
|
defines, false, versionJSON);
|
||||||
|
this.push(new gutil.File({
|
||||||
|
cwd: '',
|
||||||
|
base: '',
|
||||||
|
path: workerOutputName,
|
||||||
|
contents: fs.readFileSync(tmpFile)
|
||||||
|
}));
|
||||||
|
fs.unlinkSync(tmpFile);
|
||||||
|
state = 'stop';
|
||||||
|
break;
|
||||||
|
case 'stop':
|
||||||
|
this.push(null);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return source;
|
||||||
|
}
|
||||||
|
|
||||||
|
function createWebBundle(defines) {
|
||||||
|
var versionJSON = JSON.parse(
|
||||||
|
fs.readFileSync(BUILD_DIR + 'version.json').toString());
|
||||||
|
|
||||||
|
var template, files, outputName, amdName;
|
||||||
|
if (defines.COMPONENTS) {
|
||||||
|
amdName = 'pdfjs-dist/web/pdf_viewer';
|
||||||
|
template = 'web/pdf_viewer.component.js';
|
||||||
|
files = [
|
||||||
|
'pdf_viewer.js',
|
||||||
|
'pdf_history.js',
|
||||||
|
'pdf_find_controller.js',
|
||||||
|
'download_manager.js'
|
||||||
|
];
|
||||||
|
outputName = 'pdf_viewer.js';
|
||||||
|
} else {
|
||||||
|
amdName = 'pdfjs-dist/web/viewer';
|
||||||
|
outputName = 'viewer.js';
|
||||||
|
template = 'web/viewer.js';
|
||||||
|
files = ['app.js'];
|
||||||
|
if (defines.FIREFOX || defines.MOZCENTRAL) {
|
||||||
|
files.push('firefoxcom.js');
|
||||||
|
} else if (defines.CHROME) {
|
||||||
|
files.push('chromecom.js', 'mozPrintCallback_polyfill.js');
|
||||||
|
} else if (defines.GENERIC) {
|
||||||
|
files.push('mozPrintCallback_polyfill.js');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var source = stream.Readable({ objectMode: true });
|
||||||
|
source._read = function () {
|
||||||
|
// 'buildnumber' shall create BUILD_DIR for us
|
||||||
|
var tmpFile = BUILD_DIR + '~' + outputName + '.tmp';
|
||||||
|
bundle(template, tmpFile, 'web/', files, amdName, defines, false,
|
||||||
|
versionJSON);
|
||||||
|
this.push(new gutil.File({
|
||||||
|
cwd: '',
|
||||||
|
base: '',
|
||||||
|
path: outputName,
|
||||||
|
contents: fs.readFileSync(tmpFile)
|
||||||
|
}));
|
||||||
|
fs.unlinkSync(tmpFile);
|
||||||
|
this.push(null);
|
||||||
|
};
|
||||||
|
return source;
|
||||||
|
}
|
||||||
|
|
||||||
gulp.task('default', function() {
|
gulp.task('default', function() {
|
||||||
console.log('Available tasks:');
|
console.log('Available tasks:');
|
||||||
var tasks = Object.keys(gulp.tasks);
|
var tasks = Object.keys(gulp.tasks);
|
||||||
@ -51,6 +257,88 @@ gulp.task('default', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
gulp.task('buildnumber', function (done) {
|
||||||
|
console.log();
|
||||||
|
console.log('### Getting extension build number');
|
||||||
|
|
||||||
|
exec('git log --format=oneline ' + config.baseVersion + '..',
|
||||||
|
function (err, stdout, stderr) {
|
||||||
|
var buildNumber = 0;
|
||||||
|
if (!err) {
|
||||||
|
// Build number is the number of commits since base version
|
||||||
|
buildNumber = stdout ? stdout.match(/\n/g).length : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('Extension build number: ' + buildNumber);
|
||||||
|
|
||||||
|
var version = config.versionPrefix + buildNumber;
|
||||||
|
|
||||||
|
exec('git log --format="%h" -n 1', function (err, stdout, stderr) {
|
||||||
|
var buildCommit = '';
|
||||||
|
if (!err) {
|
||||||
|
buildCommit = stdout.replace('\n', '');
|
||||||
|
}
|
||||||
|
|
||||||
|
createStringSource('version.json', JSON.stringify({
|
||||||
|
version: version,
|
||||||
|
build: buildNumber,
|
||||||
|
commit: buildCommit
|
||||||
|
}, null, 2))
|
||||||
|
.pipe(gulp.dest(BUILD_DIR))
|
||||||
|
.on('end', done);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('bundle-firefox', ['buildnumber'], function () {
|
||||||
|
var defines = builder.merge(DEFINES, {FIREFOX: true});
|
||||||
|
return streamqueue({ objectMode: true },
|
||||||
|
createBundle(defines), createWebBundle(defines))
|
||||||
|
.pipe(gulp.dest(BUILD_DIR));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('bundle-mozcentral', ['buildnumber'], function () {
|
||||||
|
var defines = builder.merge(DEFINES, {MOZCENTRAL: true});
|
||||||
|
return streamqueue({ objectMode: true },
|
||||||
|
createBundle(defines), createWebBundle(defines))
|
||||||
|
.pipe(gulp.dest(BUILD_DIR));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('bundle-chromium', ['buildnumber'], function () {
|
||||||
|
var defines = builder.merge(DEFINES, {CHROME: true});
|
||||||
|
return streamqueue({ objectMode: true },
|
||||||
|
createBundle(defines), createWebBundle(defines))
|
||||||
|
.pipe(gulp.dest(BUILD_DIR));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('bundle-singlefile', ['buildnumber'], function () {
|
||||||
|
var defines = builder.merge(DEFINES, {SINGLE_FILE: true});
|
||||||
|
return createBundle(defines).pipe(gulp.dest(BUILD_DIR));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('bundle-generic', ['buildnumber'], function () {
|
||||||
|
var defines = builder.merge(DEFINES, {GENERIC: true});
|
||||||
|
return streamqueue({ objectMode: true },
|
||||||
|
createBundle(), createWebBundle(defines))
|
||||||
|
.pipe(gulp.dest(BUILD_DIR));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('bundle-minified', ['buildnumber'], function () {
|
||||||
|
var defines = builder.merge(DEFINES, {MINIFIED: true, GENERIC: true});
|
||||||
|
return streamqueue({ objectMode: true },
|
||||||
|
createBundle(), createWebBundle(defines))
|
||||||
|
.pipe(gulp.dest(BUILD_DIR));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('bundle-components', ['buildnumber'], function () {
|
||||||
|
var defines = builder.merge(DEFINES, {COMPONENTS: true, GENERIC: true});
|
||||||
|
return createWebBundle(defines).pipe(gulp.dest(BUILD_DIR));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('bundle', ['buildnumber'], function () {
|
||||||
|
return createBundle().pipe(gulp.dest(BUILD_DIR));
|
||||||
|
});
|
||||||
|
|
||||||
gulp.task('server', function (done) {
|
gulp.task('server', function (done) {
|
||||||
console.log();
|
console.log();
|
||||||
console.log('### Starting local server');
|
console.log('### Starting local server');
|
||||||
|
257
make.js
257
make.js
@ -27,18 +27,12 @@ try {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var builder = require('./external/builder/builder.js');
|
var builder = require('./external/builder/builder.js');
|
||||||
var crlfchecker = require('./external/crlfchecker/crlfchecker.js');
|
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
|
|
||||||
var CONFIG_FILE = 'pdfjs.config';
|
var CONFIG_FILE = 'pdfjs.config';
|
||||||
var config = JSON.parse(fs.readFileSync(CONFIG_FILE));
|
var config = JSON.parse(fs.readFileSync(CONFIG_FILE));
|
||||||
|
|
||||||
// Defined by buildnumber target.
|
|
||||||
var BUILD_NUMBER,
|
|
||||||
BUILD_COMMIT,
|
|
||||||
VERSION;
|
|
||||||
|
|
||||||
var ROOT_DIR = __dirname + '/', // absolute path to project's root
|
var ROOT_DIR = __dirname + '/', // absolute path to project's root
|
||||||
BUILD_DIR = 'build/',
|
BUILD_DIR = 'build/',
|
||||||
SRC_DIR = 'src/',
|
SRC_DIR = 'src/',
|
||||||
@ -77,6 +71,12 @@ var DEFINES = {
|
|||||||
COMPONENTS: false
|
COMPONENTS: false
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function getCurrentVersion() {
|
||||||
|
// The 'build/version.json' file is created by 'buildnumber' task.
|
||||||
|
return JSON.parse(fs.readFileSync(ROOT_DIR + 'build/version.json').toString())
|
||||||
|
.version;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// make all
|
// make all
|
||||||
//
|
//
|
||||||
@ -112,7 +112,8 @@ var COMMON_WEB_FILES =
|
|||||||
// modern HTML5 browsers.
|
// modern HTML5 browsers.
|
||||||
//
|
//
|
||||||
target.generic = function() {
|
target.generic = function() {
|
||||||
target.bundle({});
|
exec('gulp bundle-generic');
|
||||||
|
|
||||||
target.locale();
|
target.locale();
|
||||||
|
|
||||||
cd(ROOT_DIR);
|
cd(ROOT_DIR);
|
||||||
@ -127,16 +128,11 @@ target.generic = function() {
|
|||||||
|
|
||||||
var defines = builder.merge(DEFINES, {GENERIC: true});
|
var defines = builder.merge(DEFINES, {GENERIC: true});
|
||||||
|
|
||||||
var TMP_VIEWER = GENERIC_DIR + '/web/viewer.js.tmp';
|
|
||||||
cd('web/');
|
|
||||||
var viewerBundleFiles = ['app.js', 'mozPrintCallback_polyfill.js'];
|
|
||||||
bundle('viewer.js', ROOT_DIR + TMP_VIEWER, viewerBundleFiles,
|
|
||||||
'pdfjs-dist/web/viewer', defines, true);
|
|
||||||
cd(ROOT_DIR);
|
|
||||||
|
|
||||||
var setup = {
|
var setup = {
|
||||||
defines: defines,
|
defines: defines,
|
||||||
copy: [
|
copy: [
|
||||||
|
[BUILD_TARGETS, GENERIC_DIR + BUILD_DIR],
|
||||||
|
[BUILD_DIR + 'viewer.js', GENERIC_DIR + '/web'],
|
||||||
[COMMON_WEB_FILES, GENERIC_DIR + '/web'],
|
[COMMON_WEB_FILES, GENERIC_DIR + '/web'],
|
||||||
['LICENSE', GENERIC_DIR],
|
['LICENSE', GENERIC_DIR],
|
||||||
['external/webL10n/l10n.js', GENERIC_DIR + '/web'],
|
['external/webL10n/l10n.js', GENERIC_DIR + '/web'],
|
||||||
@ -146,8 +142,6 @@ target.generic = function() {
|
|||||||
['web/locale', GENERIC_DIR + '/web']
|
['web/locale', GENERIC_DIR + '/web']
|
||||||
],
|
],
|
||||||
preprocess: [
|
preprocess: [
|
||||||
[BUILD_TARGETS, GENERIC_DIR + BUILD_DIR],
|
|
||||||
[TMP_VIEWER, GENERIC_DIR + '/web/viewer.js'],
|
|
||||||
[COMMON_WEB_FILES_PREPROCESS, GENERIC_DIR + '/web']
|
[COMMON_WEB_FILES_PREPROCESS, GENERIC_DIR + '/web']
|
||||||
],
|
],
|
||||||
preprocessCSS: [
|
preprocessCSS: [
|
||||||
@ -160,10 +154,11 @@ target.generic = function() {
|
|||||||
cleanupJSSource(GENERIC_DIR + '/build/pdf.js');
|
cleanupJSSource(GENERIC_DIR + '/build/pdf.js');
|
||||||
cleanupJSSource(GENERIC_DIR + '/web/viewer.js');
|
cleanupJSSource(GENERIC_DIR + '/web/viewer.js');
|
||||||
cleanupCSSSource(GENERIC_DIR + '/web/viewer.css');
|
cleanupCSSSource(GENERIC_DIR + '/web/viewer.css');
|
||||||
rm(TMP_VIEWER);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
target.components = function() {
|
target.components = function() {
|
||||||
|
exec('gulp bundle-components');
|
||||||
|
|
||||||
cd(ROOT_DIR);
|
cd(ROOT_DIR);
|
||||||
echo();
|
echo();
|
||||||
echo('### Creating generic components');
|
echo('### Creating generic components');
|
||||||
@ -174,18 +169,6 @@ target.components = function() {
|
|||||||
|
|
||||||
var defines = builder.merge(DEFINES, {COMPONENTS: true, GENERIC: true});
|
var defines = builder.merge(DEFINES, {COMPONENTS: true, GENERIC: true});
|
||||||
|
|
||||||
var TMP_PDF_VIEWER = COMPONENTS_DIR + 'pdf_viewer.js.tmp';
|
|
||||||
cd('web/');
|
|
||||||
var bundleFiles = [
|
|
||||||
'pdf_viewer.js',
|
|
||||||
'pdf_history.js',
|
|
||||||
'pdf_find_controller.js',
|
|
||||||
'download_manager.js'
|
|
||||||
];
|
|
||||||
bundle('pdf_viewer.component.js', ROOT_DIR + TMP_PDF_VIEWER, bundleFiles,
|
|
||||||
'pdfjs-dist/web/pdf_viewer', defines, true);
|
|
||||||
cd(ROOT_DIR);
|
|
||||||
|
|
||||||
var COMPONENTS_IMAGES = [
|
var COMPONENTS_IMAGES = [
|
||||||
'web/images/annotation-*.svg',
|
'web/images/annotation-*.svg',
|
||||||
'web/images/loading-icon.gif',
|
'web/images/loading-icon.gif',
|
||||||
@ -196,12 +179,11 @@ target.components = function() {
|
|||||||
var setup = {
|
var setup = {
|
||||||
defines: defines,
|
defines: defines,
|
||||||
copy: [
|
copy: [
|
||||||
|
[BUILD_DIR + 'pdf_viewer.js', COMPONENTS_DIR],
|
||||||
[COMPONENTS_IMAGES, COMPONENTS_DIR + 'images'],
|
[COMPONENTS_IMAGES, COMPONENTS_DIR + 'images'],
|
||||||
['web/compatibility.js', COMPONENTS_DIR],
|
['web/compatibility.js', COMPONENTS_DIR],
|
||||||
],
|
],
|
||||||
preprocess: [
|
preprocess: [],
|
||||||
[TMP_PDF_VIEWER, COMPONENTS_DIR + 'pdf_viewer.js'],
|
|
||||||
],
|
|
||||||
preprocessCSS: [
|
preprocessCSS: [
|
||||||
['components', 'web/pdf_viewer.css', COMPONENTS_DIR + 'pdf_viewer.css'],
|
['components', 'web/pdf_viewer.css', COMPONENTS_DIR + 'pdf_viewer.css'],
|
||||||
]
|
]
|
||||||
@ -210,7 +192,6 @@ target.components = function() {
|
|||||||
|
|
||||||
cleanupJSSource(COMPONENTS_DIR + 'pdf_viewer.js');
|
cleanupJSSource(COMPONENTS_DIR + 'pdf_viewer.js');
|
||||||
cleanupCSSSource(COMPONENTS_DIR + 'pdf_viewer.css');
|
cleanupCSSSource(COMPONENTS_DIR + 'pdf_viewer.css');
|
||||||
rm(TMP_PDF_VIEWER);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
target.jsdoc = function() {
|
target.jsdoc = function() {
|
||||||
@ -287,6 +268,7 @@ target.web = function() {
|
|||||||
GH_PAGES_DIR + '/getting_started/index.html');
|
GH_PAGES_DIR + '/getting_started/index.html');
|
||||||
echo('Done building with wintersmith.');
|
echo('Done building with wintersmith.');
|
||||||
|
|
||||||
|
var VERSION = getCurrentVersion();
|
||||||
var reason = process.env['PDFJS_UPDATE_REASON'];
|
var reason = process.env['PDFJS_UPDATE_REASON'];
|
||||||
cd(GH_PAGES_DIR);
|
cd(GH_PAGES_DIR);
|
||||||
exec('git init');
|
exec('git init');
|
||||||
@ -308,6 +290,7 @@ target.dist = function() {
|
|||||||
|
|
||||||
var DIST_DIR = BUILD_DIR + 'dist/';
|
var DIST_DIR = BUILD_DIR + 'dist/';
|
||||||
var DIST_REPO_URL = 'https://github.com/mozilla/pdfjs-dist';
|
var DIST_REPO_URL = 'https://github.com/mozilla/pdfjs-dist';
|
||||||
|
var VERSION = getCurrentVersion();
|
||||||
|
|
||||||
cd(ROOT_DIR);
|
cd(ROOT_DIR);
|
||||||
|
|
||||||
@ -403,6 +386,7 @@ target.dist = function() {
|
|||||||
|
|
||||||
target.publish = function() {
|
target.publish = function() {
|
||||||
target.generic();
|
target.generic();
|
||||||
|
var VERSION = getCurrentVersion();
|
||||||
config.stableVersion = config.betaVersion;
|
config.stableVersion = config.betaVersion;
|
||||||
config.betaVersion = VERSION;
|
config.betaVersion = VERSION;
|
||||||
fs.writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2));
|
fs.writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2));
|
||||||
@ -501,101 +485,12 @@ target.cmaps = function () {
|
|||||||
compressCmaps(CMAP_INPUT, VIEWER_CMAP_OUTPUT, true);
|
compressCmaps(CMAP_INPUT, VIEWER_CMAP_OUTPUT, true);
|
||||||
};
|
};
|
||||||
|
|
||||||
function bundle(filename, outfilename, initFiles, amdName, defines,
|
|
||||||
isMainFile) {
|
|
||||||
// Reading UMD headers and building loading orders of modules. The
|
|
||||||
// readDependencies returns AMD module names: removing 'pdfjs' prefix and
|
|
||||||
// adding '.js' extensions to the name.
|
|
||||||
var umd = require('./external/umdutils/verifier.js');
|
|
||||||
var files = umd.readDependencies(initFiles).loadOrder.map(
|
|
||||||
function (name) { return name.replace(/^[\w\-]+\//, '') + '.js'; });
|
|
||||||
|
|
||||||
crlfchecker.checkIfCrlfIsPresent(files);
|
|
||||||
|
|
||||||
var bundleContent = cat(files),
|
|
||||||
bundleVersion = VERSION,
|
|
||||||
bundleBuild = BUILD_COMMIT;
|
|
||||||
|
|
||||||
// Prepend a newline because stripCommentHeaders only strips comments that
|
|
||||||
// follow a line feed. The file where bundleContent is inserted already
|
|
||||||
// contains a license header, so the header of bundleContent can be removed.
|
|
||||||
bundleContent = stripCommentHeaders('\n' + bundleContent);
|
|
||||||
|
|
||||||
// Removes AMD and CommonJS branches from UMD headers.
|
|
||||||
bundleContent = stripUMDHeaders(bundleContent);
|
|
||||||
|
|
||||||
var jsName = amdName.replace(/[\-_\.\/]\w/g, function (all) {
|
|
||||||
return all[1].toUpperCase();
|
|
||||||
});
|
|
||||||
|
|
||||||
// This just preprocesses the empty pdf.js file, we don't actually want to
|
|
||||||
// preprocess everything yet since other build targets use this file.
|
|
||||||
builder.preprocess(filename, outfilename,
|
|
||||||
builder.merge(defines, {
|
|
||||||
BUNDLE: bundleContent,
|
|
||||||
BUNDLE_VERSION: bundleVersion,
|
|
||||||
BUNDLE_BUILD: bundleBuild,
|
|
||||||
BUNDLE_AMD_NAME: amdName,
|
|
||||||
BUNDLE_JS_NAME: jsName,
|
|
||||||
MAIN_FILE: isMainFile
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// make bundle
|
// make bundle
|
||||||
// Bundles all source files into one wrapper 'pdf.js' file, in the given order.
|
// Bundles all source files into one wrapper 'pdf.js' file, in the given order.
|
||||||
//
|
//
|
||||||
target.bundle = function(args) {
|
target.bundle = function(args) {
|
||||||
args = args || {};
|
exec('gulp bundle');
|
||||||
var defines = args.defines || DEFINES;
|
|
||||||
|
|
||||||
target.buildnumber();
|
|
||||||
|
|
||||||
cd(ROOT_DIR);
|
|
||||||
echo();
|
|
||||||
echo('### Bundling files into ' + BUILD_TARGET);
|
|
||||||
|
|
||||||
if (!test('-d', BUILD_DIR)) {
|
|
||||||
mkdir(BUILD_DIR);
|
|
||||||
}
|
|
||||||
|
|
||||||
var mainFiles = [
|
|
||||||
'display/global.js'
|
|
||||||
];
|
|
||||||
|
|
||||||
var workerFiles = [
|
|
||||||
'core/worker.js'
|
|
||||||
];
|
|
||||||
|
|
||||||
var mainAMDName = 'pdfjs-dist/build/pdf';
|
|
||||||
var workerAMDName = 'pdfjs-dist/build/pdf.worker';
|
|
||||||
|
|
||||||
// Extension does not need network.js file.
|
|
||||||
if (!defines.FIREFOX && !defines.MOZCENTRAL) {
|
|
||||||
workerFiles.push('core/network.js');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (defines.SINGLE_FILE) {
|
|
||||||
// In singlefile mode, all of the src files will be bundled into
|
|
||||||
// the main pdf.js output.
|
|
||||||
mainFiles = mainFiles.concat(workerFiles);
|
|
||||||
workerFiles = null; // no need for worker file
|
|
||||||
mainAMDName = 'pdfjs-dist/build/pdf.combined';
|
|
||||||
workerAMDName = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
cd(SRC_DIR);
|
|
||||||
|
|
||||||
bundle('pdf.js', ROOT_DIR + BUILD_TARGET, mainFiles, mainAMDName, defines,
|
|
||||||
true);
|
|
||||||
|
|
||||||
if (workerFiles) {
|
|
||||||
var srcCopy = ROOT_DIR + BUILD_DIR + 'pdf.worker.js.temp';
|
|
||||||
cp('pdf.js', srcCopy);
|
|
||||||
bundle(srcCopy, ROOT_DIR + BUILD_WORKER_TARGET, workerFiles, workerAMDName,
|
|
||||||
defines, false);
|
|
||||||
rm(srcCopy);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -608,36 +503,17 @@ target.singlefile = function() {
|
|||||||
echo();
|
echo();
|
||||||
echo('### Creating singlefile build');
|
echo('### Creating singlefile build');
|
||||||
|
|
||||||
var SINGLE_FILE_TARGET = BUILD_DIR + 'pdf.combined.js';
|
var SINGLE_FILE_BUILD_DIR = SINGLE_FILE_DIR + 'build/';
|
||||||
|
|
||||||
var defines = builder.merge(DEFINES, {SINGLE_FILE: true});
|
exec('gulp bundle-singlefile');
|
||||||
target.bundle({defines: defines});
|
|
||||||
|
|
||||||
cd(ROOT_DIR);
|
cd(ROOT_DIR);
|
||||||
|
|
||||||
rm('-rf', SINGLE_FILE_DIR);
|
rm('-rf', SINGLE_FILE_DIR);
|
||||||
mkdir('-p', SINGLE_FILE_DIR);
|
mkdir('-p', SINGLE_FILE_DIR);
|
||||||
mkdir('-p', SINGLE_FILE_DIR + BUILD_DIR);
|
mkdir('-p', SINGLE_FILE_BUILD_DIR);
|
||||||
|
|
||||||
var setup = {
|
|
||||||
defines: defines,
|
|
||||||
copy: [],
|
|
||||||
preprocess: [
|
|
||||||
[BUILD_TARGETS, SINGLE_FILE_DIR + BUILD_DIR]
|
|
||||||
]
|
|
||||||
};
|
|
||||||
builder.build(setup);
|
|
||||||
|
|
||||||
cd(SINGLE_FILE_DIR);
|
|
||||||
|
|
||||||
echo();
|
|
||||||
echo('### Moving pdf.js to pdf.combined.js');
|
|
||||||
var pdfJs = cat(BUILD_TARGET);
|
|
||||||
pdfJs.to(SINGLE_FILE_TARGET);
|
|
||||||
|
|
||||||
rm(BUILD_TARGET);
|
|
||||||
rm(BUILD_WORKER_TARGET);
|
|
||||||
|
|
||||||
|
cp(BUILD_DIR + 'pdf.combined.js', SINGLE_FILE_BUILD_DIR);
|
||||||
};
|
};
|
||||||
|
|
||||||
function stripCommentHeaders(content) {
|
function stripCommentHeaders(content) {
|
||||||
@ -650,14 +526,6 @@ function stripCommentHeaders(content) {
|
|||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
|
|
||||||
function stripUMDHeaders(content) {
|
|
||||||
var reg = new RegExp(
|
|
||||||
'if \\(typeof define === \'function\' && define.amd\\) \\{[^}]*' +
|
|
||||||
'\\} else if \\(typeof exports !== \'undefined\'\\) \\{[^}]*' +
|
|
||||||
'\\} else ', 'g');
|
|
||||||
return content.replace(reg, '');
|
|
||||||
}
|
|
||||||
|
|
||||||
function cleanupJSSource(file) {
|
function cleanupJSSource(file) {
|
||||||
var content = cat(file);
|
var content = cat(file);
|
||||||
|
|
||||||
@ -682,7 +550,7 @@ function cleanupCSSSource(file) {
|
|||||||
// modern HTML5 browsers.
|
// modern HTML5 browsers.
|
||||||
//
|
//
|
||||||
target.minified = function() {
|
target.minified = function() {
|
||||||
target.bundle({});
|
exec('gulp bundle-minified');
|
||||||
target.locale();
|
target.locale();
|
||||||
|
|
||||||
cd(ROOT_DIR);
|
cd(ROOT_DIR);
|
||||||
@ -697,24 +565,17 @@ target.minified = function() {
|
|||||||
|
|
||||||
var defines = builder.merge(DEFINES, {GENERIC: true, MINIFIED: true});
|
var defines = builder.merge(DEFINES, {GENERIC: true, MINIFIED: true});
|
||||||
|
|
||||||
var TMP_VIEWER = MINIFIED_DIR + '/web/viewer.js.tmp';
|
|
||||||
cd('web/');
|
|
||||||
var viewerBundleFiles = ['app.js'];
|
|
||||||
bundle('viewer.js', ROOT_DIR + TMP_VIEWER, viewerBundleFiles,
|
|
||||||
'pdfjs-dist/web/viewer', defines, true);
|
|
||||||
cd(ROOT_DIR);
|
|
||||||
|
|
||||||
var setup = {
|
var setup = {
|
||||||
defines: defines,
|
defines: defines,
|
||||||
copy: [
|
copy: [
|
||||||
|
[BUILD_TARGETS, MINIFIED_DIR + BUILD_DIR],
|
||||||
|
[BUILD_DIR + 'viewer.js', MINIFIED_DIR + '/web'],
|
||||||
[COMMON_WEB_FILES, MINIFIED_DIR + '/web'],
|
[COMMON_WEB_FILES, MINIFIED_DIR + '/web'],
|
||||||
['web/compressed.tracemonkey-pldi-09.pdf', MINIFIED_DIR + '/web'],
|
['web/compressed.tracemonkey-pldi-09.pdf', MINIFIED_DIR + '/web'],
|
||||||
['external/bcmaps/*', MINIFIED_DIR + '/web/cmaps'],
|
['external/bcmaps/*', MINIFIED_DIR + '/web/cmaps'],
|
||||||
['web/locale', MINIFIED_DIR + '/web']
|
['web/locale', MINIFIED_DIR + '/web']
|
||||||
],
|
],
|
||||||
preprocess: [
|
preprocess: [
|
||||||
[BUILD_TARGETS, MINIFIED_DIR + BUILD_DIR],
|
|
||||||
[TMP_VIEWER, MINIFIED_DIR + '/web/viewer.js'],
|
|
||||||
[COMMON_WEB_FILES_PREPROCESS, MINIFIED_DIR + '/web']
|
[COMMON_WEB_FILES_PREPROCESS, MINIFIED_DIR + '/web']
|
||||||
],
|
],
|
||||||
preprocessCSS: [
|
preprocessCSS: [
|
||||||
@ -725,7 +586,6 @@ target.minified = function() {
|
|||||||
builder.build(setup);
|
builder.build(setup);
|
||||||
|
|
||||||
cleanupCSSSource(MINIFIED_DIR + '/web/viewer.css');
|
cleanupCSSSource(MINIFIED_DIR + '/web/viewer.css');
|
||||||
rm(TMP_VIEWER);
|
|
||||||
|
|
||||||
var viewerFiles = [
|
var viewerFiles = [
|
||||||
'web/compatibility.js',
|
'web/compatibility.js',
|
||||||
@ -780,21 +640,7 @@ target.extension = function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
target.buildnumber = function() {
|
target.buildnumber = function() {
|
||||||
cd(ROOT_DIR);
|
exec('gulp buildnumber');
|
||||||
echo();
|
|
||||||
echo('### Getting extension build number');
|
|
||||||
|
|
||||||
var lines = exec('git log --format=oneline ' +
|
|
||||||
config.baseVersion + '..', {silent: true}).output;
|
|
||||||
// Build number is the number of commits since base version
|
|
||||||
BUILD_NUMBER = lines ? lines.match(/\n/g).length : 0;
|
|
||||||
|
|
||||||
echo('Extension build number: ' + BUILD_NUMBER);
|
|
||||||
|
|
||||||
VERSION = config.versionPrefix + BUILD_NUMBER;
|
|
||||||
|
|
||||||
BUILD_COMMIT = exec('git log --format="%h" -n 1', {silent: true}).
|
|
||||||
output.replace('\n', '');
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -831,7 +677,7 @@ target.firefox = function() {
|
|||||||
FIREFOX_AMO_EXTENSION_NAME = 'pdf.js.amo.xpi';
|
FIREFOX_AMO_EXTENSION_NAME = 'pdf.js.amo.xpi';
|
||||||
|
|
||||||
target.locale();
|
target.locale();
|
||||||
target.bundle({ defines: defines });
|
exec('gulp bundle-firefox');
|
||||||
cd(ROOT_DIR);
|
cd(ROOT_DIR);
|
||||||
|
|
||||||
// Clear out everything in the firefox extension build directory
|
// Clear out everything in the firefox extension build directory
|
||||||
@ -852,17 +698,11 @@ target.firefox = function() {
|
|||||||
cp('-R', FIREFOX_EXTENSION_FILES_TO_COPY, ROOT_DIR + FIREFOX_BUILD_DIR);
|
cp('-R', FIREFOX_EXTENSION_FILES_TO_COPY, ROOT_DIR + FIREFOX_BUILD_DIR);
|
||||||
cd(ROOT_DIR);
|
cd(ROOT_DIR);
|
||||||
|
|
||||||
var TMP_VIEWER = FIREFOX_BUILD_CONTENT_DIR + '/web/viewer.js.tmp';
|
|
||||||
cd('web/');
|
|
||||||
var viewerBundleFiles = ['app.js', 'firefoxcom.js'];
|
|
||||||
bundle('viewer.js', ROOT_DIR + TMP_VIEWER, viewerBundleFiles,
|
|
||||||
'pdfjs-dist/web/viewer', defines, true);
|
|
||||||
cd(ROOT_DIR);
|
|
||||||
|
|
||||||
|
|
||||||
var setup = {
|
var setup = {
|
||||||
defines: defines,
|
defines: defines,
|
||||||
copy: [
|
copy: [
|
||||||
|
[BUILD_TARGETS, FIREFOX_BUILD_CONTENT_DIR + BUILD_DIR],
|
||||||
|
[BUILD_DIR + 'viewer.js', FIREFOX_BUILD_CONTENT_DIR + '/web'],
|
||||||
[COMMON_WEB_FILES, FIREFOX_BUILD_CONTENT_DIR + '/web'],
|
[COMMON_WEB_FILES, FIREFOX_BUILD_CONTENT_DIR + '/web'],
|
||||||
['web/compatibility.js', FIREFOX_BUILD_CONTENT_DIR + '/web'],
|
['web/compatibility.js', FIREFOX_BUILD_CONTENT_DIR + '/web'],
|
||||||
['external/bcmaps/*', FIREFOX_BUILD_CONTENT_DIR + '/web/cmaps'],
|
['external/bcmaps/*', FIREFOX_BUILD_CONTENT_DIR + '/web/cmaps'],
|
||||||
@ -870,9 +710,7 @@ target.firefox = function() {
|
|||||||
FIREFOX_BUILD_CONTENT_DIR + '/web']
|
FIREFOX_BUILD_CONTENT_DIR + '/web']
|
||||||
],
|
],
|
||||||
preprocess: [
|
preprocess: [
|
||||||
[TMP_VIEWER, FIREFOX_BUILD_CONTENT_DIR + '/web/viewer.js'],
|
|
||||||
[COMMON_WEB_FILES_PREPROCESS, FIREFOX_BUILD_CONTENT_DIR + '/web'],
|
[COMMON_WEB_FILES_PREPROCESS, FIREFOX_BUILD_CONTENT_DIR + '/web'],
|
||||||
[BUILD_TARGETS, FIREFOX_BUILD_CONTENT_DIR + BUILD_DIR],
|
|
||||||
[COMMON_FIREFOX_FILES_PREPROCESS, FIREFOX_BUILD_CONTENT_DIR],
|
[COMMON_FIREFOX_FILES_PREPROCESS, FIREFOX_BUILD_CONTENT_DIR],
|
||||||
[SRC_DIR + 'core/network.js', FIREFOX_BUILD_CONTENT_DIR],
|
[SRC_DIR + 'core/network.js', FIREFOX_BUILD_CONTENT_DIR],
|
||||||
[FIREFOX_EXTENSION_DIR + 'bootstrap.js', FIREFOX_BUILD_DIR]
|
[FIREFOX_EXTENSION_DIR + 'bootstrap.js', FIREFOX_BUILD_DIR]
|
||||||
@ -888,7 +726,6 @@ target.firefox = function() {
|
|||||||
cleanupJSSource(FIREFOX_BUILD_DIR + 'bootstrap.js');
|
cleanupJSSource(FIREFOX_BUILD_DIR + 'bootstrap.js');
|
||||||
cleanupJSSource(FIREFOX_BUILD_CONTENT_DIR + 'PdfjsChromeUtils.jsm');
|
cleanupJSSource(FIREFOX_BUILD_CONTENT_DIR + 'PdfjsChromeUtils.jsm');
|
||||||
cleanupCSSSource(FIREFOX_BUILD_CONTENT_DIR + '/web/viewer.css');
|
cleanupCSSSource(FIREFOX_BUILD_CONTENT_DIR + '/web/viewer.css');
|
||||||
rm(TMP_VIEWER);
|
|
||||||
|
|
||||||
// Remove '.DS_Store' and other hidden files
|
// Remove '.DS_Store' and other hidden files
|
||||||
find(FIREFOX_BUILD_DIR).forEach(function(file) {
|
find(FIREFOX_BUILD_DIR).forEach(function(file) {
|
||||||
@ -898,6 +735,7 @@ target.firefox = function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Update the build version number
|
// Update the build version number
|
||||||
|
var VERSION = getCurrentVersion();
|
||||||
sed('-i', /PDFJSSCRIPT_VERSION/, VERSION,
|
sed('-i', /PDFJSSCRIPT_VERSION/, VERSION,
|
||||||
FIREFOX_BUILD_DIR + '/install.rdf');
|
FIREFOX_BUILD_DIR + '/install.rdf');
|
||||||
sed('-i', /PDFJSSCRIPT_VERSION/, VERSION,
|
sed('-i', /PDFJSSCRIPT_VERSION/, VERSION,
|
||||||
@ -968,7 +806,7 @@ target.mozcentral = function() {
|
|||||||
['icon.png',
|
['icon.png',
|
||||||
'icon64.png'];
|
'icon64.png'];
|
||||||
|
|
||||||
target.bundle({ defines: defines });
|
exec('gulp bundle-mozcentral');
|
||||||
cd(ROOT_DIR);
|
cd(ROOT_DIR);
|
||||||
|
|
||||||
// Clear out everything in the firefox extension build directory
|
// Clear out everything in the firefox extension build directory
|
||||||
@ -989,25 +827,18 @@ target.mozcentral = function() {
|
|||||||
ROOT_DIR + MOZCENTRAL_EXTENSION_DIR + '/chrome.manifest');
|
ROOT_DIR + MOZCENTRAL_EXTENSION_DIR + '/chrome.manifest');
|
||||||
cd(ROOT_DIR);
|
cd(ROOT_DIR);
|
||||||
|
|
||||||
var TMP_VIEWER = MOZCENTRAL_CONTENT_DIR + '/web/viewer.js.tmp';
|
|
||||||
cd('web/');
|
|
||||||
var viewerBundleFiles = ['app.js', 'firefoxcom.js'];
|
|
||||||
bundle('viewer.js', ROOT_DIR + TMP_VIEWER, viewerBundleFiles,
|
|
||||||
'pdfjs-dist/web/viewer', defines, true);
|
|
||||||
cd(ROOT_DIR);
|
|
||||||
|
|
||||||
var setup = {
|
var setup = {
|
||||||
defines: defines,
|
defines: defines,
|
||||||
copy: [
|
copy: [
|
||||||
|
[BUILD_TARGETS, MOZCENTRAL_CONTENT_DIR + BUILD_DIR],
|
||||||
|
[BUILD_DIR + 'viewer.js', MOZCENTRAL_CONTENT_DIR + '/web'],
|
||||||
[COMMON_WEB_FILES, MOZCENTRAL_CONTENT_DIR + '/web'],
|
[COMMON_WEB_FILES, MOZCENTRAL_CONTENT_DIR + '/web'],
|
||||||
['external/bcmaps/*', MOZCENTRAL_CONTENT_DIR + '/web/cmaps'],
|
['external/bcmaps/*', MOZCENTRAL_CONTENT_DIR + '/web/cmaps'],
|
||||||
['extensions/firefox/tools/l10n.js', MOZCENTRAL_CONTENT_DIR + '/web']
|
['extensions/firefox/tools/l10n.js', MOZCENTRAL_CONTENT_DIR + '/web']
|
||||||
],
|
],
|
||||||
preprocess: [
|
preprocess: [
|
||||||
[TMP_VIEWER, MOZCENTRAL_CONTENT_DIR + '/web/viewer.js'],
|
|
||||||
[COMMON_WEB_FILES_PREPROCESS, MOZCENTRAL_CONTENT_DIR + '/web'],
|
[COMMON_WEB_FILES_PREPROCESS, MOZCENTRAL_CONTENT_DIR + '/web'],
|
||||||
[FIREFOX_CONTENT_DIR + 'pdfjschildbootstrap.js', MOZCENTRAL_CONTENT_DIR],
|
[FIREFOX_CONTENT_DIR + 'pdfjschildbootstrap.js', MOZCENTRAL_CONTENT_DIR],
|
||||||
[BUILD_TARGETS, MOZCENTRAL_CONTENT_DIR + BUILD_DIR],
|
|
||||||
[SRC_DIR + 'core/network.js', MOZCENTRAL_CONTENT_DIR],
|
[SRC_DIR + 'core/network.js', MOZCENTRAL_CONTENT_DIR],
|
||||||
[COMMON_FIREFOX_FILES_PREPROCESS, MOZCENTRAL_CONTENT_DIR],
|
[COMMON_FIREFOX_FILES_PREPROCESS, MOZCENTRAL_CONTENT_DIR],
|
||||||
[FIREFOX_CONTENT_DIR + 'PdfJs.jsm', MOZCENTRAL_CONTENT_DIR]
|
[FIREFOX_CONTENT_DIR + 'PdfJs.jsm', MOZCENTRAL_CONTENT_DIR]
|
||||||
@ -1024,7 +855,6 @@ target.mozcentral = function() {
|
|||||||
cleanupJSSource(MOZCENTRAL_CONTENT_DIR + '/PdfJs.jsm');
|
cleanupJSSource(MOZCENTRAL_CONTENT_DIR + '/PdfJs.jsm');
|
||||||
cleanupJSSource(MOZCENTRAL_CONTENT_DIR + '/PdfjsChromeUtils.jsm');
|
cleanupJSSource(MOZCENTRAL_CONTENT_DIR + '/PdfjsChromeUtils.jsm');
|
||||||
cleanupCSSSource(MOZCENTRAL_CONTENT_DIR + '/web/viewer.css');
|
cleanupCSSSource(MOZCENTRAL_CONTENT_DIR + '/web/viewer.css');
|
||||||
rm(TMP_VIEWER);
|
|
||||||
|
|
||||||
// Remove '.DS_Store' and other hidden files
|
// Remove '.DS_Store' and other hidden files
|
||||||
find(MOZCENTRAL_DIR).forEach(function(file) {
|
find(MOZCENTRAL_DIR).forEach(function(file) {
|
||||||
@ -1046,6 +876,7 @@ target.mozcentral = function() {
|
|||||||
cp(DEFAULT_LOCALE_FILES, MOZCENTRAL_L10N_DIR);
|
cp(DEFAULT_LOCALE_FILES, MOZCENTRAL_L10N_DIR);
|
||||||
|
|
||||||
// Update the build version number
|
// Update the build version number
|
||||||
|
var VERSION = getCurrentVersion();
|
||||||
sed('-i', /PDFJSSCRIPT_VERSION/, VERSION,
|
sed('-i', /PDFJSSCRIPT_VERSION/, VERSION,
|
||||||
MOZCENTRAL_EXTENSION_DIR + 'README.mozilla');
|
MOZCENTRAL_EXTENSION_DIR + 'README.mozilla');
|
||||||
|
|
||||||
@ -1068,7 +899,6 @@ target.b2g = function() {
|
|||||||
echo();
|
echo();
|
||||||
echo('### Building B2G (Firefox OS App)');
|
echo('### Building B2G (Firefox OS App)');
|
||||||
var B2G_BUILD_CONTENT_DIR = B2G_BUILD_DIR + '/content/';
|
var B2G_BUILD_CONTENT_DIR = B2G_BUILD_DIR + '/content/';
|
||||||
target.bundle();
|
|
||||||
|
|
||||||
// Clear out everything in the b2g build directory
|
// Clear out everything in the b2g build directory
|
||||||
cd(ROOT_DIR);
|
cd(ROOT_DIR);
|
||||||
@ -1121,7 +951,7 @@ target.chromium = function() {
|
|||||||
var CHROME_BUILD_DIR = BUILD_DIR + '/chromium/',
|
var CHROME_BUILD_DIR = BUILD_DIR + '/chromium/',
|
||||||
CHROME_BUILD_CONTENT_DIR = CHROME_BUILD_DIR + '/content/';
|
CHROME_BUILD_CONTENT_DIR = CHROME_BUILD_DIR + '/content/';
|
||||||
|
|
||||||
target.bundle({ defines: defines });
|
exec('gulp bundle-chromium');
|
||||||
cd(ROOT_DIR);
|
cd(ROOT_DIR);
|
||||||
|
|
||||||
// Clear out everything in the chrome extension build directory
|
// Clear out everything in the chrome extension build directory
|
||||||
@ -1130,17 +960,11 @@ target.chromium = function() {
|
|||||||
mkdir('-p', CHROME_BUILD_CONTENT_DIR + BUILD_DIR);
|
mkdir('-p', CHROME_BUILD_CONTENT_DIR + BUILD_DIR);
|
||||||
mkdir('-p', CHROME_BUILD_CONTENT_DIR + '/web');
|
mkdir('-p', CHROME_BUILD_CONTENT_DIR + '/web');
|
||||||
|
|
||||||
var TMP_VIEWER = CHROME_BUILD_CONTENT_DIR + '/web/viewer.js.tmp';
|
|
||||||
cd('web/');
|
|
||||||
var viewerBundleFiles = ['app.js', 'chromecom.js',
|
|
||||||
'mozPrintCallback_polyfill.js'];
|
|
||||||
bundle('viewer.js', ROOT_DIR + TMP_VIEWER, viewerBundleFiles,
|
|
||||||
'pdfjs-dist/web/viewer', defines, true);
|
|
||||||
cd(ROOT_DIR);
|
|
||||||
|
|
||||||
var setup = {
|
var setup = {
|
||||||
defines: defines,
|
defines: defines,
|
||||||
copy: [
|
copy: [
|
||||||
|
[BUILD_TARGETS, CHROME_BUILD_CONTENT_DIR + BUILD_DIR],
|
||||||
|
[BUILD_DIR + 'viewer.js', CHROME_BUILD_CONTENT_DIR + '/web'],
|
||||||
[COMMON_WEB_FILES, CHROME_BUILD_CONTENT_DIR + '/web'],
|
[COMMON_WEB_FILES, CHROME_BUILD_CONTENT_DIR + '/web'],
|
||||||
[['extensions/chromium/*.json',
|
[['extensions/chromium/*.json',
|
||||||
'extensions/chromium/*.html',
|
'extensions/chromium/*.html',
|
||||||
@ -1155,8 +979,6 @@ target.chromium = function() {
|
|||||||
['web/locale', CHROME_BUILD_CONTENT_DIR + '/web']
|
['web/locale', CHROME_BUILD_CONTENT_DIR + '/web']
|
||||||
],
|
],
|
||||||
preprocess: [
|
preprocess: [
|
||||||
[BUILD_TARGETS, CHROME_BUILD_CONTENT_DIR + BUILD_DIR],
|
|
||||||
[TMP_VIEWER, CHROME_BUILD_CONTENT_DIR + '/web/viewer.js'],
|
|
||||||
[COMMON_WEB_FILES_PREPROCESS, CHROME_BUILD_CONTENT_DIR + '/web']
|
[COMMON_WEB_FILES_PREPROCESS, CHROME_BUILD_CONTENT_DIR + '/web']
|
||||||
],
|
],
|
||||||
preprocessCSS: [
|
preprocessCSS: [
|
||||||
@ -1168,9 +990,9 @@ target.chromium = function() {
|
|||||||
|
|
||||||
cleanupJSSource(CHROME_BUILD_CONTENT_DIR + '/web/viewer.js');
|
cleanupJSSource(CHROME_BUILD_CONTENT_DIR + '/web/viewer.js');
|
||||||
cleanupCSSSource(CHROME_BUILD_CONTENT_DIR + '/web/viewer.css');
|
cleanupCSSSource(CHROME_BUILD_CONTENT_DIR + '/web/viewer.css');
|
||||||
rm(TMP_VIEWER);
|
|
||||||
|
|
||||||
// Update the build version number
|
// Update the build version number
|
||||||
|
var VERSION = getCurrentVersion();
|
||||||
sed('-i', /PDFJSSCRIPT_VERSION/, VERSION,
|
sed('-i', /PDFJSSCRIPT_VERSION/, VERSION,
|
||||||
CHROME_BUILD_DIR + '/manifest.json');
|
CHROME_BUILD_DIR + '/manifest.json');
|
||||||
|
|
||||||
@ -1597,3 +1419,6 @@ target.makefile = function () {
|
|||||||
target.importl10n = function() {
|
target.importl10n = function() {
|
||||||
exit(exec('gulp importl10n'));
|
exit(exec('gulp importl10n'));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
exports.stripCommentHeaders = stripCommentHeaders;
|
||||||
|
exports.builder = builder;
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
"requirejs": "^2.1.22",
|
"requirejs": "^2.1.22",
|
||||||
"rimraf": "^2.4.1",
|
"rimraf": "^2.4.1",
|
||||||
"shelljs": "~0.4.0",
|
"shelljs": "~0.4.0",
|
||||||
|
"streamqueue": "^1.1.1",
|
||||||
"typogr": "~0.6.5",
|
"typogr": "~0.6.5",
|
||||||
"uglify-js": "^2.6.1",
|
"uglify-js": "^2.6.1",
|
||||||
"wintersmith": "^2.0.0",
|
"wintersmith": "^2.0.0",
|
||||||
|
@ -2146,7 +2146,7 @@ window.addEventListener('afterprint', function afterPrint(evt) {
|
|||||||
exports.PDFViewerApplication = PDFViewerApplication;
|
exports.PDFViewerApplication = PDFViewerApplication;
|
||||||
exports.DefaultExernalServices = DefaultExernalServices;
|
exports.DefaultExernalServices = DefaultExernalServices;
|
||||||
|
|
||||||
// TODO remove circular reference of pdfjs-web/secondary_toolbar on app.
|
//// TODO remove circular reference of pdfjs-web/secondary_toolbar on app.
|
||||||
secondaryToolbarLib._setApp(exports);
|
secondaryToolbarLib._setApp(exports);
|
||||||
|
|
||||||
}));
|
}));
|
||||||
|
Loading…
Reference in New Issue
Block a user