From 2f97b56de19422148838e973fd1145155d9a3365 Mon Sep 17 00:00:00 2001 From: LamGC Date: Thu, 19 Aug 2021 18:35:35 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E8=B0=83=E6=95=B4=20ScriptInfo=20?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E5=B1=9E=E6=80=A7=E5=90=8D(artifact=20->=20n?= =?UTF-8?q?ame).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 调整属性名以更适配具体意义. BREAKING CHANGE: 该变更将影响旧版脚本的初始化过程. 更新方法: 将脚本对 ScriptInfo 的访问按如下进行更改. 旧版: info { artifact 'simple-script' group 'org.example' version '1.0.0' } 新版: info { name 'simple-script' group 'org.example' version '1.0.0' } 将 artifact 更改为 name 即可. --- .../oracle/sentry/script/ScriptInfo.java | 41 +++++++++++++++---- .../script/groovy/GroovyScriptInfo.java | 26 +++++++++++- 2 files changed, 57 insertions(+), 10 deletions(-) diff --git a/src/main/java/net/lamgc/oracle/sentry/script/ScriptInfo.java b/src/main/java/net/lamgc/oracle/sentry/script/ScriptInfo.java index 3e2f949..0f08701 100644 --- a/src/main/java/net/lamgc/oracle/sentry/script/ScriptInfo.java +++ b/src/main/java/net/lamgc/oracle/sentry/script/ScriptInfo.java @@ -4,29 +4,42 @@ import java.util.Objects; /** * 脚本信息. + *

脚本信息的 Group, Name 和 Version 遵循 Java 依赖管理的 GAV 坐标规则。 * @author LamGC */ public class ScriptInfo { private String group; - private String artifact; + private String name; private String version; + /** + * 获取组名. + * @return 返回组名. + */ public String getGroup() { return group; } - public String getArtifact() { - return artifact; + /** + * 获取组名. + * @return 返回组名. + */ + public String getName() { + return name; } + /** + * 获取组名. + * @return 返回组名. + */ public String getVersion() { return version; } @Override public String toString() { - return getGroup() + ":" + getArtifact() + ":" + getVersion(); + return getGroup() + ":" + getName() + ":" + getVersion(); } @Override @@ -38,22 +51,34 @@ public class ScriptInfo { return false; } ScriptInfo that = (ScriptInfo) o; - return group.equals(that.group) && artifact.equals(that.artifact) && version.equals(that.version); + return group.equals(that.group) && name.equals(that.name) && version.equals(that.version); } @Override public int hashCode() { - return Objects.hash(group, artifact, version); + return Objects.hash(group, name, version); } + /** + * 设置组名. + * @param group 新的组名. + */ public void setGroup(String group) { this.group = group; } - public void setArtifact(String artifact) { - this.artifact = artifact; + /** + * 设置脚本名称. + * @param name 设置脚本名称. + */ + public void setName(String name) { + this.name = name; } + /** + * 设置版本号. + * @param version 脚本版本号. + */ public void setVersion(String version) { this.version = version; } diff --git a/src/main/java/net/lamgc/oracle/sentry/script/groovy/GroovyScriptInfo.java b/src/main/java/net/lamgc/oracle/sentry/script/groovy/GroovyScriptInfo.java index 0a2b7ae..856f7bb 100644 --- a/src/main/java/net/lamgc/oracle/sentry/script/groovy/GroovyScriptInfo.java +++ b/src/main/java/net/lamgc/oracle/sentry/script/groovy/GroovyScriptInfo.java @@ -2,16 +2,38 @@ package net.lamgc.oracle.sentry.script.groovy; import net.lamgc.oracle.sentry.script.ScriptInfo; +/** + * 适配 Groovy 的脚本信息对象. + * @author LamGC + */ public class GroovyScriptInfo extends ScriptInfo { - public void artifact(String artifact) { - super.setArtifact(artifact); + /** + * 设置脚本名. + *

不能有空格. + * @param name 脚本名. + */ + public void name(String name) { + super.setName(name); } + /** + * 设置组名. + *

组名是脚本开发者的域名倒写, 如果你的域名是 example.com, + * 那么组名就是 com.example, 没有域名可以用 Github 的, + * io.github.[你的 Github 用户名] + * + * @param group 组名. + */ public void group(String group) { super.setGroup(group); } + /** + * 脚本版本号. + *

遵循 SemVer 版本号规范. + * @param version 当前脚本版本号. + */ public void version(String version) { super.setVersion(version); }