Hi - I am trying to specify a simple package dependency(NeoJSON) for a hello 
world type simple project and I’m hitting problems.

I’ve been reading the DeepIntoPharo chapter and have looked at the blog post by 
Uko 
(http://blog.yuriy.tymch.uk/2015/07/pharo-and-github-versioning-revision-2.html 
<http://blog.yuriy.tymch.uk/2015/07/pharo-and-github-versioning-revision-2.html>)

But I’m hitting some simple issues and I’m hoping someone can put me straight.

My first attempt was the following (my Package is “Lambda” and has been 
versioned and put into GitHub using iceberg defaults).

baseline: spec
        <baseline>

        spec for: #common do: [
                spec 
                        package: 'Lambda' with: [ spec requires: 'NeoJSON' ].
                        
                spec
         project: 'NeoJSON'
         with: [ 
            spec
               className: 'ConfigurationOfNeoJSON';
               version: #stable;
               repository:
                  'https://github.com/svenvc/NeoJSON/tree/master/repository' ]
                ].              


My first question is, what should the repository URL be? No-one seems to talk 
about this in the git world where the gitfile tree info can be in different 
places per project (some put it in the root of the repo, other src, others 
repository or packages etc.). Am I right in thinking this url should be where 
the .package file is located?

When I try the above example by trying:

(BaselineOfLambda project version: 'baseline') load.

 I get a talkback - Could not resolve: ConfigurationOfNeoJSON 
[ConfigurationOfNeoJSON] in 
/Users/macta/Dev/Smalltalk/Pharo/Pharo-6-60495-c/pharo-local/package-cache 
https://github.com/svenvc/NeoJSON/tree/master/repository 
<https://github.com/svenvc/NeoJSON/tree/master/repository>

(Strangely, that file path is wrong as its pointing to some other directory on 
my filesystem - and I’ve posted a question about this on the thread about the 
working directory implementation, as it looks like MCCacheRepository 
uniqueInstance is getting the wrong default directory).

Anyway - as the above didn’t work, I tried to find an example of someone else 
using Neo and of course Sven had and example but his looks like this:

baseline: spec
        <baseline>

        spec for: #common do: [
                spec configuration: 'NeoJSON' with: [
                        spec 
                                versionString: #stable;
                                repository: 'http://mc.stfx.eu/Neo' ]. 
                        
                spec 
                        package: 'Lambda' with: [ spec requires: 'NeoJSON' ].
                        
        ].      

I dan’t seen anyone mention spec configuration before (is this a better way?) - 
although looking at this directory, it seems this is where normal Mcz files 
are, so is it because of that you use this other method?

Anyway , when I try the above - I get a similar error to the above, but now it 
fails loading my Lambda package (presumably because if the filesystem error?).

Am I on the right track with the above?

Tim
        

Reply via email to