Skip to content

liuzhenghui/ecplugin-version-gradle-plugin

Repository files navigation

ecplugin-version-gradle-plugin

中文 | English

本项目为 Gradle 插件,用于buildrelease时自动根据 Git 推算版本号(遵循semver规范)

详细说明请查看在线文档

使用方法

plugins {
    id 'com.ecplugin.gradle.plugin.version' version '<version>'
}

执行 gradle build 或者 gradle release 可见推算版本

11:54:14: Executing 'build'...
reckon version: 0.0.3  ->  0.0.4-alpha

gradle.properties 配置 Git 信息

# git
git@gitee.com=username:password@https://gitee.com/xxx/
git@github.com=username:password@https://github.com/xxx/
  1. 若用户名或密码包含@或者:,前面增加\\。如: git@gitee.com=paul\\@gmail.com:pwd\\:111@https://gitee.com/xxx/
  2. Github 需使用 token 方式,用户名固定为PRIVATE-TOKEN,密码为 token 。如:git@github.com=PRIVATE-TOKEN:your_token@https://github.com/xxx/

方法

task 说明
build 构建
release 发布新版本,示例: gradle release -Pversion.scope=minor
可选参数:
1. version.scope: 指定递增范围,选项为 major、minor、patch(默认)
2. version.version: 指定发布版本号,将忽略推算的版本号,如1.2.0
releaseGUI 图形界面发布新版本,示例: gradle releaseGUI
image

配置参数

参数 说明
branches Git分支与版本号Stage 对应关系
branchesReleaseMergeInto 发布时自动合并新内容的分支

默认配置:

reckonVersion {
    // Git分支与版本号Stage 对应关系
    branches.empty()
            .branch(['main', 'master'], 'rc')
            .branch('test', 'beta', 'beta')
            .branch('release/**', 'rc')
            .branch('hotfix/**', 'rc')
            .branch('**', 'alpha', 'alpha')

    // 发布时自动合并新内容的分支
    branchesReleaseMergeInto = ['main', 'master', 'test', 'develop/**']
}

说明

  1. 若插件不生效,检查build.gradle是否设置了version属性。将version移除或设置为auto
group = 'com.xxx.xxx'
version = 'auto'
  1. 插件已发布至 Gradle Plugin Portal ,如提示下载失败,在settings.gradle增加配置如下:
pluginManagement {
    repositories {
        gradlePluginPortal()
        ...
    }
}
...

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published