summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2016-04-03 11:58:20 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2016-04-03 11:58:20 +0200
commit27e0bd7e00c231d42dd69bd2cfa13b0b36c80b71 (patch)
tree97b75ec95109dabd34486df89fd9e6e1553a1768
parent3f142080db0e9216a55b770dbd8e6330c1c44b7d (diff)
move from python to php scripts
-rw-r--r--AUTHORS.md9
-rwxr-xr-xbin/git/hooks/pre-commit10
-rw-r--r--bin/tools/generate_authors.php36
-rw-r--r--bin/tools/generate_authors.py47
4 files changed, 43 insertions, 59 deletions
diff --git a/AUTHORS.md b/AUTHORS.md
index 1c51176cb..597e66d7c 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -10,7 +10,6 @@
* [bastei](mailto:bastei@users.noreply.github.com)
* [Thomas Müller](mailto:thomas.mueller@tmit.eu)
* [Hoàng Đức Hiếu](mailto:hdhoang@zahe.me)
-* [Bernhard Posselt](mailto:BernhardPosselt@users.noreply.github.com)
* [Lukas Reschke](mailto:lukas@owncloud.com)
* [Bart Visscher](mailto:bartv@thisnet.nl)
* [Christian Elmer](mailto:christian@keinkurt.de)
@@ -18,6 +17,7 @@
* [Volkan Gezer](mailto:volkangezer@gmail.com)
* [Xéfir Destiny](mailto:xefir@crystalyx.net)
* [David-Development](mailto:david-dev@live.de)
+* [IBBoard](mailto:dev@ibboard.co.uk)
* [Lars Bensmann](mailto:lars@almosthappy.de)
* [bluehaze](mailto:francesco.sportolari@gmail.com)
* [darkside40](mailto:darkside401@googlemail.com)
@@ -25,20 +25,20 @@
* [Jakob Sack](mailto:mail@jakobsack.de)
* [Qingping Hou](mailto:dave2008713@gmail.com)
* [Andreas Fischer](mailto:bantu@owncloud.com)
-* [IBBoard](mailto:dev@ibboard.co.uk)
-* [IBBoard](mailto:github@ibboard.co.uk)
* [John Kristensen](mailto:john@jerrykan.com)
* [Konrad Graefe](mailto:konradgraefe@aol.com)
+* [Loki3000](mailto:github@labcms.ru)
* [Maik Kulbe](mailto:info@linux-web-development.de)
* [Michael Gapczynski](mailto:mtgap@owncloud.com)
+* [Nikita Chernyi](mailto:rakshazi@users.noreply.github.com)
* [Peter Hedlund](mailto:peter@peterandlinda.com)
+* [bbBowser](mailto:carspi@mail.de)
* [benediktb](mailto:benedikt@blablub.de)
* [davidak](mailto:git@davidak.de)
* [lsmooth](mailto:ls@lsmooth.de)
* [s17t.net](mailto:mail+github@s17t.net)
* [Alessandro](mailto:cosenal@gmail.com)
* [Andrea Boero](mailto:mail@tsumi.it)
-* [Bernhard Posselt](mailto:bernhard@posselt.at)
* [Florian Hülsmann](mailto:fh@cbix.de)
* [Frank Karlitschek](mailto:frank@owncloud.org)
* [Hendrik Leppelsack](mailto:hendrik@leppelsack.de)
@@ -49,6 +49,7 @@
* [Piotr Dobrowolski](mailto:admin@tastycode.pl)
* [TexasGamer](mailto:tpgaubert@gmail.com)
* [The Gitter Badger](mailto:badger@gitter.im)
+* [Thomas Wouters](mailto:twouters@users.noreply.github.com)
* [Xemle](mailto:xemle@phtagr.org)
* [bjoerns1983](mailto:bjoern@sengotta.net)
* [joeplus](mailto:joerg@honululu.Speedport_W_723V_1_32_000)
diff --git a/bin/git/hooks/pre-commit b/bin/git/hooks/pre-commit
index 474894075..cdb450a64 100755
--- a/bin/git/hooks/pre-commit
+++ b/bin/git/hooks/pre-commit
@@ -3,13 +3,7 @@
# exit if any test fails
set -e
-# update checksums
-cd js
-grunt js-unit
-cd ..
+make test
-phpunit -c phpunit.xml
-phpunit -c phpunit.integration.xml
-
-python3 bin/tools/generate_authors.py
+php -f bin/tools/generate_authors.php
git add AUTHORS.md
diff --git a/bin/tools/generate_authors.php b/bin/tools/generate_authors.php
new file mode 100644
index 000000000..18018686e
--- /dev/null
+++ b/bin/tools/generate_authors.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * ownCloud - News
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Bernhard Posselt <dev@bernhard-posselt.com>
+ * @copyright Bernhard Posselt 2016
+ */
+
+$cmd = 'git --no-pager shortlog -nse HEAD';
+exec($cmd, $contributors);
+
+// extract data from git output into an array
+$regex = '/^\s*(?P<commit_count>\d+)\s*(?P<name>.*\w)\s*<(?P<email>[^\s]+)>$/';
+$contributors = array_map(function ($contributor) use ($regex) {
+ preg_match($regex, $contributor, $result);
+ return $result;
+}, $contributors);
+
+// filter out bots
+$contributors = array_filter($contributors, function ($contributor) {
+ return strpos($contributor['name'], 'Jenkins') !== 0;
+});
+
+// turn tuples into markdown
+$markdownLines = array_map(function ($contrib) {
+ return '* [' . $contrib['name'] . '](mailto:' . $contrib['email'] . ')';
+}, $contributors);
+
+// add headline
+array_unshift($markdownLines, '# Authors');
+
+$markdown = implode("\n", $markdownLines);
+file_put_contents('AUTHORS.md', $markdown);
diff --git a/bin/tools/generate_authors.py b/bin/tools/generate_authors.py
deleted file mode 100644
index 9354b9fec..000000000
--- a/bin/tools/generate_authors.py
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/env python3
-
-import subprocess
-import re
-import os.path
-
-contribs = subprocess.check_output(['git', '--no-pager', 'shortlog', '-nse', 'HEAD'])
-contrib_lines = contribs.decode('utf-8').split('\n')
-
-format_regex = r'^\s*(?P<commit_count>\d+)\s*(?P<name>.*\w)\s*<(?P<email>[^\s]+)>$'
-
-def tuple_to_markdown(tuple):
- return ('* [%s](mailto:%s)' % (tuple[0], tuple[1]))
-
-def line_to_tuple(line):
- result = re.search(format_regex, line)
- if result:
- return (
- result.group('commit_count'),
- result.group('name'),
- result.group('email')
- )
- else:
- return ()
-
-tuples = map(line_to_tuple, contrib_lines)
-tuples = filter(lambda x: len(x) > 0, tuples) # filter out empty results
-tuples = filter(lambda x: 'Jenkins' not in x[1], tuples) # filter out jenkins
-#tuples = sorted(tuples, key=lambda x: x[0], reverse=True)
-tuples = map(lambda x: (x[1], x[2]), tuples)
-authors = map(tuple_to_markdown, tuples)
-authors = '\n'.join(authors)
-
-header = '# Authors'
-contents = '%s\n%s' % (header, authors)
-
-# write contents into contributors file
-base_dir_diff = 2
-current_dir = os.path.dirname(os.path.realpath(__file__))
-base_dir = current_dir
-
-for x in range(base_dir_diff):
- base_dir = os.path.join(base_dir, os.pardir)
-
-contributors_file = os.path.join(base_dir, 'AUTHORS.md')
-with open(contributors_file, 'w') as f:
- f.write(contents)