From b2d82c2ccb74b794f92a5d024be10e692a7e3a8d Mon Sep 17 00:00:00 2001 From: Pierre Vanduynslager Date: Sun, 29 Jul 2018 23:31:05 -0400 Subject: [PATCH] docs: specify for each step if one or more plugins are required/allowed --- docs/usage/plugins.md | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/docs/usage/plugins.md b/docs/usage/plugins.md index 2b5d0c3735..d86632b997 100644 --- a/docs/usage/plugins.md +++ b/docs/usage/plugins.md @@ -10,25 +10,33 @@ See [plugins list](../extending/plugins-list.md). Responsible for verifying conditions necessary to proceed with the release: configuration is correct, authentication token are valid, etc... -Default implementation: [@semantic-release/npm](https://github.com/semantic-release/npm#verifyconditions) and [@semantic-release/github](https://github.com/semantic-release/github#verifyconditions). +Default implementation: [@semantic-release/npm](https://github.com/semantic-release/npm#verifyconditions) and [@semantic-release/github](https://github.com/semantic-release/github#verifyconditions).
+Optional.
+Accept multiple plugins. ### analyzeCommits plugin Responsible for determining the type of the next release (`major`, `minor` or `patch`). -Default implementation: [@semantic-release/commit-analyzer](https://github.com/semantic-release/commit-analyzer). +Default implementation: [@semantic-release/commit-analyzer](https://github.com/semantic-release/commit-analyzer).
+Required.
+Accept only one plugin. ### verifyRelease plugin Responsible for verifying the parameters (version, type, dist-tag etc...) of the release that is about to be published. For example the [cracks plugin](https://github.com/semantic-release/cracks) is able to verify that if a release contains breaking changes, its type must be `major`. -Default implementation: none. +Default implementation: none.
+Optional.
+Accept multiple plugins. ### generateNotes plugin Responsible for generating release notes. If multiple `generateNotes` plugins are defined, the release notes will be the result of the concatenation of plugin output. -Default implementation: [@semantic-release/release-notes-generator](https://github.com/semantic-release/release-notes-generator). +Default implementation: [@semantic-release/release-notes-generator](https://github.com/semantic-release/release-notes-generator).
+Optional.
+Accept multiple plugins. ### prepare plugin @@ -36,25 +44,33 @@ Responsible for preparing the release, including: - Creating or updating files such as `package.json`, `CHANGELOG.md`, documentation or compiled assets. - Create and push commits -Default implementation: [@semantic-release/npm](https://github.com/semantic-release/npm#prepare). +Default implementation: [@semantic-release/npm](https://github.com/semantic-release/npm#prepare).
+Optional.
+Accept multiple plugins. ### publish plugin Responsible for publishing the release. -Default implementation: [@semantic-release/npm](https://github.com/semantic-release/npm#publish) and [@semantic-release/github](https://github.com/semantic-release/github#publish). +Default implementation: [@semantic-release/npm](https://github.com/semantic-release/npm#publish) and [@semantic-release/github](https://github.com/semantic-release/github#publish).
+Optional.
+Accept multiple plugins. ### success plugin Responsible for notifying of a new release. -Default implementation: [@semantic-release/github](https://github.com/semantic-release/github#success). +Default implementation: [@semantic-release/github](https://github.com/semantic-release/github#success).
+Optional.
+Accept multiple plugins. ### fail plugin Responsible for notifying of a failed release. -Default implementation: [@semantic-release/github](https://github.com/semantic-release/github#fail). +Default implementation: [@semantic-release/github](https://github.com/semantic-release/github#fail).
+Optional.
+Accept multiple plugins. ## Configuration