From 39e8ad24f7177bc59ca3a31235e7de47872ad387 Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Wed, 1 Mar 2017 11:11:39 -0600 Subject: [PATCH] Creates 'lib' for the 'dist' build target. --- gulpfile.js | 41 +++++++++++++++++++++++++++++++++++++++-- make.js | 3 +++ package.json | 1 + test/unit/clitests.json | 2 +- 4 files changed, 44 insertions(+), 3 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 638e4dc76..7a5541904 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -22,6 +22,7 @@ var gulp = require('gulp'); var gutil = require('gulp-util'); var rename = require('gulp-rename'); var replace = require('gulp-replace'); +var transform = require('gulp-transform'); var mkdirp = require('mkdirp'); var path = require('path'); var rimraf = require('rimraf'); @@ -924,9 +925,45 @@ gulp.task('jsdoc', function (done) { }); }); +gulp.task('lib', ['buildnumber'], function () { + function preprocess(content) { + content = preprocessor2.preprocessPDFJSCode(ctx, content); + var removeCjsSrc = + /^(var\s+\w+\s*=\s*require\('.*?)(?:\/src)(\/[^']*'\);)$/gm; + content = content.replace(removeCjsSrc, function (all, prefix, suffix) { + return prefix + suffix; + }); + return licenseHeader + content; + } + var versionInfo = getVersionJSON(); + var ctx = { + rootPath: __dirname, + saveComments: false, + defines: builder.merge(DEFINES, { + GENERIC: true, + BUNDLE_VERSION: versionInfo.version, + BUNDLE_BUILD: versionInfo.commit + }) + }; + var licenseHeader = fs.readFileSync('./src/license_header.js').toString(); + var preprocessor2 = require('./external/builder/preprocessor2.js'); + + return merge([ + gulp.src([ + 'src/{core,display}/*.js', + 'src/shared/{compatibility,util}.js', + 'src/{pdf,pdf.worker}.js', + ], {base: 'src/'}), + gulp.src(['web/*.js', '!web/viewer.js'], {base: '.'}), + gulp.src('test/unit/*.js', {base: '.'}), + ]).pipe(transform(preprocess)) + .pipe(gulp.dest('build/lib/')); +}); + gulp.task('web-pre', ['generic', 'extension', 'jsdoc']); -gulp.task('dist-pre', ['generic', 'singlefile', 'components', 'minified']); +gulp.task('dist-pre', + ['generic', 'singlefile', 'components', 'lib', 'minified']); gulp.task('publish', ['generic'], function (done) { var version = JSON.parse( @@ -1020,7 +1057,7 @@ gulp.task('baseline', function (done) { }); }); -gulp.task('unittestcli', function (done) { +gulp.task('unittestcli', ['lib'], function (done) { var args = ['JASMINE_CONFIG_PATH=test/unit/clitests.json']; var testProcess = spawn('node_modules/.bin/jasmine', args, {stdio: 'inherit'}); diff --git a/make.js b/make.js index 97ba03a8a..c29ef91f2 100644 --- a/make.js +++ b/make.js @@ -42,6 +42,7 @@ var ROOT_DIR = __dirname + '/', // absolute path to project's root DIST_DIR = BUILD_DIR + 'dist/', SINGLE_FILE_DIR = BUILD_DIR + 'singlefile/', COMPONENTS_DIR = BUILD_DIR + 'components/', + LIB_DIR = BUILD_DIR + 'lib/', REPO = 'git@github.com:mozilla/pdf.js.git'; function getCurrentVersion() { @@ -186,6 +187,8 @@ target.dist = function() { COMPONENTS_DIR + '*', ], DIST_DIR + 'web/'); + cp('-R', LIB_DIR, DIST_DIR + 'lib/'); + echo(); echo('### Rebuilding manifests'); diff --git a/package.json b/package.json index bc6a6f932..262e4788e 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "gulp": "^3.9.1", "gulp-rename": "^1.2.2", "gulp-replace": "^0.5.4", + "gulp-transform": "^1.1.0", "gulp-util": "^3.0.7", "gulp-zip": "^3.2.0", "jasmine": "^2.5.2", diff --git a/test/unit/clitests.json b/test/unit/clitests.json index 1881a43f7..a994fb777 100644 --- a/test/unit/clitests.json +++ b/test/unit/clitests.json @@ -1,5 +1,5 @@ { - "spec_dir": "test/unit", + "spec_dir": "build/lib/test/unit", "spec_files": [ "annotation_spec.js", "bidi_spec.js",