angular-cn/tools/gulp-tasks
Joey Perrott c5c57f6737 build: update to clang 1.4.0 and only run clang format on changed files (#36203)
Update to clang@1.4.0 to gain support for optional changing and nullish
coalescing.  Because this would trigger a change on >1800 files in the
repository, also changes our format enforcement to only be run against
changed files.  This will allow us to incramentally roll out the value
add of the upgraded clang format.

PR Close #36203
2020-04-01 13:18:09 -07:00
..
cldr feat: i18n - include currency code in locale data (#32584) 2020-01-13 09:57:06 -08:00
README.md build: no longer run tslint from within gulp task (#35800) 2020-03-03 09:20:49 -08:00
changelog-zonejs.js docs(zone.js): update release docs instructions (#32128) 2019-08-13 16:55:03 -07:00
changelog.js feat(dev-infra): add dev-infra to the commit message scopes (#35992) 2020-03-10 13:26:12 -04:00
cldr.js build: move cldr dependency to npm (#33634) 2019-11-07 17:49:19 +00:00
format.js build: update to clang 1.4.0 and only run clang format on changed files (#36203) 2020-04-01 13:18:09 -07:00
platform-script-path.js build: update npm dependencies (#19328) 2017-09-22 13:20:52 -07:00
source-map-test.js build: update npm dependencies (#19328) 2017-09-22 13:20:52 -07:00
validate-commit-message.js ci: properly validate commit messages locally (#35035) 2020-02-04 10:25:01 -08:00

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'], loadTask('lint'));