ef4e178f81
Prior to this commit, the `lein release` task was not really usable for releases that had qualifiers such as `-alpha1`, `-beta2`, or `-RC1`. The reason for this is that the code for parsing the semver could not handle a qualifier like `-alpha1` AND a `-SNAPSHOT` qualifier at the same time. The default `:release-tasks` include a `bump-version` at the `:release` level, and then the release, and then a `bump-version` at the `:patch` level. If you had a version that started out as `1.0.0-alpha1` *or* `1.0.0-alpha1-SNAPSHOT`, then the `:release` bump would always set the version to `1.0.0`. Then the actual release would occur, and then the `:patch` bump would take you to `1.0.1-SNAPSHOT`. With this commit, `qualifier` and `snapshot` are separated into two separate fields in the version map. This allows us to modify the `bump-version` behavior so that it works as one would expect with a qualifier like `alpha`: ```clj (is (= (bump-version "1.0.0-alpha1-SNAPSHOT" :release) "1.0.0-alpha1")) (is (= (bump-version "1.0.0-alpha1") "1.0.0-alpha2-SNAPSHOT")) ``` This allows the default `:release-tasks` setup to be used with qualifiers like alpha/beta. The commit also adds a new `level` that can be passed to the `change` task: `:qualifier`. If this level is passed, then the qualifier will be incremented instead of the major/minor/patch. It is a superset of the existing alpha/beta/RC behavior but works with arbitrary qualifier strings. |
||
---|---|---|
.. | ||
leiningen | ||
sample-connect-string | ||
sample-connect-string-http | ||
sample-index.zip |