Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Discuss] the package name & maven groupId & version number #761

Closed
fangjian0423 opened this issue Jul 17, 2019 · 61 comments
Closed

[Discuss] the package name & maven groupId & version number #761

fangjian0423 opened this issue Jul 17, 2019 · 61 comments
Labels
kind/discussion Mark as discussion issues/pr

Comments

@fangjian0423
Copy link
Contributor

fangjian0423 commented Jul 17, 2019

[Discuss] the package name & maven groupId & version number

Hi, everyone! now spring-cloud-alibaba have moved away from spring-cloud repository.

The official policy will be announced in the future by spring-cloud team to explain why spring-cloud-alibaba move away from spring-cloud repository.

The package name will be changed from org.springframework.cloud.alibaba to com.alibaba.cloud.

The maven groupId change from org.springframework.cloud to com.alibaba.cloud. maven artifactId will be keep, we think the fewer modification the better.

since the package name & maven groupId modification, the version number will be changed. This is the mapping table between version number modification and Spring Cloud version number.

Spring Cloud Alibaba Version before change Spring Cloud Alibaba Version after change Spring Cloud Version
0.1.x 1.0.x Spring Cloud Edgware
0.2.x 1.1.x Spring Cloud Finchley
0.9.x 1.2.x Spring Cloud Greenwich

These modifications will effect the usage of spring-cloud-alibaba, we need the suggestions about package name & maven groupId & version number from community, please reply & discuss in the issue.

[讨论] 关于包名 & maven groupId & 版本号的修改

大家好,spring-cloud-alibaba 目前已经从 spring-cloud 的 github 仓库迁移到了 alibaba 仓库下。

spring-cloud 团队会在未来发出官方的公告解释为什么 spring-cloud-alibaba 会迁移到 alibaba 仓库下。

迁移意味着修改,下面是一些改动点的说明。

包名从 org.springframework.cloud.alibaba 变成 com.alibaba.cloud

maven groupId 从 org.springframework.cloud 变成 com.alibaba.cloud. maven artifactId 会保持原有的名字,我们认为我们改的越少,大家的改动也就越少。

由于包名和 maven groupId 进行了修改,版本号也需要进行修改,这是版本号修改前后跟 Spring Cloud 版本号的映射关系表:

Spring Cloud Alibaba 修改前的版本 Spring Cloud Alibaba 修改后的版本 Spring Cloud 版本
0.1.x 1.0.x Spring Cloud Edgware
0.2.x 1.1.x Spring Cloud Finchley
0.9.x 1.2.x Spring Cloud Greenwich

这些包名和 maven groupId 以及版本号的修改会影响目前 spring-cloud-alibaba 的使用者,我们需要社区的意见,也想听听社区的声音。大家可以在 issue 里进行答复和讨论。

@fangjian0423 fangjian0423 pinned this issue Jul 17, 2019
@fangjian0423 fangjian0423 added the kind/discussion Mark as discussion issues/pr label Jul 17, 2019
@xiejiashuai
Copy link
Contributor

This looks very good. Well Done.

@zxhans
Copy link

zxhans commented Jul 17, 2019

perfect

@caorenpeng-kaer
Copy link

我觉得OK,希望阿里巴巴 越来越好

@killersteps
Copy link

The promotion of nacos products is obviously lagging behind with other components. Can we speed up the iteration?

@nisiyong
Copy link

com.alibaba.cloud感觉这个名字含义太大了,有点歧义。这里的cloud其实是特定spring而言

@vikenlove
Copy link

唯一的建议 是希望 其他如nacos、seata sentinel dubbo 等 cloud 依赖POM版本号能及时更新。是在是更新的太慢了。导致无法升级。

@senzhu
Copy link

senzhu commented Jul 17, 2019

com.alibaba.springframework.cloud

@lltx
Copy link
Collaborator

lltx commented Jul 17, 2019

前排支持!

@zhendong590
Copy link
Contributor

666

@yanzhaohu
Copy link

非常好,希望未来有一个完整的独立的微服务体系,赶超spring cloud!

@eacdy
Copy link
Contributor

eacdy commented Jul 17, 2019

我认为如果

前版本 After
0.1 1.0
0.2 1.1
0.3 1.2

这样的方式有点模糊,特别是对使用0.9的童鞋来说,很可能会懵。

正常的逻辑,1.0比0.9新,应该支持更高版本;但却不是这样……

