public function getUrlGenerator()
{
if (!$this->started) {
throw new LogicException('Puli was not started');
}
if (!$this->urlGenerator && $this->context instanceof ProjectContext) {
$urlFormats = array();
foreach ($this->getServerManager()->getServers() as $server) {
$urlFormats[$server->getName()] = $server->getUrlFormat();
}
$this->urlGenerator = new DiscoveryUrlGenerator($this->getDiscovery(), $urlFormats);
}
return $this->urlGenerator;
}