protected function doRun()
{
try {
$tag = @file_get_contents($this->tagFile);
if ($tag === false) {
throw new exceptions\runtime('Unable to read \'' . $this->tagFile . '\'');
}
$tag = $this->getNextVersion(trim($tag));
if ($this->getForceMode() === false && $this->prompt(sprintf($this->locale->_("You are about to push the '%s' version. Type 'Y' to confirm."), $tag)) !== 'Y') {
return $this;
}
if (@file_put_contents($this->tagFile, $tag) === false) {
throw new exceptions\runtime('Unable to write in \'' . $this->tagFile . '\'');
}
$this->taggerEngine->setSrcDirectory($this->workingDirectory);
if ($this->tagStableVersion($tag) === true) {
if ($this->createGitTag($tag) === true) {
if ($this->tagDevelopmentVersion(self::defaultMasterTag) === true) {
if ($this->pushToRemote($tag) === true) {
if ($this->pushTagToRemote($tag) === true) {
$this->writeInfo('Tag \'' . $tag . '\' successfully sent to remote \'' . $this->remote . '\'');
}
}
}
}
}
} catch (\exception $exception) {
$this->writeError($exception->getMessage());
}
return $this;
}