我建议采用类似Spring Cloud的版本命名方式:

前版本 After
0.1 Edgware
0.2 Finchley
0.9 Greenwich

这样相对清晰一些。

@weixing1204
Copy link

包名改了之后,感觉像是alibaba的云组件,跟spring-cloud没啥关系了。
不知道这样改了之后,最终还是按照spring-cloud的标准,还是会脱离spring-cloud,发展自己标准的微服务组件?

@fangjian0423
Copy link
Contributor Author

包名改了之后,感觉像是alibaba的云组件,跟spring-cloud没啥关系了。
不知道这样改了之后,最终还是按照spring-cloud的标准,还是会脱离spring-cloud,发展自己标准的微服务组件?

并没有脱离 spring-cloud,跟 spring cloud 官方还是合作的关系,可以参考 spring-cloud leader spencer 的留言: #739 (comment)

@fangjian0423
Copy link
Contributor Author

The promotion of nacos products is obviously lagging behind with other components. Can we speed up the iteration?

now we have our own release train, we can release new version by ourselves.

but we must make sure the modifications about pkg name & maven groupId & version number, it can't be changed if we use these new value.

@penghao03
Copy link

penghao03 commented Jul 17, 2019

包名,groupId 我觉得ok,关于版本号,有个个人想法:是不是可以参考sb和sc的版本号规律,毕竟sca三个主版本是根据sb和sc的不同版本来区分的;如果是1.0/1.1/1.2可能还需要专门理解相应的版本对应关系,对于刚接触的来说并不是太友好,何不如遵照sb的版本特点:

before After
0.1 1.5.x
0.2 2.0.x
0.9 2.1.x

第三位x可以根据alibaba体系下各个组件的版本迭代速度来自由把控;

也可以像上面周立大佬说的

前版本 After
0.1 Edgware
0.2 Finchley
0.9 Greenwich

哈哈,个人意见,大佬勿喷!

@Isaac-Zhang
Copy link

Isaac-Zhang commented Jul 18, 2019

是否修改个人建议是找到或者可以给筒子们阐述一下为什么要修改?

  1. 目前来看,修改为com.alibaba.cloud确实会带来很大的歧义,毕竟这里的cloud 和我们常用的ali cloud很容易混淆。
  2. 从长远来说,这样的修改意义非凡,但是不要像17年之前的dubbo一样'伟'了...广大国内用户其实蛮希望能出一个领头羊来做技术演进的( 顺便帮小马哥打call:-) )...而且目前阿里是首选也是唯一。
  3. 培养用户转变spring cloudalibaba cloud的难度系数多大,如何能加速落地,增强认知。

@Isaac-Zhang
Copy link

The project did not get kicked out :-) One of the reasons for the move is so that the Alibaba team is not bottlenecked by the spring team for releases. By moving to their own org, they are administrators of the project and #734 allows Alibaba to perform their own releases using their own maven coordinates. Look for continued cooperation, joint blog posts announcing releases and more!

看到这个,我理解的迁移项目是因为release受阻,确实没看出来为什么要改groupId & version...

@Lovnx
Copy link

Lovnx commented Jul 18, 2019

同觉得版本没有什么辨识度!

before After
0.1 1.5.x
0.2 2.0.x
0.9 2.1.x

既然SC官方用伦敦地铁站来命名版本,那我们可以用北京地铁站或者中国地名啊等等,比如这样

前版本 SC SCA version .......
0.1 Edgware xiErqi(西二旗) Erguotou(二锅头)
0.2 Finchley Fuxingmen(复兴门) Fenjiu(汾酒)
0.9 Greenwich yongheGong(雍和宫) Guihuajiu(桂花酒)

总之。。。就是一些中国元素了。。。

@fangjian0423
Copy link
Contributor Author

The project did not get kicked out :-) One of the reasons for the move is so that the Alibaba team is not bottlenecked by the spring team for releases. By moving to their own org, they are administrators of the project and #734 allows Alibaba to perform their own releases using their own maven coordinates. Look for continued cooperation, joint blog posts announcing releases and more!

看到这个,我理解的迁移项目是因为release受阻,确实没看出来为什么要改groupId & version...

  1. release 受阻只是其中一个原因
  2. �maven central 发版本,不同的 org 是有不同的账号的,无法跨 org 发版本。所以必须切换成 alibaba oss 对应的 groupId。 version 的话因为 pkg name & maven coordinate 都改了,换个全新的版本号更加适合

