Как сохранить пакет Pharo Smalltalk на диск в формате Tonel? - PullRequest
2 голосов
/ 25 марта 2019

Я хотел бы написать сценарии Pharo Smalltalk, которые загружают и сохраняют пакеты Smalltalk на диск в тонном формате, но я не понимаю API для сохранения пакетов.

Загрузка с Tonel с диска в образ работает следующим образомthis:

(TonelReader on: aRepositoryDirectory fileName: packageName)
    version load.

но что за обратная операция сохраняет пакет на диск?(при условии, что имя пакета и целевой каталог предоставлены.)

(Я явно хочу здесь избегать использования расширенных инструментов, таких как Metacello и Iceberg. Я хочу использовать библиотеку Tonel напрямую или Monticello, не завися от какой-либопредыдущая конфигурация репозитория.)

1 Ответ

4 голосов
/ 25 марта 2019

Возможно, что неудивительно, похоже, что обратное значение TonelReader реализовано TonelWriter:

[[[ TonelWriter on: ('someDirectory' asFileReference ensureCreateDirectory) ]]]

Вот полный пример вежливости Люк :

[ :packageName :directory |
      TonelWriter fileOut:  packageName asPackage mcWorkingCopy on: directory.
] value: 'BaselineOfTonel' value: '/tmp/tonel-test' 
...