maven-git-versioning-extension

This extension will set project version, based on current Git branch or tag.

GPL-3.0 License

Stars
291

Bot releases are hidden (Show)

maven-git-versioning-extension - 7.3.0

Published by qoomon over 2 years ago

Features
  • add additional version component placeholders (#165 @pdkyas)
maven-git-versioning-extension - 7.2.3

Published by qoomon almost 3 years ago

Fixes
  • fix worktree handling
maven-git-versioning-extension - 7.2.0

Published by qoomon almost 3 years ago

Features
  • Add <relatedProjects> config option
maven-git-versioning-extension - 7.1.3

Published by qoomon almost 3 years ago

Fixes
  • fix rootDirectory determination for sub working trees
maven-git-versioning-extension - 7.1.2

Published by qoomon almost 3 years ago

7.1.2

Fixes
  • proper handle of concurrent module builds
maven-git-versioning-extension - 7.1.1

Published by qoomon about 3 years ago

Fixes
  • if a tag is provided (and no branch) the extension behaves like in detached head state
  • if a branch is provided (and no tag) the extension behaves like in attached head state with no tags pointing to head
maven-git-versioning-extension - 7.1.0

Published by qoomon about 3 years ago

Features
  • New Placeholder ${commit.timestamp.year.2digit}
maven-git-versioning-extension - 7.0.0

Published by qoomon about 3 years ago

Features
  • Add GitHub Actions, GitLab CI and Jenkins environment variable support

    • GitHub Actions: if $GITHUB_ACTIONS == true, GITHUB_REF is considered
    • GitLab CI: if $GITLAB_CI == true, CI_COMMIT_BRANCH and CI_COMMIT_TAG are considered
    • Circle CI: if $CIRCLECI == true, CIRCLE_BRANCH and CIRCLE_TAG are considered
    • Jenkins: if JENKINS_HOME is set, BRANCH_NAME and TAG_NAME are considered
  • Simplify xml configuration (also see BREAKING CHANGES)

    Example: maven-git-versioning-extension.xml

    <configuration xmlns="https://github.com/qoomon/maven-git-versioning-extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="https://github.com/qoomon/maven-git-versioning-extension https://qoomon.github.io/maven-git-versioning-extension/configuration-7.0.0.xsd">
    
        <refs>
            <ref type="branch">
                <pattern>.+</pattern>
                <version>${ref}-SNAPSHOT</version>
                <properties>
                    <foo>${ref}</foo>
                </properties>
            </ref>
    
            <ref type="tag">
                <pattern><![CDATA[v(?<version>.*)]]></pattern>
                <version>${ref.version}</version>
            </ref>
        </refs>
    
        <!-- optional fallback configuration in case of no matching ref configuration-->
        <rev>
            <version>${commit}</version>
        </rev>
    
    </configuration>
    
  • New option to consider tag configs on branches (attached HEAD), enabled by <refs considerTagsOnBranches="true">

    • If enabled, first matching branch or tag config will be used for versioning
  • prevent unnecessary updates of pom.xml to prevent unwanted rebuilds (#129 kudos to @ls-urs-keller)

BREAKING CHANGES
  • There is no default config anymore, if no <ref> configuration is matching current git situation and no <rev> configuration has been
    defined a warning message will be logged and extension will be skipped.
  • Placeholder Changes (old -> new)
    • ${branch} -> ${ref}
    • ${tag} -> ${ref}
    • ${REF_PATTERN_GROUP} -> ${ref.REF_PATTERN_GROUP}
    • ${describe.TAG_PATTERN_GROUP} -> ${describe.tag.TAG_PATTERN_GROUP}
  • preferTags option was removed
    • use <refs considerTagsOnBranches="true"> instead
maven-git-versioning-extension - 6.5.0

Published by qoomon over 3 years ago

  • Features

    • add git describe version placeholders
      • new placeholders
        • ${describe}
        • ${describe.tag}
          • ${describe.<TAG_PATTERN_GROUP_NAME or TAG_PATTERN_GROUP_INDEX>} e.g. pattern v(?<version>.*) will create placeholder ${describe.version}
        • ${describe.distance}
  • BREAKING CHANGES

    • no longer provide project property git.dirty due to performance issues on larger projects,
      version format placeholder ${dirty} is still available
maven-git-versioning-extension - 6.4.6

Published by qoomon over 3 years ago

Fix parent project handling

maven-git-versioning-extension -

Published by qoomon over 3 years ago

maven-git-versioning-extension - 6.4.1

Published by qoomon over 3 years ago

  • Fixes
    • Handle xsi:schemaLocation property in configuration file
maven-git-versioning-extension - 6.4.0

Published by qoomon over 3 years ago

Improve logs

maven-git-versioning-extension - 6.3.0

Published by qoomon over 3 years ago

feat: support for environment variables in version formats

maven-git-versioning-extension - Fix handling of empty groupId in plugins

Published by qoomon over 3 years ago

maven-git-versioning-extension - Handle ambiguous dependencies

Published by qoomon over 3 years ago

Bugfixes

  • handle ambiguous dependencies #96
maven-git-versioning-extension - 6.2.0

Published by qoomon over 3 years ago

  • Features
    • add ability to define default or overwrite values for version and property format.
      • default value if parameter value is not set ${paramter:-<DEFAULT_VALUE>} e.g. ${buildNumber:-0}
      • overwrite value if parameter has a value ${paramter:+<OVERWRITE_VALUE>} e.g. ${dirty:+-SNAPSHOT}
maven-git-versioning-extension -

Published by qoomon over 4 years ago

maven-git-versioning-extension - Easy config

Published by qoomon over 4 years ago

5.0.0

Features

  • simplify <property> replacement configuration

Fixes

  • add missing dependency vor maven version 3.3

Breaking Changes

  • simplify <property> replacement configuration

    new config

    <gitVersioning>
        <branch>
            <pattern>master</pattern>
            <versionFormat>${version}</versionFormat>
            <property>
                <pattern>revision</pattern>
                <valueFormat>${branch-SNAPSHOT}</valueFormat>
            </property>
        </branch>
    </gitVersioning>
    

    old config

    <gitVersioning>
        <branch>
            <pattern>master</pattern>
            <versionFormat>${version}</versionFormat>
            <property>
                <pattern>revision</pattern>
                <value>
                    <format>${branch-SNAPSHOT}</format>
                </value>
            </property>
        </branch>
    </gitVersioning>
    
maven-git-versioning-extension - Back to the root

Published by qoomon over 4 years ago

  • restrict project versioning to root- and sub-projects
  • fix verbose logging when disabling extension by flag