@Isaac-Zhang
Copy link

The project did not get kicked out :-) One of the reasons for the move is so that the Alibaba team is not bottlenecked by the spring team for releases. By moving to their own org, they are administrators of the project and #734 allows Alibaba to perform their own releases using their own maven coordinates. Look for continued cooperation, joint blog posts announcing releases and more!

看到这个,我理解的迁移项目是因为release受阻,确实没看出来为什么要改groupId & version...

  1. release 受阻只是其中一个原因
  2. �maven central 发版本,不同的 org 是有不同的账号的,无法跨 org 发版本。所以必须切换成 alibaba oss 对应的 groupId。 version 的话因为 pkg name & maven coordinate 都改了,换个全新的版本号更加适合

http://maven.aliyun.com/mvn/ 作为主 maven central,让他们follow us. ( ̀⌄ ́)

@liudaomanbu
Copy link
Contributor

liudaomanbu commented Jul 18, 2019

The project did not get kicked out :-) One of the reasons for the move is so that the Alibaba team is not bottlenecked by the spring team for releases. By moving to their own org, they are administrators of the project and #734 allows Alibaba to perform their own releases using their own maven coordinates. Look for continued cooperation, joint blog posts announcing releases and more!

看到这个,我理解的迁移项目是因为release受阻,确实没看出来为什么要改groupId & version...

  1. release 受阻只是其中一个原因
  2. �maven central 发版本,不同的 org 是有不同的账号的,无法跨 org 发版本。所以必须切换成 alibaba oss 对应的 groupId。 version 的话因为 pkg name & maven coordinate 都改了,换个全新的版本号更加适合

个人感觉com.alibaba.cloud也是有点误导性的包名,感觉像是阿里云体系一样的概念.
虽然有org的relase问题,所以必须以com.alibaba开头.
那是不是可以考虑包名是com.alibaba.springframework.cloud?
这样能够让人明白这不是阿里云体系而是spring cloud体系?

@liaocanjie
Copy link

别争了,用汉字做版本号。

@iwhalecloud-platform
Copy link

我觉得alibaba-cloud算spring-cloud里面的一个体系,基于spring-cloud来的。首先包名没有spring-cloud,这样感觉是跟spring-cloud平等的。其实不是。还有版本 我觉得还是跟spring-cloud走,不要用数字。如果使用数字1.x、2.x ,会让不懂的人无法跟spring-cloud版本做映射。还要去百度才知道。

@GreedyPirate
Copy link

关于版本号,个人支持用数字做版本号,简单直观,对新人友好,也容易表示小版本,而且我很好奇SC 26个字母用完了该用啥

@xiejiashuai
Copy link
Contributor

别争了,用汉字做版本号。

我觉得alibaba-cloud算spring-cloud里面的一个体系,基于spring-cloud来的。首先包名没有spring-cloud,这样感觉是跟spring-cloud平等的。其实不是。还有版本 我觉得还是跟spring-cloud走,不要用数字。如果使用数字1.x、2.x ,会让不懂的人无法跟spring-cloud版本做映射。还要去百度才知道。

  • 版本号确实使用官方的英文字母让新手更加容易上手,用户体验度更好

@novicezk
Copy link

数字版本号+1 , 文档首页写明跟 Spring Cloud 版本号的映射关系就好了

@slievrly
Copy link
Member

可否直接使用spring cloud的版本号,E,F,G系列,这样减少了版本对齐的思维转换,更贴近spring cloud.

@killersteps
Copy link

I believe that more than one person is curious: why can netflix still use the package name of org.springframework.cloud.netflix, but alibaba does not, is it just because of release? Or because of some other reasons for project incubation, Sorry, some of the previous dubbo things affected the view of this matter.
The point is: why is netflix still available?like ribbon, etc.

  • I think the answer is this netlifx oss has already been used widely,once moved from spring cloud can cause to many users to changed

As said, the so-called spring requirements change becomes meaningless because there is no concept of "unification"

  • Hours ago ,I ask Spencer Gibb same question , his answer is following

    • Because the spring team maintains them and owns springframework.org

So? Netfilx also needs to be changed?

@fangjian0423
Copy link
Contributor Author

fangjian0423 commented Jul 19, 2019

天干地支,简称为干支,源自中国远古时代对天象的观测。

