mirror of
https://github.com/google/blockly.git
synced 2026-01-06 08:30:13 +01:00
* chore(deps): Update closure/goog/base.js, add goog.js
- Update base.js from the latest version (20220502.0.0).
- Also copy over goog.js, which provides access to a suitable subset
of goog.* via an importable module).
* chore(build): Split gulpfiles/config.js exports object
This makes it possible for entries to depend on each other.
* chore(build): build config consistency
- Reorder entries in gulpfiles.config.js to better match order they
are used.
- Have update_metadata.sh reference config.js and vice versa.
* refactor(build): Move deps.js (+ deps.mocha.js) from test/ to build/
Once we start using tsc, deps.js will be created based on the ouptut
of tsc rather than the raw source in core/. Since tsc will need to
be run before running closure-make-deps and also before trying to
load blockly_uncompressed.js, it doesn't really make sense to check
in deps.js; it's better to re-create as needed.
To reduce inconvenience, a new "prepare" script is added to
package.json which will run the buildDeps gulp target automaticaly
when one runs npm install.
* refactor(build): Always build from TypeScript sources
- Add buildJavaScript gulp task to use tsc to compile any .ts files
in core/ into build/src/core/ (and also copy any .js files that
are not yet migrated to TypeScript, which for now is all of them.
- Remove closure/goog from explicit inputs to tsc; it will find
the files it needs (e.g., goog.js) automatically.
- Have buildDeps, the playground, and all the tests that run in
uncompiled mode use build/src/core/ instead of core/ as their
input directory.
* feat(build): Add buildJavaScriptAndDeps gulp task
Have npm run build:deps (and npm run prepare) use a new gulp task,
buildJavaScriptAndDeps, to run tsc followed by closure-make-deps,
ensuring that deps.js is calculated based on the most recent code
in core/.
* fix(build): Fix implementation of flattenCorePaths
Even though this function is going away I want to remove it in
a separate PR so that we can revert easily if desired. But the
previous checked-in code was totally wrong. This version works.
* fix(build): Don't let checkinBuilt copy build/src/**
Now that we are putting a lot more stuff in build/ (specifically,
all the tsc output in build/src/), modify checkinBuilt so that it
only copies the specific things we want to check in (for now):
- _compressed.js build artifacts and their accompanying .js.maps
- the generated build/msg/js/*.js language files.
Unrelatedly, also fix safety-quoting of arguments for one execSync
call.
58 lines
2.3 KiB
JavaScript
58 lines
2.3 KiB
JavaScript
/**
|
|
* @license
|
|
* Copyright 2018 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/**
|
|
* @fileoverview Gulp script to build Blockly for Node & NPM.
|
|
* Run this script by calling "npm install" in this directory.
|
|
*/
|
|
/* eslint-env node */
|
|
|
|
const gulp = require('gulp');
|
|
|
|
const buildTasks = require('./scripts/gulpfiles/build_tasks');
|
|
const packageTasks = require('./scripts/gulpfiles/package_tasks');
|
|
const gitTasks = require('./scripts/gulpfiles/git_tasks');
|
|
const licenseTasks = require('./scripts/gulpfiles/license_tasks');
|
|
const appengineTasks = require('./scripts/gulpfiles/appengine_tasks');
|
|
const releaseTasks = require('./scripts/gulpfiles/release_tasks');
|
|
const cleanupTasks = require('./scripts/gulpfiles/cleanup_tasks');
|
|
|
|
module.exports = {
|
|
deployDemos: appengineTasks.deployDemos,
|
|
deployDemosBeta: appengineTasks.deployDemosBeta,
|
|
default: buildTasks.build,
|
|
generateLangfiles: buildTasks.generateLangfiles,
|
|
build: buildTasks.build,
|
|
buildDeps: buildTasks.deps,
|
|
buildLangfiles: buildTasks.langfiles,
|
|
buildCompiled: buildTasks.compiled,
|
|
buildAdvancedCompilationTest: buildTasks.advancedCompilationTest,
|
|
buildJavaScript: buildTasks.javaScript,
|
|
buildJavaScriptAndDeps: gulp.series(buildTasks.javaScript, buildTasks.deps),
|
|
// TODO(5621): Re-enable once typings generation is fixed.
|
|
// checkin: gulp.parallel(buildTasks.checkinBuilt, typings.checkinTypings),
|
|
checkin: gulp.parallel(buildTasks.checkinBuilt),
|
|
checkinBuilt: buildTasks.checkinBuilt,
|
|
clangFormat: buildTasks.format,
|
|
clean: gulp.parallel(buildTasks.cleanBuildDir, packageTasks.cleanReleaseDir),
|
|
cleanBuildDir: buildTasks.cleanBuildDir,
|
|
cleanReleaseDir: packageTasks.cleanReleaseDir,
|
|
gitSyncDevelop: gitTasks.syncDevelop,
|
|
gitSyncMaster: gitTasks.syncMaster,
|
|
gitCreateRC: gitTasks.createRC,
|
|
gitUpdateGithubPages: gitTasks.updateGithubPages,
|
|
// TODO(5621): Re-enable once typings generation is fixed.
|
|
// typings: gulp.series(typings.typings, typings.msgTypings),
|
|
// checkinTypings: typings.checkinTypings,
|
|
package: packageTasks.package,
|
|
checkLicenses: licenseTasks.checkLicenses,
|
|
recompile: releaseTasks.recompile,
|
|
prepareDemos: appengineTasks.prepareDemos,
|
|
publish: releaseTasks.publish,
|
|
publishBeta: releaseTasks.publishBeta,
|
|
sortRequires: cleanupTasks.sortRequires,
|
|
};
|