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) {
console.log("Available tasks:");
const tasks = Object.keys(gulp.registry().tasks());
tasks.sort();
tasks.forEach(function (taskName) {
for (const taskName of tasks.sort()) {
if (taskName.endsWith("-pre")) {
continue;
}
console.log(" " + taskName);
});
}
done();
});
gulp.task("buildnumber", function (done) {
function createBuildNumber(done) {
console.log();
console.log("### Getting extension build number");
@ -648,7 +650,7 @@ gulp.task("buildnumber", function (done) {
});
}
);
});
}
function buildDefaultPreferences(defines, dir) {
console.log();
@ -827,7 +829,7 @@ function buildGeneric(defines, dir) {
gulp.task(
"generic",
gulp.series(
"buildnumber",
createBuildNumber,
"locale",
function scriptingGeneric() {
const defines = builder.merge(DEFINES, { GENERIC: true });
@ -851,7 +853,7 @@ gulp.task(
gulp.task(
"generic-legacy",
gulp.series(
"buildnumber",
createBuildNumber,
"locale",
function scriptingGenericLegacy() {
const defines = builder.merge(DEFINES, {
@ -896,7 +898,7 @@ function buildComponents(defines, dir) {
gulp.task(
"components",
gulp.series("buildnumber", function createComponents() {
gulp.series(createBuildNumber, function createComponents() {
console.log();
console.log("### Creating generic components");
const defines = builder.merge(DEFINES, { COMPONENTS: true, GENERIC: true });
@ -907,7 +909,7 @@ gulp.task(
gulp.task(
"components-legacy",
gulp.series("buildnumber", function createComponentsLegacy() {
gulp.series(createBuildNumber, function createComponentsLegacy() {
console.log();
console.log("### Creating generic (legacy) components");
const defines = builder.merge(DEFINES, {
@ -922,7 +924,7 @@ gulp.task(
gulp.task(
"image_decoders",
gulp.series("buildnumber", function createImageDecoders() {
gulp.series(createBuildNumber, function createImageDecoders() {
console.log();
console.log("### Creating image decoders");
const defines = builder.merge(DEFINES, {
@ -938,7 +940,7 @@ gulp.task(
gulp.task(
"image_decoders-legacy",
gulp.series("buildnumber", function createImageDecodersLegacy() {
gulp.series(createBuildNumber, function createImageDecodersLegacy() {
console.log();
console.log("### Creating (legacy) image decoders");
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) {
const pdfFile = fs.readFileSync(dir + "/build/pdf.js").toString();
const pdfWorkerFile = fs
@ -1116,18 +1066,62 @@ async function parseMinified(dir) {
gulp.task(
"minified",
gulp.series("minified-pre", async function minifiedPost(done) {
await parseMinified(MINIFIED_DIR);
done();
})
gulp.series(
createBuildNumber,
"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(
"minified-legacy",
gulp.series("minified-legacy-pre", async function minifiedLegacyPost(done) {
await parseMinified(MINIFIED_LEGACY_DIR);
done();
})
gulp.series(
createBuildNumber,
"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) {
@ -1163,9 +1157,9 @@ function preprocessDefaultPreferences(content) {
}
gulp.task(
"mozcentral-pre",
"mozcentral",
gulp.series(
"buildnumber",
createBuildNumber,
function scriptingMozcentral() {
const defines = builder.merge(DEFINES, { MOZCENTRAL: true });
return buildDefaultPreferences(defines, "mozcentral/");
@ -1253,12 +1247,10 @@ gulp.task(
)
);
gulp.task("mozcentral", gulp.series("mozcentral-pre"));
gulp.task(
"chromium-pre",
"chromium",
gulp.series(
"buildnumber",
createBuildNumber,
"locale",
function scriptingChromium() {
const defines = builder.merge(DEFINES, {
@ -1343,8 +1335,6 @@ gulp.task(
)
);
gulp.task("chromium", gulp.series("chromium-pre"));
gulp.task("jsdoc", function (done) {
console.log();
console.log("### Generating documentation (JSDoc)");
@ -1474,7 +1464,7 @@ function buildLib(defines, dir) {
gulp.task(
"lib",
gulp.series(
"buildnumber",
createBuildNumber,
function scriptingLib() {
const defines = builder.merge(DEFINES, { GENERIC: true, LIB: true });
return merge([
@ -1496,7 +1486,7 @@ gulp.task(
gulp.task(
"lib-legacy",
gulp.series(
"buildnumber",
createBuildNumber,
function scriptingLibLegacy() {
const defines = builder.merge(DEFINES, {
GENERIC: true,
@ -1556,18 +1546,18 @@ gulp.task(
})
);
gulp.task("testing-pre", function (done) {
function setTestEnv(done) {
process.env.TESTING = "true";
// 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
// when the unit-tests are run directly in the browser.
process.env.TZ = "UTC";
done();
});
}
gulp.task(
"test",
gulp.series("testing-pre", "generic", "components", function runTest() {
gulp.series(setTestEnv, "generic", "components", function runTest() {
return streamqueue(
{ objectMode: true },
createTestSource("unit"),
@ -1579,7 +1569,7 @@ gulp.task(
gulp.task(
"bottest",
gulp.series("testing-pre", "generic", "components", function runBotTest() {
gulp.series(setTestEnv, "generic", "components", function runBotTest() {
return streamqueue(
{ objectMode: true },
createTestSource("unit", true),
@ -1592,53 +1582,43 @@ gulp.task(
gulp.task(
"browsertest",
gulp.series(
"testing-pre",
"generic",
"components",
function runBrowserTest() {
return createTestSource("browser");
}
)
gulp.series(setTestEnv, "generic", "components", function runBrowserTest() {
return createTestSource("browser");
})
);
gulp.task(
"unittest",
gulp.series("testing-pre", "generic", function runUnitTest() {
gulp.series(setTestEnv, "generic", function runUnitTest() {
return createTestSource("unit");
})
);
gulp.task(
"integrationtest",
gulp.series("testing-pre", "generic", function runIntegrationTest() {
gulp.series(setTestEnv, "generic", function runIntegrationTest() {
return createTestSource("integration");
})
);
gulp.task(
"fonttest",
gulp.series("testing-pre", function runFontTest() {
gulp.series(setTestEnv, function runFontTest() {
return createTestSource("font");
})
);
gulp.task(
"makeref",
gulp.series(
"testing-pre",
"generic",
"components",
function runMakeref(done) {
makeRef(done);
}
)
gulp.series(setTestEnv, "generic", "components", function runMakeref(done) {
makeRef(done);
})
);
gulp.task(
"botmakeref",
gulp.series(
"testing-pre",
setTestEnv,
"generic",
"components",
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(
"typestest",
gulp.series("typestest-pre", 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.series(
setTestEnv,
"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/")),
]);
},
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("### Creating baseline environment");
@ -1716,11 +1697,11 @@ gulp.task("baseline", function (done) {
}
);
});
});
}
gulp.task(
"unittestcli",
gulp.series("testing-pre", "lib-legacy", function runUnitTestCli(done) {
gulp.series(setTestEnv, "lib-legacy", function runUnitTestCli(done) {
const options = [
"node_modules/jasmine/bin/jasmine",
"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(
"server",
gulp.parallel("watch-dev-sandbox", function createServer() {
console.log();
console.log("### Starting local server");
gulp.parallel(
function watchDevSandbox() {
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 server = new WebServer();
server.port = 8888;
server.start();
})
const WebServer = require("./test/webserver.js").WebServer;
const server = new WebServer();
server.port = 8888;
server.start();
}
)
);
gulp.task("clean", function (done) {
@ -1889,7 +1871,7 @@ gulp.task("importl10n", function (done) {
locales.downloadL10n(L10N_DIR, done);
});
gulp.task("gh-pages-prepare", function () {
function ghPagesPrepare() {
console.log();
console.log("### Creating web site");
@ -1910,7 +1892,7 @@ gulp.task("gh-pages-prepare", function () {
.src(JSDOC_BUILD_DIR + "**/*", { base: JSDOC_BUILD_DIR })
.pipe(gulp.dest(GH_PAGES_DIR + "api/draft/")),
]);
});
}
gulp.task("wintersmith", function (done) {
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 reason = process.env.PDFJS_UPDATE_REASON;
@ -1977,7 +1959,7 @@ gulp.task("gh-pages-git", function (done) {
console.log();
console.log("Website built in " + GH_PAGES_DIR);
done();
});
}
gulp.task(
"web",
@ -1985,9 +1967,9 @@ gulp.task(
"generic",
"generic-legacy",
"jsdoc",
"gh-pages-prepare",
ghPagesPrepare,
"wintersmith",
"gh-pages-git"
ghPagesGit
)
);
@ -2168,8 +2150,8 @@ gulp.task(
);
gulp.task(
"dist-repo-git",
gulp.series("dist-pre", function createDistRepoGit(done) {
"dist",
gulp.series("dist-pre", function createDist(done) {
const VERSION = getVersionJSON().version;
console.log();
@ -2208,11 +2190,9 @@ gulp.task(
})
);
gulp.task("dist", gulp.series("dist-repo-git"));
gulp.task(
"mozcentralbaseline",
gulp.series("baseline", function createMozcentralBaseline(done) {
gulp.series(createBaseline, function createMozcentralBaseline(done) {
console.log();
console.log("### Creating mozcentral baseline environment");