版本号使用 "天干地支" 是个不错的建议:

十天干:
甲(jiǎ)、乙(yǐ)、丙(bǐng)、丁(dīng)、戊(wù)、己(jǐ)、庚(gēng)、辛(xīn)、壬(rén)、癸(guǐ)

十二地支:
子(zǐ)、丑(chǒu)、寅(yín)、卯(mǎo)、辰(chén)、巳(sì)、午(wǔ)、未(wèi)、申(shēn)、酉(yǒu)、戌(xū)、亥(hài)。其中子、寅、辰、午、申、戌为阳支,丑、卯、巳、未、酉、亥为阴支

十二地支对应十二生肖,十二生效也有对应的英文名:

地支和生肖的对应关系: 子-鼠,丑-牛,寅-虎,卯-兔,辰-龙,巳-蛇, 午-马,未-羊,申-猴,酉-鸡,戌-狗,亥-猪。

生肖英文名: Rat 鼠,Ox 牛,Tiger 虎,Rabbit 兔,Dragon 龙,Snake 蛇,Horse 马,Goat 羊,Monkey 猴,Rooster 鸡,Dog 狗,Boar 猪

更加倾向于选择十二生肖 😁

从 Edgware 开始支持, Rat 支持 Edgware, Ox 支持 Finchley, Tiger 支持 Greenwich,Rabbit 支持 Hoxton ....

@Lovnx
Copy link

Lovnx commented Jul 19, 2019

天干地支,简称为干支,源自中国远古时代对天象的观测。

版本号使用 "天干地支" 是个不错的建议:

十天干:
甲(jiǎ)、乙(yǐ)、丙(bǐng)、丁(dīng)、戊(wù)、己(jǐ)、庚(gēng)、辛(xīn)、壬(rén)、癸(guǐ)

十二地支:
子(zǐ)、丑(chǒu)、寅(yín)、卯(mǎo)、辰(chén)、巳(sì)、午(wǔ)、未(wèi)、申(shēn)、酉(yǒu)、戌(xū)、亥(hài)。其中子、寅、辰、午、申、戌为阳支,丑、卯、巳、未、酉、亥为阴支

十二地支对应十二生肖,十二生效也有对应的英文名:

地支和生肖的对应关系: 子-鼠,丑-牛,寅-虎,卯-兔,辰-龙,巳-蛇, 午-马,未-羊,申-猴,酉-鸡,戌-狗,亥-猪。

生肖英文名: Rat 鼠,Ox 牛,Tiger 虎,Rabbit 兔,Dragon 龙,Snake 蛇,Horse 马,Goat 羊,Monkey 猴,Rooster 鸡,Dog 狗,Boar 猪

更加倾向于选择十二生肖 😁

从 Edgware 开始支持, Rat 支持 Edgware, Ox 支持 Finchley, Tiger 支持 Greenwich,Rabbit 支持 Hoxton ....

感觉要首字母相同才好😁
还真不好找。。。

@fangjian0423
Copy link
Contributor Author

天干地支,简称为干支,源自中国远古时代对天象的观测。
版本号使用 "天干地支" 是个不错的建议:
十天干:
甲(jiǎ)、乙(yǐ)、丙(bǐng)、丁(dīng)、戊(wù)、己(jǐ)、庚(gēng)、辛(xīn)、壬(rén)、癸(guǐ)
十二地支:
子(zǐ)、丑(chǒu)、寅(yín)、卯(mǎo)、辰(chén)、巳(sì)、午(wǔ)、未(wèi)、申(shēn)、酉(yǒu)、戌(xū)、亥(hài)。其中子、寅、辰、午、申、戌为阳支,丑、卯、巳、未、酉、亥为阴支
十二地支对应十二生肖,十二生效也有对应的英文名:
地支和生肖的对应关系: 子-鼠,丑-牛,寅-虎,卯-兔,辰-龙,巳-蛇, 午-马,未-羊,申-猴,酉-鸡,戌-狗,亥-猪。
生肖英文名: Rat 鼠,Ox 牛,Tiger 虎,Rabbit 兔,Dragon 龙,Snake 蛇,Horse 马,Goat 羊,Monkey 猴,Rooster 鸡,Dog 狗,Boar 猪
更加倾向于选择十二生肖 😁
从 Edgware 开始支持, Rat 支持 Edgware, Ox 支持 Finchley, Tiger 支持 Greenwich,Rabbit 支持 Hoxton ....

