Automatically control tools.build based project version based on Git and system metadata.
This library is no longer maintained, but remains functional. Its latest published version can be considered feature complete and has proven to be stable. If you need to modify the library in any way, do consider forking.
- Add suitable base tag to repository
git tag -a v0.0.0 -m "initial version"
- Add library dependency to
deps.edn
{:deps {...} :aliases {:build {:extra-deps {io.github.clojure/tools.build {:git/tag "v0.8.2" :git/sha "ba1a2bf"} fi.polycode/buildtools-git-revisions {:mvn/version "0.1.0"}}} :ns-default build}}}
- Use the library in your build script
(ns build (:require [git-revisions.buildtools :as rev] ...)) (def next-version (rev/generate-revision {:configuration {:format :semver :adjust [:env/revision_adjustment :minor] :revision-file "resources/metadata.edn"}})) ; next-version now contains the next revision of the project as per configuration
Further configuration options are described in depth at git-revisions core library's README.
Copyright © 2022 Esko Suomi
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version, with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.