This works for me (to load BaselineOfTowergame from src/ relative to image location):

| hereRef |
hereRef := Smalltalk imageDirectory asFileReference.

"Work around scp url hardwired 'git@'"
IceScpRemote class compile: 'canHandleUrl: aRepositoryUrl
        "Very simplistic implementation that does not cover all cases"
        ^ aRepositoryUrl matchesRegex: ''([\w.-]+@|ssh\://).*'''.
IceScpRemote compile: ((IceScpRemote >> #parseUrl) sourceCode copyReplaceAll: 'git@' with: '[\w.-]+@').

(IceRepositoryCreator new location: hereRef; subdirectory: 'src'; createRepository) register.

IceGithubRepositoryType class compile: 'type ^ ''github+rw'''. "Work around github:// needing access"

Iceberg enableMetacelloIntegration: true.
Metacello new baseline: 'Towergame'; repository: 'gitlocal:///', (hereRef / 'src') fullName; load: 'development'.

Towergame configure.

Smalltalk snapshot: true andQuit: true.

You may not need the workarounds (first is for non-"git@" remote, second is for github:// not working without a github.com ssh access).

Tim Mackinnon wrote:
I’m wondering if I’m missing a trick somewhere - but I have a simple
project with 2 packages, one is a BaseLineOfMyPkg and the other is MyPkg
(technically I don’t need the BaseLineOf, but I was learning how to use
them and I simply added a postLoad hook to run some code in it).

Anyway, If I clone my repo with Iceberg, I get 2 unloaded packages in
the UI. If I right click on the BaseLine one, and click the “install
baseline (default)” option, I was expecting it to load both packages for
me - however I get the talkback error “#addTo: was sent to nil from the
MCRepositoryGroup>>addRepository: method”.

In trying to debug the code I can see its trying to find a handler for
gitlocal:///, doesn’t find one and then tries to create a repo and
bails… this seems like a bug? I did notice in tracing the code that
there is a reference to a Setting that I saw - “Enable Metacello
Integration” - should I set that to true (its false by default)?

I’m wondering how other people are loading their projects in Iceberg if
this doesn’t work?

Tim


Reply via email to