感觉要首字母相同才好😁
还真不好找。。。

如果选择中国特色的东西的话,首字母确实是不好对上的。

不过感觉还可以,Edgware 开始支持,从十二生肖 Rat 鼠可以。 😁

@khiker007
Copy link

when the new version will release is my only want to know

fangjian0423 added a commit to fangjian0423/spring-cloud-alibaba that referenced this issue Jul 23, 2019
fangjian0423 added a commit to fangjian0423/spring-cloud-alibaba that referenced this issue Jul 23, 2019
fangjian0423 added a commit to fangjian0423/spring-cloud-alibaba that referenced this issue Jul 24, 2019
fangjian0423 added a commit to fangjian0423/spring-cloud-alibaba that referenced this issue Jul 24, 2019
@fangjian0423
Copy link
Contributor Author

@ACANX
Copy link

ACANX commented Jul 25, 2019

关于版本号,个人支持用数字做版本号,简单直观,对新人友好,也容易表示小版本,而且我很好奇SC 26个字母用完了该用啥

参考Ubuntu使用两位首字母作版本号

@fangjian0423
Copy link
Contributor Author

目前决定 bom 版本号采用跟 Spring Cloud 一样的伦敦地铁站名,starter & 模块版本号采用数字:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>Greenwich.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Greenwich.RELEASE 内部的 starter 版本号为 1.2.x:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>1.2.0</version>
</dependency>

版本对应关系:

Spring Cloud Alibaba Bom 版本号 Starter & 模块名 版本号 Spring Cloud 版本号
Spring Cloud Alibaba Edgware 1.0.x Spring Cloud Edgware
Spring Cloud Alibaba Finchley 1.1.x Spring Cloud Finchley
Spring Cloud Alibaba Greenwich 1.2.x Spring Cloud Greenwich

@fangjian0423
Copy link
Contributor Author

由于两边版本节奏不一样,以 Greenwich 为例

Spring Cloud Alibaba Bom 版本号 Starter & 模块名 版本号 Spring Cloud 版本号
Spring Cloud Alibaba Greenwich.RELEASE 1.0.0 Spring Cloud Greenwich.SR2
Spring Cloud Alibaba Greenwich.SR1 1.0.1 Spring Cloud Greenwich.SR3
Spring Cloud Alibaba Greenwich.SR2 1.0.2 Spring Cloud Greenwich.SR3
Spring Cloud Alibaba Greenwich.SR3 1.0.3 Spring Cloud Greenwich.SR4

虽然都是 Greenwich 大版本,但是小版本号不一样。以 Spring Cloud Greenwich.SR4 为例,需要记住 Spring Cloud Alibaba 的版本为 Greenwich.SR3,Starter & 模块名版本为 1.0.3。这样需要记住 3 个版本号。

参考孵化器时的做法,Bom 的版本号跟 Starter & 模块名 版本号一致。这样需要记住 2 个版本号:

Spring Cloud Alibaba Bom 版本号 Starter & 模块名 版本号 Spring Cloud 版本号
Spring Cloud Alibaba 1.0.0 1.0.0 Spring Cloud Greenwich.SR2
Spring Cloud Alibaba 1.0.1 1.0.1 Spring Cloud Greenwich.SR3
Spring Cloud Alibaba 1.0.2 1.0.2 Spring Cloud Greenwich.SR4

@romeoblog
Copy link

只需记住 2 个版本号 比 记住 3 个版本号 显得更方便直接

@flystar32
Copy link
Member

flystar32 commented Jul 29, 2019

倾向于这种模式的,请给这条回复点赞。

Spring Cloud Alibaba Bom 版本号 Starter & 模块名 版本号 Spring Cloud 版本号
Spring Cloud Alibaba 1.0.x 1.0.x Spring Cloud Edgware
Spring Cloud Alibaba 1.1.x 1.1.x Spring Cloud Finchley
Spring Cloud Alibaba 1.2.x 1.2.x Spring Cloud Greenwich

这种模式,参考了之前 Spring Cloud GCP 和 Spring Cloud Kubernetes 的方式。

@flystar32
Copy link
Member

flystar32 commented Jul 29, 2019

倾向于这种模式的,请给这条回复点赞。

