angular-docs-cn/tools/gulp-tasks
Paul Gschwendtner 82a2207f4a build: filter out duplicate cherry-picked commits in changelog (#37956)
Often changelogs are generated from the patch branch and then
cherry-picked into the `CHANGELOG.md` file in `master` for
better access and readability. This is problematic though as
`conventional-changelog` (the tool we use for generating the
changelog), will duplicate commits when a future changelog
is generated from `master` then (i.e. for a new minor release).

This happens because conventional-changelog always generates the
changelog from the latest tag in a given branch to `HEAD`. The
tag in the patch branch does not correspond to any SHA in `master`
so the intersection of commits is not automatically omitted.

We work around this naively (until we have a better tool provided
by dev-infra), by deduping commits that are already part of the
changelog. This has proven to work as expected in the components
repo.

PR Close #37956
2020-07-08 12:04:46 -07:00
..
cldr style(dev-infra): enforce format on newly included files (#36940) 2020-06-12 15:06:41 -07:00
README.md build: migrate from gulp to ng-dev for running formatting (#36726) 2020-04-24 12:32:18 -07:00
changelog-zonejs.js build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
changelog.js build: filter out duplicate cherry-picked commits in changelog (#37956) 2020-07-08 12:04:46 -07:00
cldr.js build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
platform-script-path.js build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
source-map-test.js build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04: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) => {
  ...
};

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'));