6788d86709
Previously, the `validate-commit-message` gulp task was using the `git log ... ^r1 r2` syntax to list commits between the base branch and the current head. This didn't work as expected on Windows, because `^` is the escape character. As a result, the command was equivalent to `git log ... r1 r2` on Windows, which essentially logs all commits reachable from either `r1` or `r2`. This commit fixes it by switching to git's [double-dot range notation][1] (`r1..r2`), which is an alias for the `^r1 r2` syntax and works correctly on all platforms. [1]: https://git-scm.com/docs/gitrevisions#_dotted_range_notations Fixes #16830 PR Close #28780 |
||
---|---|---|
.. | ||
cldr | ||
README.md | ||
changelog.js | ||
check-cycle.js | ||
cldr.js | ||
format.js | ||
lint.js | ||
platform-script-path.js | ||
serve.js | ||
source-map-test.js | ||
tools-build.js | ||
validate-commit-message.js |
README.md
Gulp Tasks folder
This folder contains one file for each task (or group of related tasks) for the project's gulpfile. The dependencies between the tasks is kept in the gulpfile.
Task File Structure
Each task is defined by a factory function that accepts gulp
as a parameter.
Each file exports either one factory or an object of factories.
E.g. The build.js
file contains only one task:
module.exports = (gulp) => (done) => {
...
};
E.g. The format.js
file contains two tasks:
module.exports = {
// Check source code for formatting errors (clang-format)
enforce: (gulp) => () => {
...
},
// Format the source code with clang-format (see .clang-format)
format: (gulp) => () => {
...
}
};
Loading Tasks
The tasks are loaded in the gulp file, by requiring them. There is a helper called loadTask(fileName, taskName)
will do this for us, where the taskName
is optional if the file only exports one task.
E.g. Loading the task that will run the build, from a task file that contains only one task.
gulp.task('build.sh', loadTask('build'));
E.g. Loading the task that will enforce formatting, from a task file that contains more than one task:
gulp.task('format:enforce', loadTask('format', 'enforce'));
E.g. Loading a task that has dependencies:
gulp.task('lint', ['format:enforce', 'tools:build'], loadTask('lint'));