Spring Cloud Alibaba Bom 版本号 Starter & 模块名 版本号 Spring Cloud 版本号
Spring Cloud Alibaba 1.5.x 1.5.x Spring Cloud Edgware
Spring Cloud Alibaba 2.0.x 2.0.x Spring Cloud Finchley
Spring Cloud Alibaba 2.1.x 2.1.x Spring Cloud Greenwich

这个模式,SCA 的版本号与 Spring Boot 的版本号有一个对应关系。

@HaojunRen
Copy link
Collaborator

HaojunRen commented Jul 30, 2019

倾向于这种模式的,请给这条回复点赞。

Spring Cloud Alibaba Bom 版本号 Starter & 模块名 版本号 Spring Cloud 版本号
Spring Cloud Alibaba 1.x 1.x Spring Cloud Edgware
Spring Cloud Alibaba 2.x 2.x Spring Cloud Finchley
Spring Cloud Alibaba 3.x 3.x Spring Cloud Greenwich

E版1.x,F版2.x,G版3.x,H版4.x...一目了然

1.0.x,1.1.x,1.2.x方式也有缺陷,无论到多少年,SCA大版本号永远是1。不懂的人以为SCA永远没在升级。
建议E版1.x,F版2.x,G版3.x,H版4.x...这样就更加一目了然

我觉得还是要在一定的原则下设计版本号,这个原则是“以我为主”,即按照自己的版本号规则即可,不用强制绑定spring boot或spring cloud版本。x.y.z;x代表重大架构/设计变化;y代表不兼容的升级或特性;z代表兼容的bug修改或特性升级;
只要在readme显著位置以表格形式标明spring-cloud-alibaba和spring cloud版本兼容关系和推荐组合即可

由于spring cloud E版本的特殊性(长期维护到spring boot 1.5.x EOL) 1.0.0 对应 spring boot 1.5.x 和 spring cloud E

2.0.0 对应 spring boot 2.x 和 spring cloud F版本及以上,如果spring-cloud-alibaba不用修改代码即可兼容spring cloud G则不升级版本

如果由于架构或设计发生重大变化,即使对应的兼容spring cloud版本没有发生变化,我们自己也可以独立升级大版本 例如 2.0.0 和 3.0.0 都对应 spring cloud G

@HaojunRen

This comment has been minimized.

@flystar32
Copy link
Member

flystar32 commented Jul 30, 2019

倾向于这种模式的,请给这条回复点赞。

Spring Cloud Alibaba Bom 版本号 Starter & 模块名 版本号 Spring Cloud 版本号
Spring Cloud Alibaba Edgware.x Edgware.x Spring Cloud Edgware
Spring Cloud Alibaba Finchley.x Finchley.x Spring Cloud Finchley
Spring Cloud Alibaba Greenwich.x Greenwich.x Spring Cloud Greenwich

这个模式,SCA 的版本号与 Spring Cloud 的版本号有一个对应关系。
缺点是 后面的 x 会与 Spring Cloud 的 SR1 、SR2 这样不同步

@flystar32
Copy link
Member

1.0.x,1.1.x,1.2.x方式也有缺陷,无论到多少年,SCA大版本号永远是1。不懂的人以为SCA永远没在升级。
建议E版1.x,F版2.x,G版3.x,H版4.x...这样就更加一目了然

好的,我把你的原贴编辑一下,也参与到投票中。

@liresky
Copy link

liresky commented Jul 30, 2019

版本号的要求其实就是简单易懂,一看就知道怎么个情况,再说清楚点,就是你看到SCA的版本号就知道对应的SpringCloud的版本。起码大版本应该是比较清楚的。但是其内部还牵扯的一个就是SpringBoot的版本。SpringCloud决定了整体技术路线,SpringBoot可以决定一些具体的编码特性和细节。所以个人觉得从易读性考虑,能把SpringBoot和SpringCloud的信息能直接表达出来最好。
单纯来看,数字是最好的选择。

倾向于这种模式的,请给这条回复点赞。

Spring Cloud Alibaba Bom 版本号 Starter & 模块名 版本号 Spring Cloud 版本号
Spring Cloud Alibaba 1.x 1.x Spring Cloud Edgware
Spring Cloud Alibaba 2.x 2.x Spring Cloud Finchley
Spring Cloud Alibaba 3.x 3.x Spring Cloud Greenwich

E版1.x,F版2.x,G版3.x,H版4.x...一目了然

