从 postLoadDoIt: 确定加载的组



是否可以确定哪个组用于从Metacello中的postLoadDoIt:加载特定基线?

例如:

BaselineOfProject>>baseline: spec
    <baseline>
    ...
    spec group: 'default' with: #(...).
    spec group: 'complete' with: #(...).
    spec postLoadDoIt: #postLoad:spec:.
BaselineOfProject>>postLoad: loader spec: spec
    "spec or loader something something" = 'complete' ifFalse: [ ^ self ].
    do something.

因此,如果项目随后加载为

Metacello new
    baseline: #Project;
    repository: '...';
    load

#postLoadDoIt没有执行(或者更确切地说,它很快就会返回(,但是如果我这样做

Metacello new
    baseline: #Project;
    repository: '...';
    load: 'complete'

它将被执行。

那么是否有可能以某种方式从specloader中确定该组?

不是默认的。可以定义不同的组,导致加载的包组合相同,而 Metacello 本身不会记录实际加载的组。如果你想知道,你当然可以覆盖默认行为来记录。

相关内容

  • 没有找到相关文章

最新更新