如何使用依赖于基线的#development版本定义ConfigurationOf?

Dam*_*sou 6 smalltalk squeak pharo metacello

在Pharo中,我想定义一个ConfigurationOfNand2Tetris只包含一个包的Metacello :

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'.
Run Code Online (Sandbox Code Playgroud)

当我执行时,MetacelloToolBox validateConfiguration: ConfigurationOfNand2Tetris我总是得到2个警告:

  • 警告:符号版本#development指的是版本'0.1-基线',其祝福#baseline不是#development {notDevelopmentVersion} [#validateVersionSpecForSymbolicVersion:symbolicVersion:]
  • 警告:仅定义基线(未定义版本).{onlyBaselineVersion} [#validatePragmas]

Tob*_*ias 6

如果你只想依赖基线,那么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'.
Run Code Online (Sandbox Code Playgroud)

这里的想法是,#stable#development版本链接到明确地enumbered版本,而#bleedingEdge总是指向最新版本.

这应该避免第一次警告.我想,只要您没有发布版本,就可以安全地忽略第二个警告.