Script to clean release directory

You can now do npm run clean:buildDir, ... clean:releaseDir, or just
... clean, which does both.

The release directory is automatically cleaned before packaging
commences.
This commit is contained in:
Christopher Allen
2021-06-23 13:07:20 +01:00
parent 961319b3eb
commit e8eb30fa8b
4 changed files with 44 additions and 25 deletions

View File

@@ -33,7 +33,11 @@ module.exports = {
buildGenerators: buildTasks.generators,
buildAdvancedCompilationTest: buildTasks.advancedCompilationTest,
checkinBuilt: buildTasks.checkinBuilt,
clean: buildTasks.cleanBuildDir,
clean: gulp.series(
buildTasks.cleanBuildDir,
packageTasks.cleanReleaseDir),
cleanBuildDir: buildTasks.cleanBuildDir,
cleanReleaseDir: packageTasks.cleanReleaseDir,
gitSyncDevelop: gitTasks.syncDevelop,
gitSyncMaster: gitTasks.syncMaster,
gitCreateRC: gitTasks.createRC,

View File

@@ -30,6 +30,8 @@
"build:uncompressed": "gulp buildUncompressed",
"bump": "npm --no-git-tag-version version 4.$(date +'%Y%m%d').0",
"clean": "gulp clean",
"clean:build": "gulp cleanBuildDir",
"clean:release": "gulp cleanReleaseDir",
"checkin": "gulp checkinBuilt",
"deployDemos": "gulp deployDemos",
"format": "git-clang-format",

View File

@@ -559,8 +559,7 @@ function cleanBuildDir(done) {
if (BUILD_DIR === '.' || BUILD_DIR === '/') {
throw new Error(`Refusing to rm -rf ${BUILD_DIR}`);
}
rimraf.sync(BUILD_DIR);
done();
rimraf(BUILD_DIR, done);
}
module.exports = {

View File

@@ -366,33 +366,47 @@ function packageDTS() {
.pipe(gulp.dest(`${RELEASE_DIR}`));
};
/**
* This task cleans the release directory (by deleting it).
*/
function cleanReleaseDir(done) {
// Sanity check.
if (RELEASE_DIR === '.' || RELEASE_DIR === '/') {
throw new Error(`Refusing to rm -rf ${RELEASE_DIR}`);
}
rimraf(RELEASE_DIR, done);
}
/**
* This task prepares the files to be included in the NPM by copying
* them into the release directory.
*/
const package = gulp.parallel(
packageIndex,
packageSources,
packageCompressed,
packageBrowser,
packageNode,
packageCore,
packageNodeCore,
packageBlockly,
packageBlocks,
packageJavascript,
packagePython,
packageLua,
packageDart,
packagePHP,
packageLocales,
packageMedia,
packageUMDBundle,
packageJSON,
packageReadme,
packageDTS
);
const package = gulp.series(
cleanReleaseDir,
gulp.parallel(
packageIndex,
packageSources,
packageCompressed,
packageBrowser,
packageNode,
packageCore,
packageNodeCore,
packageBlockly,
packageBlocks,
packageJavascript,
packagePython,
packageLua,
packageDart,
packagePHP,
packageLocales,
packageMedia,
packageUMDBundle,
packageJSON,
packageReadme,
packageDTS)
);
module.exports = {
cleanReleaseDir: cleanReleaseDir,
package: package,
};