加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

smalltalk – 如何为Pharo图像添加依赖?

发布时间:2020-12-13 20:44:47 所属栏目:百科 来源:网络整理
导读:在使用Seaside构建应用程序后,我设法使用冰山将我的Pharo图像代码推送到 GitHub.我能够在新机器上将其克隆到新的Pharo图像中.但是,将包加载到图像中似乎会产生一个错误,要求一些海边依赖项.我仍然不理解向Pharo图像添加依赖项的概念.有人可以向我解释如何去
在使用Seaside构建应用程序后,我设法使用冰山将我的Pharo图像代码推送到 GitHub.我能够在新机器上将其克隆到新的Pharo图像中.但是,将包加载到图像中似乎会产生一个错误,要求一些海边依赖项.我仍然不理解向Pharo图像添加依赖项的概念.有人可以向我解释如何去做吗?我需要它来进行代码部署和协作.
对不起,我完全不明白你的问题.如果你的意思是如何定义一个项目(可能有依赖项等),就像你将要做的那样,例如maven,你需要定义一个Baseline.

基线是您需要使用源定义和保存的类(和包).以此为例:https://github.com/estebanlm/logger/blob/master/src/BaselineOfLogger/BaselineOfLogger.class.st

(这是我发现的最小的例子,项目本身并不是很有趣).

我将分解解释:

您有一个名为BaselineOfLogger的类,它继承BaselineOf并放在一个具有相同基线名称的包中(这对于稍后查找它的工具很重要).

您定义了使用pragma基线标记的方法(pragma有点像注释):

BaselineOfLogger >> baseline: spec [
    <baseline>

    spec for: #pharo do: [
        self beacon: spec.
        spec package: 'Logger' ].   
]

正如您所看到的,此方法为Pharo定义了“规范”:
– 它将加载信标项目(我们稍后会看到)
– 它声明它将加载包Logger.

方法beacon:定义如下:

BaselineOfLogger >> beacon: spec [
    spec 
        baseline: 'Beacon'
        with: [ spec repository: 'github://pharo-project/pharo-beacon/repository' ]
]

正如您所看到的,它指向另一个项目(和另一个基线).
现在,既然你需要Seaside,你的Baseline可能看起来像这样:

BaselineOfMyProject >> baseline: spec [
    <baseline>

    spec for: #pharo do: [
        spec 
            baseline: 'Seaside3'
            with: [ 
                spec repository: 'github://SeasideSt/Seaside:v3.2.4/repository' ]
        spec package: 'MyPackage' ].    
]

最后,在你的图片中,加载你会做这样的事情:

Metacello new 
    repository: 'github://yourname/yourprojectname/src';
    baseline: 'MyProject';
    load.

这或多或少是这样的.但请注意,除了声明依赖是一个复杂的问题(无论你使用的语言),我所做的例子将只涵盖非常基础.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读