summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@owncloud.com>2016-02-12 09:06:07 +0100
committerJoas Schilling <nickvergessen@owncloud.com>2016-02-17 08:47:25 +0100
commit100b357c688868dc4104c05dba3677cf2b650b2e (patch)
tree6ee2a203395efffaf157527a51b041ce95f1a531 /build
parent049e3473b2d0c4461d68ccb65b52d28b166cfb79 (diff)
downloadnextcloud-server-100b357c688868dc4104c05dba3677cf2b650b2e.tar.gz
nextcloud-server-100b357c688868dc4104c05dba3677cf2b650b2e.zip
Check the mailmap file of core as well
Diffstat (limited to 'build')
-rw-r--r--build/license.php29
1 files changed, 28 insertions, 1 deletions
diff --git a/build/license.php b/build/license.php
index 9a2495683c2..d7ac4e0a143 100644
--- a/build/license.php
+++ b/build/license.php
@@ -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;