refactor: 调整 ScriptInfo 中的属性名(artifact -> name).

调整属性名以更适配具体意义.

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 即可.
This commit is contained in:
LamGC 2021-08-19 18:35:35 +08:00
parent 608e3195ed
commit 2f97b56de1
Signed by: LamGC
GPG Key ID: 6C5AE2A913941E1D
2 changed files with 57 additions and 10 deletions

View File

@ -4,29 +4,42 @@ import java.util.Objects;
/** /**
* 脚本信息. * 脚本信息.
* <p> 脚本信息的 Group, Name Version 遵循 Java 依赖管理的 GAV 坐标规则
* @author LamGC * @author LamGC
*/ */
public class ScriptInfo { public class ScriptInfo {
private String group; private String group;
private String artifact; private String name;
private String version; private String version;
/**
* 获取组名.
* @return 返回组名.
*/
public String getGroup() { public String getGroup() {
return group; return group;
} }
public String getArtifact() { /**
return artifact; * 获取组名.
* @return 返回组名.
*/
public String getName() {
return name;
} }
/**
* 获取组名.
* @return 返回组名.
*/
public String getVersion() { public String getVersion() {
return version; return version;
} }
@Override @Override
public String toString() { public String toString() {
return getGroup() + ":" + getArtifact() + ":" + getVersion(); return getGroup() + ":" + getName() + ":" + getVersion();
} }
@Override @Override
@ -38,22 +51,34 @@ public class ScriptInfo {
return false; return false;
} }
ScriptInfo that = (ScriptInfo) o; 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 @Override
public int hashCode() { public int hashCode() {
return Objects.hash(group, artifact, version); return Objects.hash(group, name, version);
} }
/**
* 设置组名.
* @param group 新的组名.
*/
public void setGroup(String group) { public void setGroup(String group) {
this.group = 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) { public void setVersion(String version) {
this.version = version; this.version = version;
} }

View File

@ -2,16 +2,38 @@ package net.lamgc.oracle.sentry.script.groovy;
import net.lamgc.oracle.sentry.script.ScriptInfo; import net.lamgc.oracle.sentry.script.ScriptInfo;
/**
* 适配 Groovy 的脚本信息对象.
* @author LamGC
*/
public class GroovyScriptInfo extends ScriptInfo { public class GroovyScriptInfo extends ScriptInfo {
public void artifact(String artifact) { /**
super.setArtifact(artifact); * 设置脚本名.
* <p> 不能有空格.
* @param name 脚本名.
*/
public void name(String name) {
super.setName(name);
} }
/**
* 设置组名.
* <p> 组名是脚本开发者的域名倒写, 如果你的域名是 example.com,
* 那么组名就是 com.example, 没有域名可以用 Github ,
* io.github.[你的 Github 用户名]
*
* @param group 组名.
*/
public void group(String group) { public void group(String group) {
super.setGroup(group); super.setGroup(group);
} }
/**
* 脚本版本号.
* <p> 遵循 SemVer 版本号规范.
* @param version 当前脚本版本号.
*/
public void version(String version) { public void version(String version) {
super.setVersion(version); super.setVersion(version);
} }