leiningen/test
Chris Price ef4e178f81 (#2043) release task: support SNAPSHOTs on qualifiers
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.
2015-12-24 14:25:46 -08:00
..
leiningen (#2043) release task: support SNAPSHOTs on qualifiers 2015-12-24 14:25:46 -08:00
sample-connect-string Allow 'repl :connect' to read args from file 2014-08-22 18:06:23 +02:00
sample-connect-string-http Allow 'repl :connect' to read args from file 2014-08-22 18:06:23 +02:00
sample-index.zip Merge search task into mainlein. (har har) 2011-05-04 18:07:53 -07:00