Changes in GT for supporting in Pharo 12

This page documents changes that we did in GT for supporting it in Pharo 12.

Some changes are quick fixes that fix an issue, but would be better to review.

Updated load-patches.st.

RPackage>>#toTagName: is not in Pharo 12 so no need to patch it.

CompiledMethod>>#basicAsMCMethodDefinition basicAsMCMethodDefinition ^ MCMethodDefinition className: self methodClass instanceSide name classIsMeta: self isClassSide selector: self selector category: self protocol timeStamp: '' "self stamp" source: self sourceCode should use #protocolName instead of #protocol. Before #protocol returned a string, now it returns an object.

Added MetacelloToolBox to releaser

MetacelloToolBox Object subclass: #MetacelloToolBox instanceVariableNames: 'project methodSpec' classVariableNames: '' package: 'GToolkit-Releaser-BaselineModel-Metacello' is not much used in Pharo and was removed in https://github.com/pharo-project/pharo/pull/15287. We copied it to releaser for now. We should review how/why we need to use it.

Added MetacelloMCProjectSpec>>#projectClass projectClass <gtPharoPatch: #Pharo> self className == nil ifTrue: [ ^ nil ]. ^ Smalltalk at: self className asSymbol ifAbsent: [ ] ; commit

we should review why we need it

Update GtRlDependenciesModelBuilder Object subclass: #GtRlDependenciesModelBuilder instanceVariableNames: 'projectsByBaselineClass repositoriesByUrl projectsChain' classVariableNames: '' package: 'GToolkit-Releaser-BaselineModel-Builder'

In Pharo 12 getting the metacelo version throug MetacelloMCProjectSpec MetacelloGenericProjectSpec subclass: #MetacelloMCProjectSpec instanceVariableNames: 'file' classVariableNames: '' package: 'Metacello-MC-Specs' . Instead we get it directly from the baseline class.

Move announcer attribute to Job Object subclass: #Job instanceVariableNames: 'block currentValue min max title children isRunning parent process owner announcer' classVariableNames: '' package: 'Jobs-Base' from GtJob Job subclass: #GtJob instanceVariableNames: '' classVariableNames: '' package: 'GToolkit-Pharo-Coder-UI-Refactorings'

In Pharo 12, Job Object subclass: #Job instanceVariableNames: 'block currentValue min max title children isRunning parent process owner announcer' classVariableNames: '' package: 'Jobs-Base' has an announcemt. So we add it to Pharo 10&11 in BaselineOfGToolkitPrerequisites>>#applyPatchForJob applyPatchForJob self forPharo12: [] forPharo11AndPharo10: [ Job addSlot: #announcer ] as we need GtJob Job subclass: #GtJob instanceVariableNames: '' classVariableNames: '' package: 'GToolkit-Pharo-Coder-UI-Refactorings' to have its own announcemet.