summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGabriel Hurley <gabriel@strikeawe.com>2012-02-23 14:21:10 -0800
committerBrian Waldon <bcwaldon@gmail.com>2012-02-25 11:47:04 -0800
commitb4d35d621908557ac3fba70cbacac7500f79a352 (patch)
tree9c32c5979e4f925ce5a6268cd05397f3204b2c3d
parent99575a0465bb40d293623c6ec24c4c50c742ca3a (diff)
downloadkeystone-b4d35d621908557ac3fba70cbacac7500f79a352.tar.gz
keystone-b4d35d621908557ac3fba70cbacac7500f79a352.tar.xz
keystone-b4d35d621908557ac3fba70cbacac7500f79a352.zip
Adds AUTHORS file generated from git log (and de-duplicated).
Also adds a unit test (copied from Glance) to check that the AUTHORS file is up-to-date. Change-Id: I365d74ecef49f8e10a5edd4b7c768bb88c697a17
-rw-r--r--AUTHORS101
-rw-r--r--tests/test_authors.py63
2 files changed, 164 insertions, 0 deletions
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 00000000..2f335622
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,101 @@
+Adam Gandelman <adamg@canonical.com>
+Adipudi Praveena <padipudi@padipudi.(none)>
+Akira YOSHIYAMA <akirayoshiyama@gmail.com>
+Alan Pevec <apevec@redhat.com>
+Alex Silva <alex.silva@M1BPAGY.(none)>
+Alvaro Lopez Garcia <aloga@ifca.unican.es>
+Andy Smith <github@anarkystic.com>
+Anne Gentle <anne.gentle@rackspace.com>
+annegentle <anne@openstack.org>
+Anthony Young <sleepsonthefloor@gmail.com>
+Brian Lamar <brian.lamar@gmail.com>
+Brian Lamar <brian.lamar@rackspace.com>
+Brian Waldon <bcwaldon@gmail.com>
+Brian Waldon <brian.waldon@rackspace.com>
+bsirish <sirish.bitra@gmail.com>
+Carlos Marin <carlos.marin@rackspace.com>
+Chmouel Boudjnah <chmouel@chmouel.com>
+Chuck Short <chuck.short@canonical.com>
+Cole Robinson <crobinso@redhat.com>
+Dan Prince <dan.prince@rackspace.com>
+Dan Prince <dprince@redhat.com>
+dcramer <david.cramer@rackspace.com>
+Dean Troyer <dtroyer@gmail.com>
+Devin Carlen <devin.carlen@gmail.com>
+Dolph Mathews <dolph.mathews@gmail.com>
+Dolph Mathews <dolph.mathews@rackspace.com>
+Ed Leafe <ed@leafe.com>
+Édouard Thuleau <edouard1.thuleau@orange.com>
+Eoghan Glynn <eglynn@redhat.com>
+Ewan Mellor <ewan.mellor@citrix.com>
+Gabriel Hurley <gabriel@strikeawe.com>
+Ghe Rivero <ghe@debian.org>
+gholt <gholt@brim.net>
+Guang Yee <guang.yee@hp.com>
+Ionuț Arțăriși <iartarisi@suse.cz>
+jabdul <abdulkader.j@hcl.com>
+James E. Blair <corvus@gnu.org>
+James E. Blair <james.blair@rackspace.com>
+James E. Blair <jeblair@hp.com>
+Jason Cannavale <jason@cannavale.com>
+Jay Pipes <jaypipes@gmail.com>
+Jay Pipes <jpipes@uberbox.gateway.2wire.net>
+Jesse Andrews <anotherjesse@gmail.com>
+Joe Heck <heckj@mac.com>
+Joe Savak <joe.savak@rackspace.com>
+John Dickinson <me@not.mn>
+John Eo <john.eo@rackspace.com>
+John Eo <joon.eo@gmail.com>
+Jorge L. Williams <jorge.williams@rackspace.com>
+Joseph W. Breu <breu@breu.org>
+Josh Kearney <josh@jk0.org>
+Julien Danjou <julien.danjou@enovance.com>
+Justin Santa Barbara <justin@fathomdb.com>
+Justin Shepherd <jshepher@rackspace.com>
+Kevin L. Mitchell <kevin.mitchell@rackspace.com>
+Khaled Hussein <khaled.hussein@gmail.com>
+Khaled Hussein <khaled.hussein@rackspace.com>
+Kiall Mac Innes <kiall@managedit.ie>
+KnightHacker <khaled.hussein@rackspace.com>
+Liem Nguyen <liem_m_nguyen@hp.com>
+Liem Nguyen <liem.m.nguyen@hp.com>
+lzyeval <lzyeval@gmail.com>
+Mark Gius <mgius7096@gmail.com>
+Mark McLoughlin <markmc@redhat.com>
+Michael Still <mikal@stillhq.com>
+Monty Taylor <mordred@inaugust.com>
+Pádraig Brady <P@draigBrady.com>
+Paul Voccio <paul@substation9.com>
+Pete Zaitcev <zaitcev@kotori.zaitcev.us>
+Ralf Haferkamp <rhafer@suse.de>
+Ramana Juvvadi <ramana@venus.lekha.org>
+Ramana Juvvadi <rjuvvadi@hcl.com>
+Ramana Juvvadi <rrjuvvadi@gmail.com>
+Robin Norwood <robin.norwood@gmail.com>
+root <root@bsirish.(none)>
+root <root@newapps.(none)>
+saikrishna1511@gmail.com <psaikrishna@ubudesk1004.(none)>
+Sai Krishna <saikrishna1511@gmail.com>
+Salvatore Orlando <salvatore.orlando@eu.citrix.com>
+Sandy Walsh <sandy@sandywalsh.com>
+Shevek <shevek@nebula.com>
+sirish bitra <sirish.bitra@gmail.com>
+sirish.bitra <sirish.bitra@gmail.com>
+sirishbitra <sirish.bitra@gmail.com>
+Sony K. Philip <sony@hcleai.com>
+termie <github@anarkystic.com>
+Thierry Carrez <thierry@openstack.org>
+Todd Willey <todd@rubidine.com>
+Todd Willey <xtoddx@gmail.com>
+Vishvananda Ishaya <vishvananda@gmail.com>
+vishvananda <vishvananda@gmail.com>
+Will Kelly <the.william.kelly@gmail.com>
+Yaguang Tang <heut2008@gmail.com>
+Yogeshwar Srikrishnan <yoga80@yahoo.com>
+Yun Mao <yunmao@gmail.com>
+Yuriy Taraday <yorik.sar@gmail.com>
+Zhongyue Luo <lzyeval@gmail.com>
+Ziad Sawalha <gihub@highbridgellc.com>
+ziadsawalha <github@highbridgellc.com>
+Ziad Sawalha <github@highbridgellc.com>
+Ziad Sawalha <ziad.sawalha@rackspace.com>
diff --git a/tests/test_authors.py b/tests/test_authors.py
new file mode 100644
index 00000000..b9c3d101
--- /dev/null
+++ b/tests/test_authors.py
@@ -0,0 +1,63 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2012 OpenStack LLC
+# Copyright 2012 Nebula Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+import commands
+import os
+import unittest
+
+
+def parse_mailmap(mailmap='.mailmap'):
+ mapping = {}
+ if os.path.exists(mailmap):
+ fp = open(mailmap, 'r')
+ for l in fp:
+ l = l.strip()
+ if not l.startswith('#') and ' ' in l:
+ canonical_email, alias = l.split(' ')
+ mapping[alias] = canonical_email
+ return mapping
+
+
+def str_dict_replace(s, mapping):
+ for s1, s2 in mapping.iteritems():
+ s = s.replace(s1, s2)
+ return s
+
+
+class AuthorsTestCase(unittest.TestCase):
+ def test_authors_up_to_date(self):
+ root = os.path.normpath(os.path.join(os.path.dirname(__file__), '..'))
+ contributors = set()
+ missing = set()
+ authors_file = open(os.path.join(root, 'AUTHORS'), 'r').read()
+
+ if os.path.exists(os.path.join(root, '.git')):
+ mailmap = parse_mailmap(os.path.join(root, '.mailmap'))
+ for email in commands.getoutput('git log --format=%ae').split():
+ if not email:
+ continue
+ if "jenkins" in email and "openstack.org" in email:
+ continue
+ email = '<' + email + '>'
+ contributors.add(str_dict_replace(email, mailmap))
+
+ for contributor in contributors:
+ if not contributor in authors_file:
+ missing.add(contributor)
+
+ self.assertTrue(len(missing) == 0,
+ '%r not listed in AUTHORS file.' % missing)