2017-08-01 23:13 GMT+02:00 Tim Mackinnon <tim@testit.works>:
Hi Pavel - I tried it again and the problem is do with Metacello dependencies in your baseline.
The SUnit baseline doesnât specify any additional dependencies to load (it just loads local packages), whereas my baseline that fails looks like this:
baseline: spec <baseline>
spec for: #common do: [ spec configuration: 'ZTimestamp' with: [ spec versionString: #stable; repository: 'http://mc.stfx.eu/Neo' ]. spec baseline: 'AWS' with: [ spec repository: 'github://newapplesho/aws-sdk-smalltalk:v1.10/pharo- repository' ]. spec package: 'Lambda' with: [ spec requires: {'ZTimestamp'. 'AWS'}]. ].
The âspec configuration: â¦.â Specifications cause the error:
25 UndefinedObject(Object)>>*doesNotUnderstand: #addTo:* 26 MCRepositoryGroup>>addRepository:
If I remove those lines from my baseline above (as well the requires: reference to them) I can then successfully load my packages.
So is this something the minimal image should support (otherwise how do you load external packages into your image without checking them in locally?) OR is there something simple I can checkin and load locally to return that behaviour? (Personally I think it would make sense to allow remote loading - Iâm guessing Pharo itself as a core has everything it needs - but if you want to do any experimentation on the core and need remote packages, you would hit this too - so it feels a bit limiting).
The dependencies in th baseline are supported but the support for most of external repositories (like package Metacello-GitBasedRepository) is loaded at the end of bootstrapping process in BaselineOfIDE. We should check/solve dependencies and move it into the minimal Pharo. For now you can try to load it by yourself or work with already prepared local clones of required repositories. -- Pavel
Tim
On 1 Aug 2017, at 10:06, Pavel Krivanek <pavel.krivanek@gmail.com> wrote:
2017-07-31 22:51 GMT+02:00 Tim Mackinnon <tim@testit.works>:
I wasnât clear on which image to retry - the https://ci.inria.fr/pharo/ job/Pharo-6.0-Update-Step-3.2-Minimal/lastSuccessfulBuild/ar tifact/Pharo-minimal-64.zip one still shows as being last updated 7 days ago.
The https://ci.inria.fr/pharo/view/6.0-SysConf/job/Pharo-6.0 -Step-04-01-ConfigurationOfMinimalPharo/ one gives me a mismatch error: This interpreter (vers. 68021) cannot read image file (vers. 6521).
The https://ci.inria.fr/pharo/view/7.0/job/70-Bootstrap-32bi t-Conversion/lastSuccessfulBuild/artifact/latest-minimal-64.zip one gives me a walkback when trying to run my install script :
25 UndefinedObject(Object)>>*doesNotUnderstand: #addTo:* 26 MCRepositoryGroup>>addRepository: 27 createRepository | repo | repo := self project createRepository: self. ^ MCRepositoryGroup default repositories detect: [ :each | each = repo ] ifNone: [ MCRepositoryGroup default addRepository: repo. repo ] in MetacelloRepositorySpec>>createRepository
I think this is because the image doesnât support Metacello? As in:
Metacello new repository: 'filetree://../src'; baseline: 'Lambda'; load.
How do you guys load things into the minimal images (I thought you used Metacello - but maybe you do it some other way?)
I can use a big 6.1 image fine (as it has Metacello loaded) but Iâd really like a minimal solution - that can load in libraries like AWS S3, or XML parsing etc. and it seems like I should be a good customer for kicking the tires on all of this.
Tim
I checked the 64-bit Pharo 7 minimal image and loading of baseline (of SUnit from pharo-project/pharo) works:
./pharo Pharo7.0-minimal-64bit-b1625bf.image eval --save "Metacello new baseline: 'SUnit'; repository: 'filetree://./pharo-core/src'; load."
./pharo Pharo7.0-minimal-64bit-b1625bf.image eval "TestCase suite run"
Can you test it too?
-- Pavel