Hi Dale,

Your second option worked for me.

This is the validation error I got for my previous configuration using the
MetacelloToolBox:

"Error: Missing required field (className:) for project reference 'Stamp'
in version '0.1-baseline' { incompleteProjectSpec } [
#validateBaselineVersionSpec: ]"

By the other hand, using a filetree URL to my local working copy algo
resolved the Stamp project dependency.

Thank you very much!

Rafa

2014-11-13 21:57 GMT+01:00 Dale Henrichs <dale.henri...@gemtalksystems.com>:

> 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.le...@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-project-td4671054.html
>>
>> 2014-11-13 19:07 GMT+01:00 Thierry Goubier <thierry.goub...@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.
>>>>
>>>>
>>>
>>>
>>
>

Reply via email to