Begin working on leiningen.release.

parse-maven-version is a modified copy of the same function found in
relaynetwork/lein-release. Also began working on unit tests.

Signed-off-by: Wayne <wayne@puppetlabs.com>
Remove some unnecessary code.

Signed-off-by: Wayne <wayne@puppetlabs.com>
Add test for version-map->string

Signed-off-by: Wayne <wayne@puppetlabs.com>
Fix version-map->string and associated test.

Adds a member to each testcase vector that represents the original version
string minus the quantifier, or just the original version string itself in the
case of the version string being an invalid maven version.

Signed-off-by: Wayne <wayne@puppetlabs.com>
Remove SCM protocol stub.
Fix up version parsing code.

Now with working tests!

Signed-off-by: Wayne <wayne@puppetlabs.com>
Clean up semver string parsing.

Signed-off-by: Wayne <wayne@puppetlabs.com>
Set project version via sjacket
Experiment with generic conventions

1. Look up functions based on "run-*" pattern
2. Support consistent argument passing scheme
3. Crude bump-version task
4. Some refactoring

Not great at structuring Clojure code, so open to tips to organise
this namespace better!
Improve interface for changing project settings
Follow separator convention, reorganise, and add some comments
Add assert-committed method to leiningen.vcs.
Automatically load methods for other leiningen.vcs systems.
Fix assert-uncommitted.
Catch qualifier in version-map->string.
Change increment-version to add snapshots where appropriate.
Implement :release-tasks.
Attempt to make types transparent across sjacket boundary

Not sure how robust this is, but looks like a step towards less annoyance / surprise
Add pending test for setting generic (nested) attributes
Implement more features, simplify interface

Too much magic in those helper functions maybe?