Clean-up gulpfile.js by removing most "-pre" tasks (issue 10362)

Most of the `gulp` tasks with a "-pre" suffix, especially those related to the main build-targets, are no longer needed and can simply be inlined in their corresponding tasks. This is likely a left-over from older Gulp-versions, but currently it only adds unnecessary indirection.

Furthermore, a number of the `gulp` tasks which are only used *internally* are converted to standard functions instead. This prevents them from being exposed "globally" and e.g. listed by `gulp default`.
This commit is contained in:
Jonas Jenwald 2021-06-04 12:30:09 +02:00
parent 92434b1eb4
commit 6c249f8e21

View File

@ -597,14 +597,16 @@ function makeRef(done, bot) {
gulp.task("default", function (done) { gulp.task("default", function (done) {
console.log("Available tasks:"); console.log("Available tasks:");
const tasks = Object.keys(gulp.registry().tasks()); const tasks = Object.keys(gulp.registry().tasks());
tasks.sort(); for (const taskName of tasks.sort()) {
tasks.forEach(function (taskName) { if (taskName.endsWith("-pre")) {
continue;
}
console.log(" " + taskName); console.log(" " + taskName);
}); }
done(); done();
}); });
gulp.task("buildnumber", function (done) { function createBuildNumber(done) {
console.log(); console.log();
console.log("### Getting extension build number"); console.log("### Getting extension build number");
@ -648,7 +650,7 @@ gulp.task("buildnumber", function (done) {
}); });
} }
); );
}); }
function buildDefaultPreferences(defines, dir) { function buildDefaultPreferences(defines, dir) {
console.log(); console.log();
@ -827,7 +829,7 @@ function buildGeneric(defines, dir) {
gulp.task( gulp.task(
"generic", "generic",
gulp.series( gulp.series(
"buildnumber", createBuildNumber,
"locale", "locale",
function scriptingGeneric() { function scriptingGeneric() {
const defines = builder.merge(DEFINES, { GENERIC: true }); const defines = builder.merge(DEFINES, { GENERIC: true });
@ -851,7 +853,7 @@ gulp.task(
gulp.task( gulp.task(
"generic-legacy", "generic-legacy",
gulp.series( gulp.series(
"buildnumber", createBuildNumber,
"locale", "locale",
function scriptingGenericLegacy() { function scriptingGenericLegacy() {
const defines = builder.merge(DEFINES, { const defines = builder.merge(DEFINES, {
@ -896,7 +898,7 @@ function buildComponents(defines, dir) {
gulp.task( gulp.task(
"components", "components",
gulp.series("buildnumber", function createComponents() { gulp.series(createBuildNumber, function createComponents() {
console.log(); console.log();
console.log("### Creating generic components"); console.log("### Creating generic components");
const defines = builder.merge(DEFINES, { COMPONENTS: true, GENERIC: true }); const defines = builder.merge(DEFINES, { COMPONENTS: true, GENERIC: true });
@ -907,7 +909,7 @@ gulp.task(
gulp.task( gulp.task(
"components-legacy", "components-legacy",
gulp.series("buildnumber", function createComponentsLegacy() { gulp.series(createBuildNumber, function createComponentsLegacy() {
console.log(); console.log();
console.log("### Creating generic (legacy) components"); console.log("### Creating generic (legacy) components");
const defines = builder.merge(DEFINES, { const defines = builder.merge(DEFINES, {
@ -922,7 +924,7 @@ gulp.task(
gulp.task( gulp.task(
"image_decoders", "image_decoders",
gulp.series("buildnumber", function createImageDecoders() { gulp.series(createBuildNumber, function createImageDecoders() {
console.log(); console.log();
console.log("### Creating image decoders"); console.log("### Creating image decoders");
const defines = builder.merge(DEFINES, { const defines = builder.merge(DEFINES, {
@ -938,7 +940,7 @@ gulp.task(
gulp.task( gulp.task(
"image_decoders-legacy", "image_decoders-legacy",
gulp.series("buildnumber", function createImageDecodersLegacy() { gulp.series(createBuildNumber, function createImageDecodersLegacy() {
console.log(); console.log();
console.log("### Creating (legacy) image decoders"); console.log("### Creating (legacy) image decoders");
const defines = builder.merge(DEFINES, { const defines = builder.merge(DEFINES, {
@ -991,58 +993,6 @@ function buildMinified(defines, dir) {
]); ]);
} }
gulp.task(
"minified-pre",
gulp.series(
"buildnumber",
"locale",
function scriptingMinified() {
const defines = builder.merge(DEFINES, { MINIFIED: true, GENERIC: true });
return merge([
buildDefaultPreferences(defines, "minified/"),
createTemporaryScriptingBundle(defines),
]);
},
function createMinified() {
console.log();
console.log("### Creating minified viewer");
const defines = builder.merge(DEFINES, { MINIFIED: true, GENERIC: true });
return buildMinified(defines, MINIFIED_DIR);
}
)
);
gulp.task(
"minified-legacy-pre",
gulp.series(
"buildnumber",
"locale",
function scriptingMinifiedLegacy() {
const defines = builder.merge(DEFINES, {
MINIFIED: true,
GENERIC: true,
SKIP_BABEL: false,
});
return merge([
buildDefaultPreferences(defines, "minified-legacy/"),
createTemporaryScriptingBundle(defines),
]);
},
function createMinifiedLegacy() {
console.log();
console.log("### Creating minified (legacy) viewer");
const defines = builder.merge(DEFINES, {
MINIFIED: true,
GENERIC: true,
SKIP_BABEL: false,
});
return buildMinified(defines, MINIFIED_LEGACY_DIR);
}
)
);
async function parseMinified(dir) { async function parseMinified(dir) {
const pdfFile = fs.readFileSync(dir + "/build/pdf.js").toString(); const pdfFile = fs.readFileSync(dir + "/build/pdf.js").toString();
const pdfWorkerFile = fs const pdfWorkerFile = fs
@ -1116,18 +1066,62 @@ async function parseMinified(dir) {
gulp.task( gulp.task(
"minified", "minified",
gulp.series("minified-pre", async function minifiedPost(done) { gulp.series(
await parseMinified(MINIFIED_DIR); createBuildNumber,
done(); "locale",
}) function scriptingMinified() {
const defines = builder.merge(DEFINES, { MINIFIED: true, GENERIC: true });
return merge([
buildDefaultPreferences(defines, "minified/"),
createTemporaryScriptingBundle(defines),
]);
},
function createMinified() {
console.log();
console.log("### Creating minified viewer");
const defines = builder.merge(DEFINES, { MINIFIED: true, GENERIC: true });
return buildMinified(defines, MINIFIED_DIR);
},
async function compressMinified(done) {
await parseMinified(MINIFIED_DIR);
done();
}
)
); );
gulp.task( gulp.task(
"minified-legacy", "minified-legacy",
gulp.series("minified-legacy-pre", async function minifiedLegacyPost(done) { gulp.series(
await parseMinified(MINIFIED_LEGACY_DIR); createBuildNumber,
done(); "locale",
}) function scriptingMinifiedLegacy() {
const defines = builder.merge(DEFINES, {
MINIFIED: true,
GENERIC: true,
SKIP_BABEL: false,
});
return merge([
buildDefaultPreferences(defines, "minified-legacy/"),
createTemporaryScriptingBundle(defines),
]);
},
function createMinifiedLegacy() {
console.log();
console.log("### Creating minified (legacy) viewer");
const defines = builder.merge(DEFINES, {
MINIFIED: true,
GENERIC: true,
SKIP_BABEL: false,
});
return buildMinified(defines, MINIFIED_LEGACY_DIR);
},
async function compressMinifiedLegacy(done) {
await parseMinified(MINIFIED_LEGACY_DIR);
done();
}
)
); );
function preprocessDefaultPreferences(content) { function preprocessDefaultPreferences(content) {
@ -1163,9 +1157,9 @@ function preprocessDefaultPreferences(content) {
} }
gulp.task( gulp.task(
"mozcentral-pre", "mozcentral",
gulp.series( gulp.series(
"buildnumber", createBuildNumber,
function scriptingMozcentral() { function scriptingMozcentral() {
const defines = builder.merge(DEFINES, { MOZCENTRAL: true }); const defines = builder.merge(DEFINES, { MOZCENTRAL: true });
return buildDefaultPreferences(defines, "mozcentral/"); return buildDefaultPreferences(defines, "mozcentral/");
@ -1253,12 +1247,10 @@ gulp.task(
) )
); );
gulp.task("mozcentral", gulp.series("mozcentral-pre"));
gulp.task( gulp.task(
"chromium-pre", "chromium",
gulp.series( gulp.series(
"buildnumber", createBuildNumber,
"locale", "locale",
function scriptingChromium() { function scriptingChromium() {
const defines = builder.merge(DEFINES, { const defines = builder.merge(DEFINES, {
@ -1343,8 +1335,6 @@ gulp.task(
) )
); );
gulp.task("chromium", gulp.series("chromium-pre"));
gulp.task("jsdoc", function (done) { gulp.task("jsdoc", function (done) {
console.log(); console.log();
console.log("### Generating documentation (JSDoc)"); console.log("### Generating documentation (JSDoc)");
@ -1474,7 +1464,7 @@ function buildLib(defines, dir) {
gulp.task( gulp.task(
"lib", "lib",
gulp.series( gulp.series(
"buildnumber", createBuildNumber,
function scriptingLib() { function scriptingLib() {
const defines = builder.merge(DEFINES, { GENERIC: true, LIB: true }); const defines = builder.merge(DEFINES, { GENERIC: true, LIB: true });
return merge([ return merge([
@ -1496,7 +1486,7 @@ gulp.task(
gulp.task( gulp.task(
"lib-legacy", "lib-legacy",
gulp.series( gulp.series(
"buildnumber", createBuildNumber,
function scriptingLibLegacy() { function scriptingLibLegacy() {
const defines = builder.merge(DEFINES, { const defines = builder.merge(DEFINES, {
GENERIC: true, GENERIC: true,
@ -1556,18 +1546,18 @@ gulp.task(
}) })
); );
gulp.task("testing-pre", function (done) { function setTestEnv(done) {
process.env.TESTING = "true"; process.env.TESTING = "true";
// TODO: Re-write the relevant unit-tests, which are using `new Date(...)`, // TODO: Re-write the relevant unit-tests, which are using `new Date(...)`,
// to not required the following time-zone hack since it doesn't work // to not required the following time-zone hack since it doesn't work
// when the unit-tests are run directly in the browser. // when the unit-tests are run directly in the browser.
process.env.TZ = "UTC"; process.env.TZ = "UTC";
done(); done();
}); }
gulp.task( gulp.task(
"test", "test",
gulp.series("testing-pre", "generic", "components", function runTest() { gulp.series(setTestEnv, "generic", "components", function runTest() {
return streamqueue( return streamqueue(
{ objectMode: true }, { objectMode: true },
createTestSource("unit"), createTestSource("unit"),
@ -1579,7 +1569,7 @@ gulp.task(
gulp.task( gulp.task(
"bottest", "bottest",
gulp.series("testing-pre", "generic", "components", function runBotTest() { gulp.series(setTestEnv, "generic", "components", function runBotTest() {
return streamqueue( return streamqueue(
{ objectMode: true }, { objectMode: true },
createTestSource("unit", true), createTestSource("unit", true),
@ -1592,53 +1582,43 @@ gulp.task(
gulp.task( gulp.task(
"browsertest", "browsertest",
gulp.series( gulp.series(setTestEnv, "generic", "components", function runBrowserTest() {
"testing-pre", return createTestSource("browser");
"generic", })
"components",
function runBrowserTest() {
return createTestSource("browser");
}
)
); );
gulp.task( gulp.task(
"unittest", "unittest",
gulp.series("testing-pre", "generic", function runUnitTest() { gulp.series(setTestEnv, "generic", function runUnitTest() {
return createTestSource("unit"); return createTestSource("unit");
}) })
); );
gulp.task( gulp.task(
"integrationtest", "integrationtest",
gulp.series("testing-pre", "generic", function runIntegrationTest() { gulp.series(setTestEnv, "generic", function runIntegrationTest() {
return createTestSource("integration"); return createTestSource("integration");
}) })
); );
gulp.task( gulp.task(
"fonttest", "fonttest",
gulp.series("testing-pre", function runFontTest() { gulp.series(setTestEnv, function runFontTest() {
return createTestSource("font"); return createTestSource("font");
}) })
); );
gulp.task( gulp.task(
"makeref", "makeref",
gulp.series( gulp.series(setTestEnv, "generic", "components", function runMakeref(done) {
"testing-pre", makeRef(done);
"generic", })
"components",
function runMakeref(done) {
makeRef(done);
}
)
); );
gulp.task( gulp.task(
"botmakeref", "botmakeref",
gulp.series( gulp.series(
"testing-pre", setTestEnv,
"generic", "generic",
"components", "components",
function runBotMakeref(done) { function runBotMakeref(done) {
@ -1647,39 +1627,40 @@ gulp.task(
) )
); );
gulp.task(
"typestest-pre",
gulp.series("testing-pre", "generic", "types", function createTypesTest() {
const [packageJsonSrc] = packageBowerJson();
return merge([
packageJsonSrc.pipe(gulp.dest(TYPESTEST_DIR)),
gulp
.src([
GENERIC_DIR + "build/pdf.js",
GENERIC_DIR + "build/pdf.worker.js",
SRC_DIR + "pdf.worker.entry.js",
])
.pipe(gulp.dest(TYPESTEST_DIR + "build/")),
gulp
.src(TYPES_DIR + "**/*", { base: TYPES_DIR })
.pipe(gulp.dest(TYPESTEST_DIR + "types/")),
]);
})
);
gulp.task( gulp.task(
"typestest", "typestest",
gulp.series("typestest-pre", function runTypesTest(done) { gulp.series(
exec('"node_modules/.bin/tsc" -p test/types', function (err, stdout) { setTestEnv,
if (err) { "generic",
console.log(`Couldn't compile TypeScript test: ${stdout}`); "types",
} function createTypesTest() {
done(err); const [packageJsonSrc] = packageBowerJson();
}); return merge([
}) packageJsonSrc.pipe(gulp.dest(TYPESTEST_DIR)),
gulp
.src([
GENERIC_DIR + "build/pdf.js",
GENERIC_DIR + "build/pdf.worker.js",
SRC_DIR + "pdf.worker.entry.js",
])
.pipe(gulp.dest(TYPESTEST_DIR + "build/")),
gulp
.src(TYPES_DIR + "**/*", { base: TYPES_DIR })
.pipe(gulp.dest(TYPESTEST_DIR + "types/")),
]);
},
function runTypesTest(done) {
exec('"node_modules/.bin/tsc" -p test/types', function (err, stdout) {
if (err) {
console.log(`Couldn't compile TypeScript test: ${stdout}`);
}
done(err);
});
}
)
); );
gulp.task("baseline", function (done) { function createBaseline(done) {
console.log(); console.log();
console.log("### Creating baseline environment"); console.log("### Creating baseline environment");
@ -1716,11 +1697,11 @@ gulp.task("baseline", function (done) {
} }
); );
}); });
}); }
gulp.task( gulp.task(
"unittestcli", "unittestcli",
gulp.series("testing-pre", "lib-legacy", function runUnitTestCli(done) { gulp.series(setTestEnv, "lib-legacy", function runUnitTestCli(done) {
const options = [ const options = [
"node_modules/jasmine/bin/jasmine", "node_modules/jasmine/bin/jasmine",
"JASMINE_CONFIG_PATH=test/unit/clitests.json", "JASMINE_CONFIG_PATH=test/unit/clitests.json",
@ -1833,30 +1814,31 @@ gulp.task(
) )
); );
gulp.task("watch-dev-sandbox", function () {
gulp.watch(
[
"src/pdf.{sandbox,sandbox.external,scripting}.js",
"src/scripting_api/*.js",
"src/shared/scripting_utils.js",
"external/quickjs/*.js",
],
{ ignoreInitial: false },
gulp.series("dev-sandbox")
);
});
gulp.task( gulp.task(
"server", "server",
gulp.parallel("watch-dev-sandbox", function createServer() { gulp.parallel(
console.log(); function watchDevSandbox() {
console.log("### Starting local server"); gulp.watch(
[
"src/pdf.{sandbox,sandbox.external,scripting}.js",
"src/scripting_api/*.js",
"src/shared/scripting_utils.js",
"external/quickjs/*.js",
],
{ ignoreInitial: false },
gulp.series("dev-sandbox")
);
},
function createServer() {
console.log();
console.log("### Starting local server");
const WebServer = require("./test/webserver.js").WebServer; const WebServer = require("./test/webserver.js").WebServer;
const server = new WebServer(); const server = new WebServer();
server.port = 8888; server.port = 8888;
server.start(); server.start();
}) }
)
); );
gulp.task("clean", function (done) { gulp.task("clean", function (done) {
@ -1889,7 +1871,7 @@ gulp.task("importl10n", function (done) {
locales.downloadL10n(L10N_DIR, done); locales.downloadL10n(L10N_DIR, done);
}); });
gulp.task("gh-pages-prepare", function () { function ghPagesPrepare() {
console.log(); console.log();
console.log("### Creating web site"); console.log("### Creating web site");
@ -1910,7 +1892,7 @@ gulp.task("gh-pages-prepare", function () {
.src(JSDOC_BUILD_DIR + "**/*", { base: JSDOC_BUILD_DIR }) .src(JSDOC_BUILD_DIR + "**/*", { base: JSDOC_BUILD_DIR })
.pipe(gulp.dest(GH_PAGES_DIR + "api/draft/")), .pipe(gulp.dest(GH_PAGES_DIR + "api/draft/")),
]); ]);
}); }
gulp.task("wintersmith", function (done) { gulp.task("wintersmith", function (done) {
const wintersmith = require("wintersmith"); const wintersmith = require("wintersmith");
@ -1952,7 +1934,7 @@ gulp.task("wintersmith", function (done) {
}); });
}); });
gulp.task("gh-pages-git", function (done) { function ghPagesGit(done) {
const VERSION = getVersionJSON().version; const VERSION = getVersionJSON().version;
const reason = process.env.PDFJS_UPDATE_REASON; const reason = process.env.PDFJS_UPDATE_REASON;
@ -1977,7 +1959,7 @@ gulp.task("gh-pages-git", function (done) {
console.log(); console.log();
console.log("Website built in " + GH_PAGES_DIR); console.log("Website built in " + GH_PAGES_DIR);
done(); done();
}); }
gulp.task( gulp.task(
"web", "web",
@ -1985,9 +1967,9 @@ gulp.task(
"generic", "generic",
"generic-legacy", "generic-legacy",
"jsdoc", "jsdoc",
"gh-pages-prepare", ghPagesPrepare,
"wintersmith", "wintersmith",
"gh-pages-git" ghPagesGit
) )
); );
@ -2168,8 +2150,8 @@ gulp.task(
); );
gulp.task( gulp.task(
"dist-repo-git", "dist",
gulp.series("dist-pre", function createDistRepoGit(done) { gulp.series("dist-pre", function createDist(done) {
const VERSION = getVersionJSON().version; const VERSION = getVersionJSON().version;
console.log(); console.log();
@ -2208,11 +2190,9 @@ gulp.task(
}) })
); );
gulp.task("dist", gulp.series("dist-repo-git"));
gulp.task( gulp.task(
"mozcentralbaseline", "mozcentralbaseline",
gulp.series("baseline", function createMozcentralBaseline(done) { gulp.series(createBaseline, function createMozcentralBaseline(done) {
console.log(); console.log();
console.log("### Creating mozcentral baseline environment"); console.log("### Creating mozcentral baseline environment");