Smalltalk 如何向Pharo映像添加依赖项?

Smalltalk 如何向Pharo映像添加依赖项?,smalltalk,pharo,seaside,pharocloud,pharo-6,Smalltalk,Pharo,Seaside,Pharocloud,Pharo 6,在使用Seaside构建了一个应用程序之后,我设法使用iceberg将我的Pharo图像代码推送到GitHub。我能够在一台新机器上把它克隆成一个新的Pharo图像。但是,将包加载到映像中似乎会生成一个错误,请求一些seaside依赖项。我仍然不理解向Pharo映像添加依赖项的概念。能不能给我解释一下怎么做?我需要它来进行代码部署和协作。对不起,我不完全理解您的问题。如果你的意思是如何定义一个项目(它可以有依赖项,等等),就像你要用maven做的一样,你需要定义一个基线 基线是您需要定义并与源一

在使用Seaside构建了一个应用程序之后,我设法使用iceberg将我的Pharo图像代码推送到GitHub。我能够在一台新机器上把它克隆成一个新的Pharo图像。但是,将包加载到映像中似乎会生成一个错误,请求一些seaside依赖项。我仍然不理解向Pharo映像添加依赖项的概念。能不能给我解释一下怎么做?我需要它来进行代码部署和协作。

对不起,我不完全理解您的问题。如果你的意思是如何定义一个项目(它可以有依赖项,等等),就像你要用maven做的一样,你需要定义一个基线

基线是您需要定义并与源一起保存的类(和包)。以这个为例:

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

我会分部分解释:

您有一个名为
BaselineOfLogger
的类,该类继承了
BaselineOf
,并放置在一个与基线同名的包中(这对于以后的工具查找它很重要)

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

如您所见,它指向另一个项目(和另一个基线)。 现在,由于您需要
Seaside
,您的基线可以如下所示:

BaselineOfLogger >> beacon: spec [
    spec 
        baseline: 'Beacon'
        with: [ spec repository: 'github://pharo-project/pharo-beacon/repository' ]
]
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.
这或多或少是这样的。但是请注意,声明依赖关系是一件复杂的事情(无论您使用何种语言),我所做的示例将只介绍最基本的内容

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