Skip to content

Commit

Permalink
Merge pull request mozilla#7063 from timvandermeij/gulp
Browse files Browse the repository at this point in the history
Migrate `clean` and `importl10n` target to gulp
  • Loading branch information
yurydelendik committed Mar 7, 2016
2 parents ec1cf28 + 96cca2b commit b540d7d
Show file tree
Hide file tree
Showing 12 changed files with 44 additions and 36 deletions.
2 changes: 1 addition & 1 deletion docs/contents/getting_started/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ $ cd pdf.js

## Trying the Viewer

With the prebuilt or source version open `web/viewer.html` in a browser and the test pdf should load. Note: the worker is not enabled for file:// urls, so use a server. If you're using the source build and have node, you can run `node make server`.
With the prebuilt or source version open `web/viewer.html` in a browser and the test pdf should load. Note: the worker is not enabled for file:// urls, so use a server. If you're using the source build and have node, you can run `gulp server`.

## More Information

Expand Down
2 changes: 1 addition & 1 deletion examples/components/pageviewer.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

if (!PDFJS.PDFViewer || !PDFJS.getDocument) {
alert('Please build the library and components using\n' +
' `node make generic components`');
' `gulp generic components`');
}

// The workerSrc property shall be specified.
Expand Down
2 changes: 1 addition & 1 deletion examples/components/simpleviewer.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

if (!PDFJS.PDFViewer || !PDFJS.getDocument) {
alert('Please build the library and components using\n' +
' `node make generic components`');
' `gulp generic components`');
}

// The workerSrc property shall be specified.
Expand Down
2 changes: 1 addition & 1 deletion examples/helloworld/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ simple and human-readable PDF.

Instead of simply opening `index.html` in a browser, you must serve the page
using a web server. This can be done on your local machine without an internet
connection. In the root directory of PDF.js, run `node make server` in a
connection. In the root directory of PDF.js, run `gulp server` in a
terminal. The example can then be viewed using the following URL:

`http://localhost:8888/examples/helloworld/index.html`
Expand Down
4 changes: 2 additions & 2 deletions examples/node/getinfo.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
//
// Basic node example that prints document metadata and text content.
// Requires single file built version of PDF.js -- please run
// `node make singlefile` before running the example.
// `gulp singlefile` before running the example.
//

var fs = require('fs');

// HACK adding DOMParser to read XMP metadata.
global.DOMParser = require('./domparsermock.js').DOMParserMock;

// Run `node make dist` to generate 'pdfjs-dist' npm package files.
// Run `gulp dist` to generate 'pdfjs-dist' npm package files.
require('../../build/dist');

// Loading file from file system into typed array
Expand Down
2 changes: 1 addition & 1 deletion examples/node/pdf2svg.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ var fs = require('fs');
// HACK few hacks to let PDF.js be loaded not as a module in global space.
require('./domstubs.js');

// Run `node make dist` to generate 'pdfjs-dist' npm package files.
// Run `gulp dist` to generate 'pdfjs-dist' npm package files.
require('../../build/dist');

