mirror of
https://github.com/apricote/releaser-pleaser.git
synced 2026-02-06 17:57:05 +00:00
refactor: let updaters define the files they want to run on
This change reverses the responsibility for which files the updaters are run on. Now each updater can specify the list of files and wether the files should be created when they do not exist yet. This simplifies the handling of each update in releaserpleaser.go, as we can just iterate over all updaters and call it for each file of that updater. Also update the flags to allow users to easily define which updaters should run.
This commit is contained in:
parent
1e9e0aa5d9
commit
0cc22af991
20 changed files with 307 additions and 151 deletions
|
|
@ -2,17 +2,21 @@
|
|||
|
||||
### Changelog
|
||||
|
||||
The Changelog is a file in the repository (`CHANGELOG.md`) that contains the [Release Notes](#release-notes) for every release of that repository. Usually, new releases are added at the top of the file.
|
||||
The Changelog is a file in the repository (
|
||||
`CHANGELOG.md`) that contains the [Release Notes](#release-notes) for every release of that repository. Usually, new releases are added at the top of the file.
|
||||
|
||||
### Conventional Commits
|
||||
|
||||
[Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) is a specification for commit messages. It is the only supported commit message schema in `releaser-pleaser`. Follow the link to learn more.
|
||||
[Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) is a specification for commit messages. It is the only supported commit message schema in
|
||||
`releaser-pleaser`. Follow the link to learn more.
|
||||
|
||||
### Forge
|
||||
|
||||
A **forge** is a web-based collaborative software platform for both developing and sharing computer applications.[^wp-forge]
|
||||
A **forge
|
||||
** is a web-based collaborative software platform for both developing and sharing computer applications.[^wp-forge]
|
||||
|
||||
Right now only **GitHub** is supported. We plan to support **GitLab** in the future ([#4](https://github.com/apricote/releaser-pleaser/issues/4)). For other forges like Forgejo or Gitea, please open an issue and submit a pull request.
|
||||
Right now only **GitHub** is supported. We plan to support **GitLab
|
||||
** in the future ([#4](https://github.com/apricote/releaser-pleaser/issues/4)). For other forges like Forgejo or Gitea, please open an issue and submit a pull request.
|
||||
|
||||
[^wp-forge]: Quote from [Wikipedia "Forge (software)"](<https://en.wikipedia.org/wiki/Forge_(software)>)
|
||||
|
||||
|
|
@ -24,7 +28,8 @@ In `releaser-pleaser` Markdown is used for most texts.
|
|||
|
||||
### Pre-release
|
||||
|
||||
Pre-releases are a concept of [SemVer](#semantic-versioning-semver). They follow the normal versioning schema but use a suffix out of `-alpha.X`, `-beta.X` and `-rc.X`.
|
||||
Pre-releases are a concept of [SemVer](#semantic-versioning-semver). They follow the normal versioning schema but use a suffix out of
|
||||
`-alpha.X`, `-beta.X` and `-rc.X`.
|
||||
|
||||
Pre-releases are not considered "stable" and are usually not recommended for most users.
|
||||
|
||||
|
|
@ -32,7 +37,9 @@ Learn more in the [Pre-releases](../guides/pre-releases.md) guide.
|
|||
|
||||
### Release Pull Request
|
||||
|
||||
A Release Pull Request is opened by `releaser-pleaser` whenever it finds releasable commits in your project. It proposes a new version number and the Changelog. Once it is merged, `releaser-pleaser` creates a matching release.
|
||||
A Release Pull Request is opened by
|
||||
`releaser-pleaser` whenever it finds releasable commits in your project. It proposes a new version number and the Changelog. Once it is merged,
|
||||
`releaser-pleaser` creates a matching release.
|
||||
|
||||
Learn more in the [Release Pull Request](../explanation/release-pr.md) explanation.
|
||||
|
||||
|
|
@ -44,4 +51,11 @@ Learn more in the [Release Notes customization](../guides/release-notes.md) guid
|
|||
|
||||
### Semantic Versioning (SemVer)
|
||||
|
||||
[Semantic Versioning](https://semver.org/) is a specification for version numbers. It is the only supported versioning schema in `releaser-pleaser`. Follow the link to learn more.
|
||||
[Semantic Versioning](https://semver.org/) is a specification for version numbers. It is the only supported versioning schema in
|
||||
`releaser-pleaser`. Follow the link to learn more.
|
||||
|
||||
### Updater
|
||||
|
||||
Updaters can update or create files that will be included in [Release Pull Request](#release-pull-request). Examples of Updaters are
|
||||
`changelog` for `CHANGELOG.md`, `generic` that can update arbitrary files and
|
||||
`packagejson` that knows how to update Node.JS `package.json` files.
|
||||
Loading…
Add table
Add a link
Reference in a new issue