Smalltalk 如何使用依赖于基线的#开发版本定义ConfigurationOf?
在Pharo中,我想定义一个Metacello的Smalltalk 如何使用依赖于基线的#开发版本定义ConfigurationOf?,smalltalk,pharo,squeak,metacello,Smalltalk,Pharo,Squeak,Metacello,在Pharo中,我想定义一个Metacello的ConfigurationOfAnd2Testis,它只有一个包: ConfigurationOfNand2Tetris>>baseline01: spec <version: '0.1-baseline'> spec for: #common do: [ spec blessing: #baseline; repository: 'http://www
ConfigurationOfAnd2Testis
,它只有一个包:
ConfigurationOfNand2Tetris>>baseline01: spec
<version: '0.1-baseline'>
spec
for: #common
do: [
spec
blessing: #baseline;
repository: 'http://www.smalltalkhub.com/mc/DamienCassou/Nand2Tetris/main';
package: 'Nand2Tetris' ]
ConfigurationOfNand2Tetris>>development: spec
<symbolicVersion: #development>
spec for: #common version: '0.1-baseline'.
ConfigurationOfAnd2Testis>>基线01:spec
规格
适用于:#普通
do:[
规格
祝福:#基线;
存储库:'http://www.smalltalkhub.com/mc/DamienCassou/Nand2Tetris/main';
软件包:“NAND2TTERIS”]
And2Testis的配置>>开发:规范
规格:#通用版本:“0.1-baseline”。
当我执行MetacelloToolBox validateConfiguration:ConfigurationOfAnd2Testis
时,我总是收到两条警告:
- 警告:符号版本#开发是指版本“0.1-baseline”,其祝福#基线不是#开发{notDevelopmentVersion}[#validateVersionSpecForSymbolicVersion:symbolicVersion:]
- 警告:仅定义了基线(未定义版本)。{onlyBaselineVersion}[#validatePragmas]
\versionN:
方法:
ConfigurationOfNand2Tetris>>version01: spec
<version: '0.1' imports: #('0.1-baseline')>
spec
for: #common do: [
spec
blessing: #baseline;
package: 'Nand2Tetris' with: 'Nand2Tetris-yourname.22'].
configurationofnand2testis>>版本01:spec
规格
for:#常用do:[
规格
祝福:#基线;
软件包:'NAND2TTERIS'带有:'NAND2TTERIS yourname.22']。
我想你忘了实施:
ConfigurationOfNand2Tetris>>version01: spec
<version: '0.1' imports: #('0.1-baseline' )>
spec for: #'common' do: [
spec blessing: #'development'.
spec description: 'some description'.
spec author: 'yourName'.
spec timestamp: '1/15/2013 16:13'.
spec
package: 'Nand2Tetris' with: 'Nand2Tetris-yourName.versionNumber']
configurationofnand2testis>>版本01:spec
规格:#“普通”do:[
规格祝福:#“发展”。
规格说明:“一些说明”。
规范作者:“你的名字”。
规格时间戳:“1/15/2013 16:13”。
规格
软件包:“NAND2TTERIS”带有:“NAND2TTERIS yourName.versionNumber”]
那么你应该改变:
ConfigurationOfNand2Tetris>>development: spec
<symbolicVersion: #development>
spec for: #'common' version: '0.1'.
ConfigurationOfNand2Tetris>>开发:规范
规格为:#“通用”版本:“0.1”。
如果你只想依赖一个基线,Metacello中的隐喻是
使用#bleedingEdge
祝福。此外,您还可以明确拒绝其他符号版本:
ConfigurationOfNand2Tetris>>baseline01: spec
<version: '0.1-baseline'>
spec
for: #common
do: [
spec
blessing: #baseline;
repository: 'http://www.smalltalkhub.com/mc/DamienCassou/Nand2Tetris/main';
package: 'Nand2Tetris' ]
ConfigurationOfNand2Tetris>>bleedingEdge: spec
<symbolicVersion: #bleedingEdge>
spec for: #common version: '0.1-baseline'.
ConfigurationOfNand2Tetris>>development: spec
<symbolicVersion: #'development'>
spec for: #'common' version: #'notDefined'.
ConfigurationOfNand2Tetris>>stable: spec
<symbolicVersion: #'stable'>
spec for: #'common' version: #'notDefined'.
ConfigurationOfAnd2Testis>>基线01:spec
规格
适用于:#普通
do:[
规格
祝福:#基线;
存储库:'http://www.smalltalkhub.com/mc/DamienCassou/Nand2Tetris/main';
软件包:“NAND2TTERIS”]
Nand2Metris的配置>>出血边缘:规范
规格:#通用版本:“0.1-baseline”。
And2Testis的配置>>开发:规范
规格:#“通用”版本:#“未定义”。
And2Testis的配置>>稳定:规范
规格:#“通用”版本:#“未定义”。
这里的想法是,#stable
和#development
版本链接到明确列举的版本,而#bleedingEdge
总是指向最新版本
这应该避免第一次警告。我认为,只要您没有发布版本,您就可以放心地忽略第二个警告。谢谢。问题是我正在创建许多mcz,我不想一直更新版本号。这很好:将其标记为
#development
。定期更新#version01:
,或忽略警告,直到您准备发布新版本。谢谢您。不过我还是不想指定'versionNumber',因为这几天它变化很大:-)@daminciansou如果它变化那么大,你肯定会想要一个#bleedingEdge