Spring Cloud Alibaba Bom 版本号 Starter & 模块名 版本号 Spring Cloud 版本号
Spring Cloud Alibaba 1.x.y 1.x Spring Cloud Edgware
Spring Cloud Alibaba 2.x.y 2.x Spring Cloud Finchley
Spring Cloud Alibaba 3.x.y 3.x Spring Cloud Greenwich

1.x与Starter保持同步,y这个代表SCA的自我修复版本。在别人的基础上加上bug修复版本

@charlesvhe
Copy link

我觉得还是要在一定的原则下设计版本号,这个原则是“以我为主”,即按照自己的版本号规则即可,不用强制绑定spring boot或spring cloud版本。x.y.z;x代表重大架构/设计变化;y代表不兼容的升级或特性;z代表兼容的bug修改或特性升级;
只要在readme显著位置以表格形式标明spring-cloud-alibaba和spring cloud版本兼容关系和推荐组合即可

由于spring cloud E版本的特殊性(长期维护到spring boot 1.5.x EOL) 1.0.0 对应 spring boot 1.5.x 和 spring cloud E

2.0.0 对应 spring boot 2.x 和 spring cloud F版本及以上,如果spring-cloud-alibaba不用修改代码即可兼容spring cloud G则不升级版本

如果由于架构或设计发生重大变化,即使对应的兼容spring cloud版本没有发生变化,我们自己也可以独立升级大版本 例如 2.0.0 和 3.0.0 都对应 spring cloud G

Spring Cloud Alibaba Bom 版本号 Starter & 模块名 版本号 Spring Cloud 版本号 修改内容
Spring Cloud Alibaba 1.0.0 1.x Spring Cloud Edgware spring cloud E初始版本
Spring Cloud Alibaba 1.0.1 1.x Spring Cloud Edgware spring-cloud-alibaba-nacos-config组件安全升级
Spring Cloud Alibaba 2.0.0 2.x Spring Cloud Finchley spring cloud F初始版本
Spring Cloud Alibaba 2.1.0 2.x Spring Cloud Greenwich spring cloud G初始版本
Spring Cloud Alibaba 3.0.0 3.x Spring Cloud Finchley and Greenwich 重大架构设计升级 兼容spring cloud F和G

@flystar32
Copy link
Member

我觉得还是要在一定的原则下设计版本号,这个原则是“以我为主”,即按照自己的版本号规则即可,不用强制绑定spring boot或spring cloud版本。x.y.z;x代表重大架构/设计变化;y代表不兼容的升级或特性;z代表兼容的bug修改或特性升级;
只要在readme显著位置以表格形式标明spring-cloud-alibaba和spring cloud版本兼容关系和推荐组合即可

由于spring cloud E版本的特殊性(长期维护到spring boot 1.5.x EOL) 1.0.0 对应 spring boot 1.5.x 和 spring cloud E

2.0.0 对应 spring boot 2.x 和 spring cloud F版本及以上,如果spring-cloud-alibaba不用修改代码即可兼容spring cloud G则不升级版本

如果由于架构或设计发生重大变化,即使对应的兼容spring cloud版本没有发生变化,我们自己也可以独立升级大版本 例如 2.0.0 和 3.0.0 都对应 spring cloud G

Spring Cloud Alibaba Bom 版本号 Starter & 模块名 版本号 Spring Cloud 版本号 修改内容
Spring Cloud Alibaba 1.0.0 1.x Spring Cloud Edgware spring cloud E初始版本
Spring Cloud Alibaba 1.0.1 1.x Spring Cloud Edgware spring-cloud-alibaba-nacos-config组件安全升级
Spring Cloud Alibaba 2.0.0 2.x Spring Cloud Finchley spring cloud F初始版本
Spring Cloud Alibaba 2.1.0 2.x Spring Cloud Greenwich spring cloud G初始版本
Spring Cloud Alibaba 3.0.0 3.x Spring Cloud Finchley and Greenwich 重大架构设计升级 兼容spring cloud F和G

很好的建议,我把你这条也加入到投票中。和 @HaojunRen 的那条合并了,免得分散了票数。

@heqq-github
Copy link

E版 1.x,F版 2.x,G 版 3.x,H 版 4.x...

@fangjian0423
Copy link
Contributor Author

Thanks for the vote.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/discussion Mark as discussion issues/pr
Projects
None yet
Development

No branches or pull requests