1

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

例如:

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'

它将被执行。

那么是否有可能从specor中以某种方式确定组loader

4

1 回答 1

1

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

于 2016-02-17T22:36:13.720 回答