Определение загруженной группы из postLoadDoIt:
Можно ли определить, какая группа использовалась для загрузки определенной базовой линии из 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'
это будет выполнено.
Так можно ли как-то определить группу из spec
или же loader
?
1 ответ
Решение
Не по умолчанию. Можно определить разные группы, в результате чего загружается одна и та же комбинация пакетов, а сам Metacello не записывает, какие группы были фактически загружены. Если вы хотите знать, вы можете переопределить поведение по умолчанию для записи.