mirror of
https://github.com/google/blockly.git
synced 2026-01-14 20:37:10 +01:00
feat(build): Make package tasks invoke their prerequisites
Have the package task invoke the cleanBuildDir (as well as cleanPackageDir) and build tasks. Remove the checkBuildDir task as it is now redundant since a fresh build is done every time.
This commit is contained in:
10
gulpfile.js
10
gulpfile.js
@@ -26,11 +26,15 @@ module.exports = {
|
||||
|
||||
// Main sequence targets. They already invoke prerequisites.
|
||||
cleanBuildDir: buildTasks.cleanBuildDir,
|
||||
cleanReleaseDir: packageTasks.cleanReleaseDir,
|
||||
messages: buildTasks.messages,
|
||||
tsc: buildTasks.tsc,
|
||||
deps: buildTasks.deps,
|
||||
minify: buildTasks.minify,
|
||||
build: buildTasks.build,
|
||||
package: packageTasks.package,
|
||||
publish: releaseTasks.publish,
|
||||
publishBeta: releaseTasks.publishBeta,
|
||||
|
||||
// Manually-invokable targets that invoke prerequisites.
|
||||
prepare: buildTasks.prepare,
|
||||
@@ -44,20 +48,16 @@ module.exports = {
|
||||
|
||||
// Legacy target, to be deleted.
|
||||
checkin: buildTasks.checkin,
|
||||
recompile: releaseTasks.recompile,
|
||||
|
||||
// TBD.
|
||||
deployDemos: appengineTasks.deployDemos,
|
||||
deployDemosBeta: appengineTasks.deployDemosBeta,
|
||||
cleanReleaseDir: packageTasks.cleanReleaseDir,
|
||||
gitSyncDevelop: gitTasks.syncDevelop,
|
||||
gitSyncMaster: gitTasks.syncMaster,
|
||||
gitCreateRC: gitTasks.createRC,
|
||||
gitUpdateGithubPages: gitTasks.updateGithubPages,
|
||||
package: packageTasks.package,
|
||||
checkLicenses: licenseTasks.checkLicenses,
|
||||
recompile: releaseTasks.recompile,
|
||||
prepareDemos: appengineTasks.prepareDemos,
|
||||
publish: releaseTasks.publish,
|
||||
publishBeta: releaseTasks.publishBeta,
|
||||
sortRequires: cleanupTasks.sortRequires,
|
||||
};
|
||||
|
||||
@@ -19,6 +19,7 @@ gulp.replace = require('gulp-replace');
|
||||
var path = require('path');
|
||||
var fs = require('fs');
|
||||
var rimraf = require('rimraf');
|
||||
var build = require('./build_tasks');
|
||||
var {getPackageJson} = require('./helper_tasks');
|
||||
var {BUILD_DIR, RELEASE_DIR, TYPINGS_BUILD_DIR} = require('./config');
|
||||
|
||||
@@ -53,32 +54,6 @@ function packageCommonJS(namespace, dependencies) {
|
||||
});
|
||||
};
|
||||
|
||||
// Sanity check that the BUILD_DIR directory exists, and that certain
|
||||
// files are in it.
|
||||
function checkBuildDir(done) {
|
||||
// Check that directory exists.
|
||||
if (!fs.existsSync(BUILD_DIR)) {
|
||||
done(new Error(`The ${BUILD_DIR} directory does not exist. ` +
|
||||
'Has packageTasks.build been run?'));
|
||||
return;
|
||||
}
|
||||
// Check files built by buildTasks.build exist in BUILD_DIR.
|
||||
for (const fileName of [
|
||||
'blockly_compressed.js', // buildTasks.buildCompressed
|
||||
'blocks_compressed.js', // buildTasks.buildBlocks
|
||||
'javascript_compressed.js', // buildTasks.buildGenerators
|
||||
'msg/js/en.js', // buildTaks.buildLangfiles
|
||||
]) {
|
||||
if (!fs.existsSync(`${BUILD_DIR}/${fileName}`)) {
|
||||
done(new Error(
|
||||
`Your ${BUILD_DIR} directory does not contain ${fileName}. ` +
|
||||
'Has packageTasks.build been run? Try "npm run build".'));
|
||||
return;
|
||||
}
|
||||
}
|
||||
done();
|
||||
}
|
||||
|
||||
/**
|
||||
* This task copies the compressed files and their source maps into
|
||||
* the release directory.
|
||||
@@ -399,10 +374,14 @@ function cleanReleaseDir(done) {
|
||||
/**
|
||||
* This task prepares the files to be included in the NPM by copying
|
||||
* them into the release directory.
|
||||
*
|
||||
* Prerequisite: build.
|
||||
*/
|
||||
const package = gulp.series(
|
||||
checkBuildDir,
|
||||
cleanReleaseDir,
|
||||
gulp.parallel(
|
||||
build.cleanBuildDir,
|
||||
cleanReleaseDir),
|
||||
build.build,
|
||||
gulp.parallel(
|
||||
packageIndex,
|
||||
packageCompressed,
|
||||
@@ -426,6 +405,7 @@ const package = gulp.series(
|
||||
);
|
||||
|
||||
module.exports = {
|
||||
// Main sequence targets. Each should invoke any immediate prerequisite(s).
|
||||
cleanReleaseDir: cleanReleaseDir,
|
||||
package: package,
|
||||
};
|
||||
|
||||
@@ -147,27 +147,18 @@ function updateBetaVersion(done) {
|
||||
done();
|
||||
}
|
||||
|
||||
// Build Blockly and prepare to check in the resulting built files.
|
||||
const rebuildAll = gulp.series(
|
||||
buildTasks.cleanBuildDir,
|
||||
buildTasks.build,
|
||||
buildTasks.checkin,
|
||||
);
|
||||
|
||||
// Package and publish to npm.
|
||||
// Rebuild, package and publish to npm.
|
||||
const publish = gulp.series(
|
||||
rebuildAll,
|
||||
packageTasks.package,
|
||||
packageTasks.package, // Does clean + build.
|
||||
checkBranch,
|
||||
checkReleaseDir,
|
||||
loginAndPublish
|
||||
);
|
||||
|
||||
// Publish a beta version of Blockly.
|
||||
// Rebuild, package and publish a beta version of Blockly.
|
||||
const publishBeta = gulp.series(
|
||||
updateBetaVersion,
|
||||
rebuildAll,
|
||||
packageTasks.package,
|
||||
packageTasks.package, // Does clean + build.
|
||||
checkBranch,
|
||||
checkReleaseDir,
|
||||
loginAndPublishBeta
|
||||
@@ -179,12 +170,16 @@ const recompileDevelop = gulp.series(
|
||||
gitTasks.syncDevelop(),
|
||||
gitTasks.createRebuildBranch,
|
||||
updateVersionPrompt,
|
||||
rebuildAll,
|
||||
packageTasks.package, // Does clean + build.
|
||||
buildTasks.checkin,
|
||||
gitTasks.pushRebuildBranch
|
||||
);
|
||||
|
||||
module.exports = {
|
||||
// Main sequence targets. Each should invoke any immediate prerequisite(s).
|
||||
publishBeta,
|
||||
publish,
|
||||
|
||||
// Legacy target, to be deleted.
|
||||
recompile: recompileDevelop,
|
||||
publishBeta: publishBeta,
|
||||
publish: publish
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user