[Glass] [Metacello] Name not found: 'OB-Metacello'

Johan Brichau johan at yesplan.be
Tue Jun 24 12:39:19 PDT 2014


On 24 Jun 2014, at 16:08, Dale Henrichs <dale.henrichs at gemtalksystems.com> wrote:

> How do you get things to break in 3.1.0.6? 

I created a small ConfigurationOfTest with the following baseline in a freshly download 3.1.0.6 extent.

baseline: spec
	<version: '1.0-baseline'>
	
	spec for: #common do:[
		
		spec 
			project: 'GLASS'
			with: [ spec
						className: 'ConfigurationOfGLASS';
						versionString: '1.0-beta.9.2';
						repository: 'http://seaside.gemtalksystems.com/ss/MetacelloRepository'].			
								
			spec 
				project: 'Seaside30'
				with: 
					[ spec
						className: 'ConfigurationOfSeaside3';
						versionString: '3.0.13';
						loads: #('Core');
						repository: 'http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main'].
					
		spec group: 'default' with: #('GLASS' 'Seaside30')]


Next, I execute this in topaz:

"Load the MetacelloPreview bleeding edge master"
(Smalltalk at: #Metacello) new
 baseline: 'Metacello';
 repository: 'github://dalehenrich/metacello-work:master/repository';
 load.

"Load Seaside 3.0.13"
Metacello new 
  configuration: 'Seaside3';
  repository:  'http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main';
  version: '3.0.13';
  load.

"Load My project, prevent upgrades of referenced projects"
Metacello new 
  configuration: 'Test';
  version: '1.0-baseline';
  onConflict:[:ex | Transcript show: 'CONFLICT: ',ex description, ' ', ex existingProjectRegistration baseName,' (',ex existingProjectRegistration version,')->', ex newProjectRegistration baseName,' (',ex newProjectRegistration version,')'. ex disallow.];
  onUpgrade: [:ex | Transcript show: 'UPGRADE: ',ex description, ' ', ex existingProjectRegistration baseName,' (',ex existingProjectRegistration version,')->', ex newProjectRegistration baseName,' (',ex newProjectRegistration version,')'. ex disallow. ];
  load

The last load expression breaks as follows:

--transcript--'Loading 1.0-baseline of ConfigurationOfTest...'
--transcript--'UPGRADE: a MetacelloAllowProjectUpgrade occurred (notification 2741) GLASS (0.231)->GLASS (1.0-beta.9.2)'
--transcript--'...RETRY->ConfigurationOfGLASS'
--transcript--'...RETRY->ConfigurationOfGLASS'
--transcript--'...FAILED->ConfigurationOfGLASS'
ERROR 2710 , a MetacelloPackageSpecResolutionError occurred (error 2710) (MetacelloPackageSpecResolutionError)

This is a little different from what I see in my case but I believe it boils down to the same problem:
Because the registry still points to GLASS 0.231, a conflict occurs and Metacello starts fetching that version. In the example I mention in this email it breaks because the repository of that version 0.231 no longer exists (it is a local directory on your servers I believe). In my case, it breaks because I use repositoryOverrides which does not include the necessary packages (see load transcript below). If I leave out the repositoryOverrides, the load goes fetching _a lot_ of configurations and packages I never loaded (transitive closure of GsSeaside28, I believe).

This is the end of the transcript of a load in my full case. it shows how Metacello starts loading a configuration I am not referencing.

--transcript--'Project: Seaside Tests 3.0.10'
--transcript--'Fetched -> Seaside-REST-Core-dkh.39 --- http://dev.yesplan.be/gsreplication --- http://dev.yesplan.be/gsreplication'
--transcript--'Fetched -> Seaside-GemStone-REST-Core-topa.2 --- http://dev.yesplan.be/gsreplication --- http://dev.yesplan.be/gsreplication'
--transcript--'Fetched -> Seaside-Swagger-KrisGybels.35 --- http://dev.yesplan.be/common --- http://dev.yesplan.be/common'
--transcript--'Fetched -> CSV-AndyKellens.12 --- http://dev.yesplan.be/gsreplication --- http://dev.yesplan.be/gsreplication'
--transcript--'Fetched -> JQWidgetBox-Core-JohanBrichau.4 --- http://dev.yesplan.be/jqwidgetbox --- http://dev.yesplan.be/jqwidgetbox'
--transcript--'Fetched -> JQWidgetBox-JEditable-Core-JohanBrichau.4 --- http://dev.yesplan.be/jqwidgetbox --- http://dev.yesplan.be/jqwidgetbox'
--transcript--'Fetched -> JQWidgetBox-HoverIntent-Core-JohanBrichau.3 --- http://dev.yesplan.be/jqwidgetbox --- http://dev.yesplan.be/jqwidgetbox'
--transcript--'Fetched -> JQWidgetBox-MbMenu-Core-JohanBrichau.21 --- http://dev.yesplan.be/jqwidgetbox --- http://dev.yesplan.be/jqwidgetbox'
--transcript--'Fetched -> JQWidgetBox-TableSorter-Core-ThomasCleenewerck.9 --- http://dev.yesplan.be/jqwidgetbox --- http://dev.yesplan.be/jqwidgetbox'
--transcript--'Fetched -> SeasideDynamicSVG-Core-JohanBrichau.120 --- http://dev.yesplan.be/SeasideDynamicSVG --- http://dev.yesplan.be/SeasideDynamicSVG'
--transcript--'Fetched -> SeasideDynamicSVG-JQuery-JohanBrichau.27 --- http://dev.yesplan.be/SeasideDynamicSVG --- http://dev.yesplan.be/SeasideDynamicSVG'
--transcript--'Fetched -> SeasideDynamicSVG-DragDrop-JohanBrichau.15 --- http://dev.yesplan.be/SeasideDynamicSVG --- http://dev.yesplan.be/SeasideDynamicSVG'
--transcript--'Fetched -> Seaside-GemStone-ServiceTask-NickAger.20 --- http://dev.yesplan.be/gsreplication --- http://dev.yesplan.be/gsreplication'
--transcript--'CONFLICT: a MetacelloAllowConflictingProjectUpgrade occurred (notification 2741) GLASS (0.231)->GLASS (1.0-beta.9)'
--transcript--'Project: GLASS 1.0-beta.9'
--transcript--'...RETRY->ConfigurationOfGsSeaside28'
--transcript--'...RETRY->ConfigurationOfGsSeaside28'
--transcript--'...FAILED->ConfigurationOfGsSeaside28'
ERROR 2710 , a MetacelloPackageSpecResolutionError occurred (error 2710) (MetacelloPackageSpecResolutionError)

Mind that removing/reseting the registry's entry for GLASS fixes this problem immediately.

Hope I made some sense...
Johan


More information about the Glass mailing list