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 subclass: #GtRlProjectsCloner instanceVariableNames: 'baselineName repositoryUrlString cloneWorkflow loggersById' classVariableNames: '' package: 'GToolkit-Releaser-Cloner-Core' )

- second, the code is loaded (GtRlProjectsLoader Object subclass: #GtRlProjectsLoader instanceVariableNames: 'loggersById' classVariableNames: '' package: 'GToolkit-Releaser-Loader-Core' )