如何以Tonel格式将Pharo Smalltalk软件包保存到磁盘?

问题描述 投票:2回答:1

我想编写Pharo Smalltalk脚本,以tonel格式加载和保存Smalltalk软件包到磁盘,但我不理解用于保存软件包的API。

从磁盘上的Tonel加载到图像中的工作方式如下:

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

但是将包保存到磁盘上的逆操作是什么? (假设提供了包名和目标目录。)

(我明确地希望避免在这里使用像Metacello和Iceberg这样的高级工具。我想要直接使用Tonel库,要么使用Monticello而不依赖于任何以前的存储库配置。)

pharo
1个回答
4
投票

也许不出所料,看起来TonelReader的反面是由TonelWriter实现的:

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

这是一个完整的例子礼貌Luke

[ :packageName :directory |
      TonelWriter fileOut:  packageName asPackage mcWorkingCopy on: directory.
] value: 'BaselineOfTonel' value: '/tmp/tonel-test' 
© www.soinside.com 2019 - 2024. All rights reserved.