簡體   English   中英

如何使用依賴於基線的#development版本定義ConfigurationOf?

[英]How to define a ConfigurationOf with a #development version that depends on a baseline?

在Pharo中,我想定義一個只有一個包的Metacello的ConfigurationOfNand2Tetris

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'.

當我執行MetacelloToolBox validateConfiguration: ConfigurationOfNand2Tetris我總是得到2個警告:

  • 警告:符號版本#development指的是版本'0.1-基線',其祝福#baseline不是#development {notDevelopmentVersion} [#validateVersionSpecForSymbolicVersion:symbolicVersion:]
  • 警告:僅定義基線(未定義版本)。 {onlyBaselineVersion} [#validatePragmas]

如果你只想依賴一個基線,那么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'.

這里的想法是#stable#development版本鏈接到明確的編號版本,而#bleedingEdge總是指向最新版本。

這應該避免第一次警告。 我想,只要您沒有發布版本,就可以安全地忽略第二個警告。

通常你會定義你的基線,然后是#versionN:方法:

ConfigurationOfNand2Tetris>>version01: spec
  <version: '0.1' imports: #('0.1-baseline')>

  spec
    for: #common do: [ 
      spec
        blessing: #baseline;
        package: 'Nand2Tetris' with: 'Nand2Tetris-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']

然后你應該改變:

ConfigurationOfNand2Tetris>>development: spec

  <symbolicVersion: #development>

  spec for: #'common' version: '0.1'.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM