Check the mailmap file of core as well

This commit is contained in:
Joas Schilling 2016-02-12 09:06:07 +01:00
parent 049e3473b2
commit 100b357c68
1 changed files with 28 additions and 1 deletions

View File

@ -20,7 +20,8 @@
*/
class Licenses
{
protected $paths = array();
protected $paths = [];
protected $mailMap = [];
public $authors = [];
public function __construct() {
@ -196,12 +197,38 @@ With help from many libraries and frameworks including:
'Not Committed Yet <not.committed.yet>',
'Jenkins for ownCloud <owncloud-bot@tmit.eu>']);
});
if ($gitRoot) {
$authors = array_map([$this, 'checkCoreMailMap'], $authors);
$authors = array_unique($authors);
}
$authors = array_map(function($author){
$this->authors[$author] = $author;
return " * @author $author";
}, $authors);
return implode(PHP_EOL, $authors);
}
private function checkCoreMailMap($author) {
if (empty($this->mailMap)) {
$content = file_get_contents(__DIR__ . '/../.mailmap');
$entries = explode("\n", $content);
foreach ($entries as $entry) {
if (strpos($entry, '> ') === false) {
$this->mailMap[$entry] = $entry;
} else {
list($use, $actual) = explode('> ', $entry);
$this->mailMap[$actual] = $use . '>';
}
}
}
if (isset($this->mailMap[$author])) {
return $this->mailMap[$author];
}
return $author;
}
}
$licenses = new Licenses;