Update the AUTHORS file
authorMukund Sivaraman <muks@banu.com>
Mon, 18 Jan 2010 12:05:51 +0000 (17:35 +0530)
committerMukund Sivaraman <muks@banu.com>
Mon, 18 Jan 2010 12:05:51 +0000 (17:35 +0530)
This uses an XML based system now to store author names.
We also keep a pre-generated AUTHORS file checked in.

AUTHORS
Makefile.am
authors.dtd [new file with mode: 0644]
authors.xml [new file with mode: 0644]
authors.xsl [new file with mode: 0644]
configure.ac

diff --git a/AUTHORS b/AUTHORS
index d7f190f9d8088b0fccc09ec75caeb356a8459d96..b8529d1c1f287b4e2b5b567fedbac1db13f0b0e4 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,19 +1,25 @@
-Early History
--------------
+Tinyproxy AUTHORS
+=================
 
- Steven Young is the original author and was the primary maintainer of
- tinyproxy until version 1.1.  He also maintained the project from
- version 1.3.1 until 1.4.0.
+This file is generated from authors.xml, do not edit it directly.
 
- Robert James Kaes is the current maintainer and lead programmer.  He
- also maintained the project between versions 1.2 and 1.3.0, and again
- starting with version 1.4.0.
+The following people have contributed code to Tinyproxy:
 
+ Andrew Stribblehill
+ David Shanks
+ George Talusan
+ James E. Flemer
+ Jeremy Hinegardner
+ Kim Holviala
+ Marc Silver
+ Mathew Mrosko
+ Matthew Dempsky
+ Michael Adam
+ Mukund Sivaraman
+ Petr Lampa
+ Robert James Kaes
+ Steven Young
 
-Major Additions/Improvements
-----------------------------
 
-James E. Flemer <jflemer@acm.jhu.edu> - URL/domain filtering
-Kim Holviala <kim@holviala.com> - Reverse proxy support
-Petr Lampa <lampa@fit.vutbr.cz> - Transparent proxy support
-George Talusan <gstalusan@uwaterloo.ca> - URL/domain filtering
+The following people have helped to document Tinyproxy:
+
index 7de41f278dd6f64a051c74bc9a1b4d58b913bc93..d97429cdf08ae7ee7ad00153df476c395dde509d 100644 (file)
@@ -9,6 +9,23 @@ SUBDIRS = \
 # tools want this on a single line
 ACLOCAL_AMFLAGS = -I m4macros
 
+AUTHORS: authors.xml authors.xsl
+if HAVE_XSLTPROC
+       $(AM_V_GEN) $(XSLTPROC) authors.xsl $< > $(@) || rm -f $(@)
+else
+       @echo "*** xsltproc is required to regenerate $(@) ***"; exit 1;
+endif
+
+validate-authors:
+if HAVE_XMLLINT
+       @$(XMLLINT) --noout --path $(srcdir) --valid authors.xml || \
+          ( echo "*** authors.xml IS INVALID ***"; exit 1; )
+endif
+
+all-local: AUTHORS
+
+check-local: validate-authors
+
 EXTRA_DIST = \
        autogen.sh \
        tinyproxy-indent.sh \
diff --git a/authors.dtd b/authors.dtd
new file mode 100644 (file)
index 0000000..77d43c5
--- /dev/null
@@ -0,0 +1,12 @@
+<!--
+
+   Simple DTD for Tinyproxy authors. This file was adapted from GIMP.
+
+-->
+
+<!ELEMENT authors (contributor+)>
+<!ATTLIST authors xmlns CDATA #FIXED "http://purl.org/dc/elements/1.1/">
+
+<!ELEMENT contributor (#PCDATA)>
+<!ATTLIST contributor role CDATA #REQUIRED>
+<!ATTLIST contributor last-active CDATA #REQUIRED>
diff --git a/authors.xml b/authors.xml
new file mode 100644 (file)
index 0000000..1f78d4c
--- /dev/null
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE authors SYSTEM "authors.dtd">
+
+<!--
+
+   This file is supposed to list all authors and contributors. It's in
+   XML format so that it can easily be used in source code. When
+   changing this file, please keep the alphabetical order.  This file
+   was adapted from GIMP.
+
+-->
+
+<authors xmlns="http://purl.org/dc/elements/1.1/">
+
+  <contributor role="author" last-active="1.7">Andrew Stribblehill</contributor>
+  <contributor role="author" last-active="1.8">David Shanks</contributor>
+  <contributor role="author" last-active="1.6">George Talusan</contributor>
+  <contributor role="author" last-active="1.6">James E. Flemer</contributor>
+  <contributor role="author" last-active="1.7">Jeremy Hinegardner</contributor>
+  <contributor role="author" last-active="1.7">Kim Holviala</contributor>
+  <contributor role="author" last-active="1.7">Marc Silver</contributor>
+  <contributor role="author" last-active="1.8">Mathew Mrosko</contributor>
+  <contributor role="author" last-active="1.7">Matthew Dempsky</contributor>
+  <contributor role="author" last-active="1.8">Michael Adam</contributor>
+  <contributor role="author" last-active="1.8">Mukund Sivaraman</contributor>
+  <contributor role="author" last-active="1.6">Petr Lampa</contributor>
+  <contributor role="author" last-active="1.7">Robert James Kaes</contributor>
+  <contributor role="author" last-active="1.7">Steven Young</contributor>
+
+</authors>
diff --git a/authors.xsl b/authors.xsl
new file mode 100644 (file)
index 0000000..74b5441
--- /dev/null
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+   Simple XSL transformation to create a text version AUTHORS file from
+   authors.xml. This file was adapted from GIMP.
+
+-->
+
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/">
+
+  <xsl:output method="text" />
+
+  <xsl:template name="contributor">
+    <xsl:param name="role" />
+    <xsl:apply-templates select="dc:contributor[contains(@role, $role)]" />
+  </xsl:template>
+
+  <xsl:template match="/dc:authors">
+    <xsl:text>Tinyproxy AUTHORS
+=================
+
+This file is generated from authors.xml, do not edit it directly.
+
+The following people have contributed code to Tinyproxy:
+
+</xsl:text>
+    <xsl:call-template name="contributor">
+      <xsl:with-param name="role" select="'author'"/>
+    </xsl:call-template>
+    <xsl:text>
+
+The following people have helped to document Tinyproxy:
+
+</xsl:text>
+    <xsl:call-template name="contributor">
+      <xsl:with-param name="role" select="'documenter'"/>
+    </xsl:call-template>
+
+  </xsl:template>
+
+  <xsl:template match="dc:contributor">
+    <xsl:text> </xsl:text><xsl:apply-templates /><xsl:text>
+</xsl:text>
+  </xsl:template>
+
+</xsl:stylesheet>
index 2542849601a6b7e26a97016098a953e58d26838e..2e3d15e61a1d62f7e29811b745b8572a65b28f62 100644 (file)
@@ -282,6 +282,12 @@ AC_SUBST(CPPFLAGS)
 AC_SUBST(LIBS)
 AC_SUBST(ADDITIONAL_OBJECTS)
 
+# Check for xml tools
+AC_PATH_PROG(XMLLINT, xmllint, no)
+AM_CONDITIONAL(HAVE_XMLLINT, test "x$XMLLINT" != "xno")
+AC_PATH_PROG(XSLTPROC, xsltproc, no)
+AM_CONDITIONAL(HAVE_XSLTPROC, test "x$XSLTPROC" != "xno")
+
 # Check for asciidoc
 AC_PATH_PROG(A2X, a2x, no)
 AM_CONDITIONAL(HAVE_A2X, test "x$A2X" != "xno")