// Loading file from file system into typed array
Expand Down
2 changes: 1 addition & 1 deletion examples/text-only/pdf2svg.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ function pageLoaded() {
document.addEventListener('DOMContentLoaded', function () {
if (typeof PDFJS === 'undefined') {
alert('Built version of PDF.js was not found.\n' +
'Please run `node make generic`.');
'Please run `gulp generic`.');
return;
}
pageLoaded();
Expand Down
2 changes: 1 addition & 1 deletion examples/webpack/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Example to demonstrate PDF.js library usage with webpack.

Build project and install the example dependencies:

$ node make dist
$ gulp dist
$ cd examples/webpack
$ npm install

Expand Down
10 changes: 5 additions & 5 deletions external/importL10n/locales.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ function normalizeText(s) {
return s.replace(/\r\n?/g, '\n').replace(/\uFEFF/g, '');
}

function downloadLanguageFiles(langCode, callback) {
function downloadLanguageFiles(root, langCode, callback) {
console.log('Downloading ' + langCode + '...');

// Constants for constructing the URLs. Translations are taken from the
Expand All @@ -56,12 +56,12 @@ function downloadLanguageFiles(langCode, callback) {
var downloadsLeft = files.length;

if (!fs.existsSync(langCode)) {
fs.mkdirSync(langCode);
fs.mkdirSync(path.join(root, langCode));
}

// Download the necessary files for this language.
files.forEach(function(fileName) {
var outputPath = path.join(langCode, fileName);
var outputPath = path.join(root, langCode, fileName);
var url = MOZCENTRAL_ROOT + langCode + MOZCENTRAL_PDFJS_DIR +
fileName + MOZCENTRAL_RAW_FLAG;
var request = http.get(url, function(response) {
Expand All @@ -81,13 +81,13 @@ function downloadLanguageFiles(langCode, callback) {
});
}

function downloadL10n() {
function downloadL10n(root) {
var i = 0;
(function next() {
if (i >= langCodes.length) {
return;
}
downloadLanguageFiles(langCodes[i++], next);
downloadLanguageFiles(root, langCodes[i++], next);
})();
}

Expand Down
24 changes: 24 additions & 0 deletions gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,15 @@

'use strict';

var fs = require('fs');
var gulp = require('gulp');
var gutil = require('gulp-util');
var rimraf = require('rimraf');
var stream = require('stream');

var BUILD_DIR = 'build/';
var L10N_DIR = 'l10n/';

require('./make.js');

function createStringSource(filename, content) {
Expand Down Expand Up @@ -56,6 +61,13 @@ gulp.task('server', function () {
server.start();
});

gulp.task('clean', function(callback) {
console.log();
console.log('### Cleaning up project builds');

rimraf(BUILD_DIR, callback);
});

gulp.task('makefile', function () {
var makefileContent = 'help:\n\tgulp\n\n';
var targetsNames = [];
Expand All @@ -68,6 +80,18 @@ gulp.task('makefile', function () {
.pipe(gulp.dest('.'));
});

gulp.task('importl10n', function() {
var locales = require('./external/importL10n/locales.js');

console.log();
console.log('### Importing translations from mozilla-aurora');

if (!fs.existsSync(L10N_DIR)) {
fs.mkdirSync(L10N_DIR);
}
locales.downloadL10n(L10N_DIR);
});

// Getting all shelljs registered tasks and register them with gulp
var gulpContext = false;
for (var taskName in global.target) {
Expand Down
26 changes: 5 additions & 21 deletions make.js
Original file line number Diff line number Diff line change
Expand Up @@ -1357,7 +1357,7 @@ target.mozcentralbaseline = function() {
if (test('-d', 'build')) {
rm('-rf', 'build');
}
exec('node make mozcentral');
exec('gulp mozcentral');

cd(ROOT_DIR);
mkdir(MOZCENTRAL_BASELINE_DIR);
Expand Down Expand Up @@ -1391,7 +1391,7 @@ target.mozcentraldiff = function() {
var MOZCENTRAL_BASELINE_DIR = BUILD_DIR + 'mozcentral.baseline';
if (!test('-d', MOZCENTRAL_BASELINE_DIR)) {
echo('mozcentral baseline was not found');
echo('Please build one using "node make mozcentralbaseline"');
echo('Please build one using "gulp mozcentralbaseline"');
exit(1);
}
cd(MOZCENTRAL_BASELINE_DIR);
Expand Down Expand Up @@ -1432,7 +1432,7 @@ target.mozcentralcheck = function() {
var MOZCENTRAL_BASELINE_DIR = BUILD_DIR + 'mozcentral.baseline';
if (!test('-d', MOZCENTRAL_BASELINE_DIR)) {
echo('mozcentral baseline was not found');
echo('Please build one using "node make mozcentralbaseline"');
echo('Please build one using "gulp mozcentralbaseline"');
exit(1);
}
cd(MOZCENTRAL_BASELINE_DIR);
Expand Down Expand Up @@ -1512,11 +1512,7 @@ target.lint = function() {
// make clean
//
target.clean = function() {
cd(ROOT_DIR);
echo();
echo('### Cleaning up project builds');

rm('-rf', BUILD_DIR);
exit(exec('gulp clean'));
};

//
Expand All @@ -1530,17 +1526,5 @@ target.makefile = function () {
//make importl10n
//
target.importl10n = function() {
var locales = require('./external/importL10n/locales.js');
var LOCAL_L10N_DIR = 'l10n';

cd(ROOT_DIR);
echo();
echo('### Importing translations from mozilla-aurora');

if (!test('-d', LOCAL_L10N_DIR)) {
mkdir(LOCAL_L10N_DIR);
}
cd(LOCAL_L10N_DIR);

locales.downloadL10n();
exit(exec('gulp importl10n'));
};
2 changes: 1 addition & 1 deletion web/view_history.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ var DEFAULT_VIEW_HISTORY_CACHE_SIZE = 20;
* recently opened files.
*
* The way that the view parameters are stored depends on how PDF.js is built,
* for 'node make <flag>' the following cases exist:
* for 'gulp <flag>' the following cases exist:
* - FIREFOX or MOZCENTRAL - uses sessionStorage.
* - GENERIC or CHROME - uses localStorage, if it is available.
*/
Expand Down

0 comments on commit b540d7d

Please sign in to comment.