krfkeith / metacello

Automatically exported from code.google.com/p/metacello
0 stars 0 forks source link

#repositoryOverrides: not respected in Gemstone version #147

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I am using the metacello option #repositoryOverrides to force the loading from 
my own repositories to protect myself from changes happening in public 
repositories without me knowing about them.

However, it seems that in Gemstone (could not reproduce this in Pharo - but I 
cannot exclude this) this directive is not respected all the time. It seems the 
repositories that are already associated with a loaded package can also used. 
In that case, I am loading from different repositories than those I set with 
#repositoryOverrides.

In my trace below, this is the case with ConfigurationOfSeaside30, which is 
loaded from the metacello repository instead of the 
'dev.inceptive.be/gsreplication' repository.

--transcript--'Loading 1.3.0-baseline of ConfigurationOfNextPlan...'
--transcript--'Fetched -> ConfigurationOfSeasideTesting-JohanBrichau.41 --- 
http://dev.inceptive.be/gsreplication --- http://dev.inceptive.be/gsreplication'
--transcript--'Loaded -> ConfigurationOfSeasideTesting-JohanBrichau.41 --- 
http://dev.inceptive.be/gsreplication --- cache'
--transcript--'Fetched -> ConfigurationOfWebTester-JohanBrichau.15 --- 
http://dev.inceptive.be/gsreplication --- http://dev.inceptive.be/gsreplication'
--transcript--'Loaded -> ConfigurationOfWebTester-JohanBrichau.15 --- 
http://dev.inceptive.be/gsreplication --- cache'
--transcript--'Project: Seaside30 3.0.5'
--transcript--'Fetched -> ConfigurationOfSeaside30-dkh.317 --- 
http://www.squeaksource.com/MetacelloRepository --- 
http://www.squeaksource.com/MetacelloRepository'
--transcript--'Loaded -> ConfigurationOfSeaside30-dkh.317 --- 
http://www.squeaksource.com/MetacelloRepository --- cache'
--transcript--'Fetched -> ConfigurationOfGrease-dkh.149 --- 
http://dev.inceptive.be/gsreplication --- http://dev.inceptive.be/gsreplication'
--transcript--'Loaded -> ConfigurationOfGrease-dkh.149 --- 
http://dev.inceptive.be/gsreplication --- cache'
..... etc....

Original issue reported on code.google.com by johanbri...@gmail.com on 12 Aug 2011 at 10:05

GoogleCodeExporter commented 9 years ago
Johan, How are you using the repositoryOverrides:? What expression do you use 
to launch the load?

Original comment by henrichs...@gmail.com on 12 Aug 2011 at 4:50

GoogleCodeExporter commented 9 years ago

Original comment by henrichs...@gmail.com on 12 Aug 2011 at 4:53

GoogleCodeExporter commented 9 years ago
Hi Dale,
Here is how I am using this in a class method of a metacello configuration:
|repos|
repos := OrderedCollection new.
repos add: (MCHttpRepository 
                    location: 'http://dev.inceptive.be/common'
                    user: Username
                    password: Pasword).
... (add more repositories) ...

(self project version: '1.0.3')
        repositoryOverrides: repos;
        load: 'NextPlan-Dev'.

The configuration references the seaside and other configurations as a project 
with an explicit version.

Hope this helps in reconstructing.

Original comment by johanbri...@gmail.com on 12 Aug 2011 at 6:19

GoogleCodeExporter commented 9 years ago
Johan,

What does the project reference to ConfigurationOfSeaside30 look like? 
Presumably you have a reference in ConfigurationOfNextPlan that looks like this:

  project: 'Seaside30' with: [
    spec
        className: 'ConfigurationOfSeaside30';
        versionString: #'stable';
        loads: #('Base' 'JQuery-UI' );
        repository: 'http://www.squeaksource.com/Seaside30' ]

or this:

         spec
                project: 'Grease'
                with: [ 
                    spec
                        className: 'ConfigurationOfGrease';
                        versionString: '1.0-alpha1-baseline';
                        loads: #('Grease-Core');
                        projectPackage: [ 
                           spec
                              name: 'ConfigurationOfGrease';
                              repository: 'http://seaside.gemstone.com/ss/Seaside30' ] ]

I'm also interested in how the ConfigurationOfGrease reference looks, since it 
appears that the repository override worked for Grease, but didn't work for 
Seaside...

Original comment by henrichs...@gmail.com on 8 Sep 2011 at 7:26

GoogleCodeExporter commented 9 years ago
Dale,

This is the one:

            spec 
                project: 'Seaside30'
                with: 
                    [ spec
                        className: 'ConfigurationOfSeaside30';
                        versionString: '3.0.5';
                        file: 'ConfigurationOfSeaside30';
                        loads: #('Core');
                        repository: 'http://www.squeaksource.com/MetacelloRepository'].

Grease is not referenced by this Configuration. It is done through the 
Seaside30 configuration.

I will send you the ConfigurationOfNextPlan file in a private email...

Original comment by johanbri...@gmail.com on 12 Sep 2011 at 11:25

GoogleCodeExporter commented 9 years ago
This issue was either not reproducing or was resolved before we had chacterized 
the problem ... during SqueakSource3 upgrade planning[1], I ran into a similar 
problem and recorded it as Issue 163

[1] http://code.google.com/p/squeaksource3/wiki/UpgradeToDoSs3ToRc2

Original comment by henrichs...@gmail.com on 16 Dec 2011 at 7:01