Java groovy-如何处理多个点编号?
使用groovy脚本,该脚本将通过增加上一版本来计算当前产品发布版本。Java groovy-如何处理多个点编号?,java,groovy,Java,Groovy,使用groovy脚本,该脚本将通过增加上一版本来计算当前产品发布版本。 但是这个版本有多个点,比如1.2.0,需要用另一个多点数字(比如0.1.0)来增加它,如何在groovy中实现,因为似乎没有这样的数据类型。我可能会这样做。这有用吗 class Version { static final int INCREMENT_UNIT = 1; int major, minor, point; Version(String version) { String parts[] =
但是这个版本有多个点,比如1.2.0,需要用另一个多点数字(比如0.1.0)来增加它,如何在groovy中实现,因为似乎没有这样的数据类型。我可能会这样做。这有用吗
class Version {
static final int INCREMENT_UNIT = 1;
int major, minor, point;
Version(String version) {
String parts[] = version.split(".");
this.major = Integer.parseInt(parts[0]);
this.minor = Integer.parseInt(parts[1]);
this.point = Integer.parseInt(parts[2]);
}
Version incrementMajor(int unit) {
this.major += unit;
return this;
}
Version incrementMinor(int unit) {
this.minor += unit;
return this;
}
Version incrementPoint(int unit) {
this.point += unit;
return this;
}
String toString() {
return major + "." + minor + "." + point;
}
}
用例?您尝试过什么?用例是通过从git repo获取最后一个发布版本(标签),从CI计算产品的下一个发布版本。发布版本类似于3位数的1.2.0,我已经尝试过类似的方法,但我正在寻找是否有一种通用的方法来做到这一点,
def last_ver=“1.2.0”def new_ver=(((my_ver.tokenize(“.”[0]+“+my_ver.tokenize(.”[1])。toFloat()+“0.1”)。toFloat()。round(2))+“+”0”
为什么不将多点编号(字符串)拆分为多个数字(按点拆分),然后对其执行其他操作,并将其作为字符串连接,再次转换为多点编号?@adn.911这就是我正在做的事情,请参见上述注释。但我在检查是否有其他方法非常简单和通用