Loader

Loader provides support for loading Metacello baselines. While it uses Metacello baselines,it has its own implementation separated from Metacello.

The main entry pont for loading a project is GtRlProjectsLoader>>#loadBaseline:fromRepository: loadBaseline: aBaselineName fromRepository: aRepositoryLocationString | clonedProject | self loggers do: [ :aLogger | aLogger startFor: GtRlClonerBaselineSignal, GtRlLoaderDirectiveActionSignal ]. [ clonedProject := self cloneBaseline: aBaselineName fromRepository: aRepositoryLocationString. self loadBaselineClass: clonedProject baselineClass fromRepository: clonedProject repository loadSpecificationString ] ensure: [ self loggers do: [ :aLogger | aLogger stop ] ] .

Internally the loading happens in two states:

- first, all repositories all cloned (GtRlProjectsCloner Object << #GtRlProjectsCloner slots: { #baselineName . #repositoryUrlString . #cloneWorkflow . #loggersById }; tag: 'Core'; package: 'GToolkit-Releaser-Cloner' )

- second, the code is loaded (GtRlProjectsLoader Object << #GtRlProjectsLoader slots: { #loggersById }; tag: 'Core'; package: 'GToolkit-Releaser-Loader' )