Rafael, It looks like in your case that you've got a configuration problem ... and here's the proper fix (but depending upon which vesion of Metacello you're using may or may not work): baseline01: spec <version: '0.1-baseline'> spec for: #common do: [ spec blessing: #baseline. spec repository: 'filetree://full-filesystempath-to-your-pharo-subdirectory '. spec configuration: 'Stamp' with: [ spec repository: 'http://smalltalkhub.com/mc/SvenVanCaekenberghe/Stamp/main'; loads: 'Stamp'; version: #stable ]. spec package: 'MyStompMessaging' with: [ spec requires: #('Stamp') ] ] if you get an error then the following should work: baseline01: spec <version: '0.1-baseline'> spec for: #common do: [ spec blessing: #baseline. spec repository: 'filetree://full-filesystempath-to-your-pharo-subdirectory '. spec project: 'Stamp-Core' with: [ spec className: 'ConfigurationOfStamp'; repository: 'http://smalltalkhub.com/mc/SvenVanCaekenberghe/Stamp/main'; loads: 'Stamp'; version: #stable ]. spec package: 'MyStompMessaging' with: [ spec requires: #('Stamp-Core') ] ] I've also submitted a metacello bug[1] to cover this issue, although I may have already fixed the bug in a later version of Metacello, I'm going to double check wihen I get a chance... Finally, I would be interested to know what errors or warnings you might get from validating your configuration (inspect the result of MetacelloToolBox class>>validateConfiguration: with your configuration class as an argument). HTH, Dale [1] https://github.com/dalehenrich/metacello-work/issues/313 On Thu, Nov 13, 2014 at 12:28 PM, Rafael Luque <rafael.luque.leiva@gmail.com
wrote:
Thank you for the responses.
I'll try both of them, but in the meantime I found another problem because of my lack of experience.
I'm trying to define in the baseline a dependency with another project, in particular the Stamp project by Sven Van Caekenberghe [1] in Smalltalkhub in the following way:
baseline01: spec <version: '0.1-baseline'> spec for: #common do: [ spec blessing: #baseline. spec repository: 'filetree://full-filesystempath-to-your-pharo- subdirectory'. spec project: 'Stamp-Core' with: [ spec repository: 'http://smalltalkhub.com/mc/SvenVanCaekenberghe/Stamp/main'; loads: 'Stamp'; version: #stable ]. spec package: 'MyStompMessaging' with: [ spec requires: #('Stamp-Core') ] ]
When I evaluate the following in a Workspace:
(ConfigurationOfMyPackage project version: '0.1') load.
I get the followin error:
MessageNotUnderstood: receiver of "ensureLoadUsing:" is nil
In the debugger I see that MetacelloMCProjectSpec>>projectPackage is nil.
In an old thread I found that Dale Henrichs suggests to try this:
MetacelloProjectRegistration resetRegistry; primeRegistryFromImage
But in my case It does not solve the problem.
Thank you in advance.
[1] http://smalltalkhub.com/#!/~SvenVanCaekenberghe/Stamp/packages/Stamp [2] http://forum.world.st/Sample-metacello-configuration-referencing-a-github-pr...
2014-11-13 19:07 GMT+01:00 Thierry Goubier <thierry.goubier@gmail.com>:
Le 13/11/2014 18:21, Rafael Luque a écrit :
Hi all,
I'm starting with Pharo and playing with the ways to integrate it with Git.
I've read the "Git and Pharo" chapter on "Enterprise Pharo" book by Thierry Goubier and loaded the GitFileTree package.
I'm working on a project with several microservices, one of them will be based on Pharo and the other ones in other technologies. The project repository is based in our own Git server and each microservice maps with one subdirectory in the repo.
My question is if it is possible to define a Metacello configuration to load my packages from an specific subdirectory of a Git repository. I have tried with the following baseline method, but it fails because does not understand repoPath:
Yes, it is possible to fix a specific subdirectory, with a gitfiletree: url, via a dir=aRelativePath.
baseline01: spec <version: '0.1-baseline'> spec for: #common do: [ spec blessing: #baseline. spec repository: 'gitfiletree://my-git-server/my-project&dir=my-pharo- subdirectory'. spec package: 'MyPackage'. . . . ]
You can have a look at the ConfigurationOfAltBrowser in the configuration browser to see how it triggers downloading the GitFileTree support.
Thierry
baseline01: spec
<version: '0.1-baseline'> spec for: #common do: [ spec blessing: #baseline. spec repository: 'git@my-git-server:my-project'. spec repoPath: 'my-pharo-subdirectory'. spec package: 'MyPackage'. . . . ]
Thank you in advance.