/git-revisions-buildtools

Automatically control tools.build based project version based on Git and system metadata.

Primary LanguageClojureOtherNOASSERTION

git-revisions for tools.build

Deploy to Clojars Clojars Project cljdoc badge

Automatically control tools.build based project version based on Git and system metadata.

Usage

  1. Add suitable base tag to repository
    git tag -a v0.0.0 -m "initial version"
  2. 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}}}
  3. 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.

License

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.