Modified: attic/site-lua/docs/data/projects.json URL: http://svn.apache.org/viewvc/attic/site-lua/docs/data/projects.json?rev=1830323&r1=1830322&r2=1830323&view=diff ============================================================================== --- attic/site-lua/docs/data/projects.json (original) +++ attic/site-lua/docs/data/projects.json Fri Apr 27 09:58:57 2018 @@ -4,18 +4,27 @@ "project": "abdera", "retired": "March 2017", "scm": "svn", - "jira": "ABDERA", + "tracker": ["JIRA", "ABDERA"], "wiki": "https://cwiki.apache.org/confluence/display/abdera/", "mailnames": ["dev", "commits", "user"], "description": "Apache Abdera was a project to build a functionally-complete, high-performance implementation of the IETF Atom Syndication Format (RFC 4287) and Atom Publishing Protocol (RFC 5023) specifications.", - "postlude": "<p>Some related projects to Abdera are: </p>\n<ul>\n <li><a href=\"http://openddr.mobi/\">OpenDDR</a> - this is a new version of OpenDDR, parts of which were migrated to Apache Devicemap, and now have been merged back to OpenDDR. </li>\n\n <li><a href=\"https://github.com/nielsbasjes/yauaa\">YAUAA: Yet Another UserAgent Analyzer</a> is an Apache licensed alternative to DeviceMap. Rather than employing a fixed collection of User-Agent (UA) strings as in DeviceMap, YAUAA performs a semantic analysis to determine certain attributes of the UA. </li>\n\n <li><a href=\"http://devicedetector.net/\">DeviceDetector</a> is an LGPL 3.0 licensed PHP project that parses YAML based device data in a similar way as DeviceMap/OpenDDR do with W3C compatible data. </li>\n\n <li><a href=\"http://mobiledetect.net/\">mobiledetect</a> is an MIT licensed PHP project for detecting mobile devices. </li>\n </ul>" + "postlude": ["<p>Some related projects to Abdera are: </p>", + "<ul>", + " <li><a href=\"http://openddr.mobi/\">OpenDDR</a> - this is a new version of OpenDDR, parts of which were migrated to Apache Devicemap, and now have been merged back to OpenDDR. </li>", + "", + " <li><a href=\"https://github.com/nielsbasjes/yauaa\">YAUAA: Yet Another UserAgent Analyzer</a> is an Apache licensed alternative to DeviceMap. Rather than employing a fixed collection of User-Agent (UA) strings as in DeviceMap, YAUAA performs a semantic analysis to determine certain attributes of the UA. </li>", + "", + " <li><a href=\"http://devicedetector.net/\">DeviceDetector</a> is an LGPL 3.0 licensed PHP project that parses YAML based device data in a similar way as DeviceMap/OpenDDR do with W3C compatible data. </li>", + "", + " <li><a href=\"http://mobiledetect.net/\">mobiledetect</a> is an MIT licensed PHP project for detecting mobile devices. </li>", + " </ul>"] }, { "name": "ACE", "project": "ace", "retired": "December 2017", "scm": "svn", - "jira": "ACE", + "tracker": ["JIRA", "ACE"], "wiki": "https://cwiki.apache.org/confluence/display/ace/", "mailnames": ["dev", "commits", "users"], "description": "Apache ACE was a software distribution framework that allows you to centrally manage and distribute software components, configuration data and other artifacts to target systems. It is built using OSGi and can be deployed in different topologies. The target systems are usually also OSGi based, but don't have to be. " @@ -25,7 +34,7 @@ "project": "avalon", "retired": "June 2004", "scm": "svn", - "jira": "AVALON", + "tracker": ["JIRA", "AVALON"], "wiki": "http://wiki.apache.org/avalon/", "mailnames": ["dev"], "description": "Apache Avalon was closed long before the creation of the Apache Attic. It's mentioned here for completeness." @@ -33,6 +42,8 @@ { "name": "AxKit", "website": "http://axkit.org", + "project": "xml", + "subproject": "axkit", "retired": "August 2009", "mailnames": [], "description": "Apache AxKit was an XML Application Server for Apache. It provided on-the-fly conversion from XML to any format, such as HTML, WAP or text using either W3C standard techniques, or flexible custom code." @@ -42,9 +53,10 @@ "stem": "axis-sandesha-c", "project": "axis", "subproject": "axis2/c/sandesha", + "dist": "ws/sandesha2/c", "retired": "September 2014", "scm": "svn", - "jira": "SANDESHA2C", + "tracker": ["JIRA", "SANDESHA2C"], "mailnames": [], "description": "Sandesha2/C was a C implementation of the WS-ReliableMessaging specification. Sandesha2/C was built on top of Apache Axis2/C Web services engine, as a module. Therefore by using Sandesha2/C you could add reliable messaging capability to Web services hosted using Axis2/C. Sandesha2/C could also be used with Axis2/C client to interact with an already hosted Web services in a reliable manner." }, @@ -52,9 +64,10 @@ "name": "Axis Savan/C", "project": "axis", "subproject": "axis2/c/savan", + "dist": "ws/savan/c", "retired": "September 2014", "scm": "svn", - "jira": "AXIS2C", + "tracker": ["JIRA", "AXIS2C"], "mailnames": [], "description": "Savan/C was a C implementation of WS-Eventing specification. Savan/C was built on top of Axis2/C. Therefore by using Savan/C you could add WS-Eventing capability to Web services hosted using Axis2/C. Savan/C was designed as a general publisher/subscriber tool. The arcitecture was designed to abstract the general publisher/subscriber features so that people could support more than one publisher/subscriber mechanisms within the same infrastructure." }, @@ -62,8 +75,9 @@ "name": "Axis Savan/Java", "project": "axis", "subproject": "axis2/java/savan", + "nodist": true, "retired": "September 2014", - "jira": "SAVAN", + "tracker": ["JIRA", "SAVAN"], "mailnames": [], "description": "Savan/Java was a Java implementation of WS-Eventing specification. Savan/Java was built on top of Axis2/Java. Therefore by using Savan/Java you could add WS-Eventing capability to Web services hosted using Axis2/Java. Savan/Java was designed as a general publisher/subscriber tool. The arcitecture was designed to abstract the general publisher/subscriber features so that people could support more than one publisher/subscriber mechanisms within the same infrastructure." }, @@ -72,18 +86,23 @@ "project": "beehive", "retired": "January 2010", "scm": "svn", - "jira": "BEEHIVE", + "tracker": ["JIRA", "BEEHIVE"], "wiki": "https://wiki.apache.org/beehive", "mailnames": ["dev", "commits", "user"], "description": "Apache Beehive was a simple object model built on J2EE and Struts that used annotations to reduce the amount of required code.", - "postlude": "<p>If you are looking for a project to use in place of Beehive, the following have been suggested for its components: </p>\n<ul>\n <li>Beehive NetUI / Page Flow - Struts 2 or Spring Web Flow</li>\n <li>Beehive Controls - Spring Beans</li>\n <li>Beehive WSM (web service metadata) - Axis2's implementation of JSR-181</li>\n </ul>" + "postlude": ["<p>If you are looking for a project to use in place of Beehive, the following have been suggested for its components: </p>", + "<ul>", + " <li>Beehive NetUI / Page Flow - Struts 2 or Spring Web Flow</li>", + " <li>Beehive Controls - Spring Beans</li>", + " <li>Beehive WSM (web service metadata) - Axis2's implementation of JSR-181</li>", + " </ul>"] }, { "name": "Click", "project": "click", "retired": "May 2014", "scm": "svn", - "jira": "CLK", + "tracker": ["JIRA", "CLK"], "wiki": "https://cwiki.apache.org/confluence/display/click/", "mailnames": ["dev", "commits", "user"], "description": " Apache Click was a JEE web application framework, providing a natural rich client style programming model.\n " @@ -92,17 +111,18 @@ "name": "Crimson", "project": "xml", "subproject": "crimson", + "nodist": true, "retired": "August 2010", "mailnames": [], "description": "Apache Crimson was a Java XML parser which supports XML 1.0 via various APIs.", - "postlude": "<p><a href=\"http://xerces.apache.org/\">Apache Xerces</a> replaced Crimson. </p>" + "postlude": ["<p><a href=\"http://xerces.apache.org/\">Apache Xerces</a> replaced Crimson. </p>"] }, { "name": "Continuum", "project": "continuum", "retired": "May 2016", "scm": "svn", - "jira": "CONTINUUM", + "tracker": ["JIRA", "CONTINUUM"], "wiki": "https://cwiki.apache.org/confluence/display/continuum/", "mailnames": ["dev", "users", "commits", "issues", "notifications"], "description": " Continuum was an enterprise-ready continuous integration server with features such as automated builds, release management, role-based security, and integration with popular build tools and source control management systems. " @@ -112,7 +132,7 @@ "project": "deltacloud", "retired": "July 2015", "scm": "git-wip", - "jira": "DTACLOUD", + "tracker": ["JIRA", "DTACLOUD"], "mailnames": ["dev", "commits", "user"], "description": " Deltacloud provided the API server and drivers necessary for connecting to cloud providers via \n a cloud abstraction API. " }, @@ -121,17 +141,27 @@ "project": "devicemap", "retired": "December 2016", "scm": "svn", - "jira": "DMAP", + "tracker": ["JIRA", "DMAP"], "wiki": "http://wiki.apache.org/devicemap/", "mailnames": ["dev", "commits"], "description": " Apache DeviceMap was a project to create a data repository containing device information, images and other relevant information for all sorts of mobile devices. ", - "postlude": "<p>Some related projects to DeviceMap are: </p>\n<ul>\n <li><a href=\"http://openddr.mobi/\">OpenDDR</a> - this is a new version of OpenDDR, parts of which were migrated to Apache Devicemap, and now have been merged back to OpenDDR. </li>\n\n <li><a href=\"https://github.com/nielsbasjes/yauaa\">YAUAA: Yet Another UserAgent Analyzer</a> is an Apache licensed alternative to DeviceMap. Rather than employing a fixed collection of User-Agent (UA) strings as in DeviceMap, YAUAA performs a semantic analysis to determine certain attributes of the UA. </li>\n\n <li><a href=\"http://devicedetector.net/\">DeviceDetector</a> is an LGPL 3.0 licensed PHP project that parses YAML based device data in a similar way as DeviceMap/OpenDDR do with W3C compatible data. </li>\n\n <li><a href=\"http://mobiledetect.net/\">mobiledetect</a> is an MIT licensed PHP project for detecting mobile devices. </li>\n </ul>"}, + "postlude": ["<p>Some related projects to DeviceMap are: </p>", + "<ul>", + " <li><a href=\"http://openddr.mobi/\">OpenDDR</a> - this is a new version of OpenDDR, parts of which were migrated to Apache Devicemap, and now have been merged back to OpenDDR. </li>", + "", + " <li><a href=\"https://github.com/nielsbasjes/yauaa\">YAUAA: Yet Another UserAgent Analyzer</a> is an Apache licensed alternative to DeviceMap. Rather than employing a fixed collection of User-Agent (UA) strings as in DeviceMap, YAUAA performs a semantic analysis to determine certain attributes of the UA. </li>", + "", + " <li><a href=\"http://devicedetector.net/\">DeviceDetector</a> is an LGPL 3.0 licensed PHP project that parses YAML based device data in a similar way as DeviceMap/OpenDDR do with W3C compatible data. </li>", + "", + " <li><a href=\"http://mobiledetect.net/\">mobiledetect</a> is an MIT licensed PHP project for detecting mobile devices. </li>", + " </ul>"] +}, { "name": "DirectMemory", "project": "directmemory", "retired": "July 2015", "scm": "svn", - "jira": "DIRECTMEMORY", + "tracker": ["JIRA", "DIRECTMEMORY"], "wiki": "https://cwiki.apache.org/confluence/display/directmemory/", "mailnames": ["dev", "commits", "user"], "description": " DirectMemory was an off-heap cache for the Java Virtual Machine. " @@ -141,7 +171,7 @@ "project": "esme", "retired": "July 2013", "scm": "svn", - "jira": "ESME", + "tracker": ["JIRA", "ESME"], "wiki": "https://cwiki.apache.org/confluence/display/esme/", "mailnames": ["dev", "commits"], "description": " Apache ESME (Enterprise Social Messaging Environment) was a secure and highly scalable microsharing \n and micromessaging platform that allows people to discover and meet one another and get controlled \n access to other sources of information. " @@ -151,7 +181,7 @@ "project": "etch", "retired": "June 2016", "scm": "svn", - "jira": "ETCH", + "tracker": ["JIRA", "ETCH"], "mailnames": ["dev", "user", "commits"], "description": " Etch was a cross-platform, language- and transport-independent framework for building and consuming network services. " }, @@ -160,7 +190,7 @@ "project": "excalibur", "retired": "December 2010", "scm": "svn", - "jira": "EXLBR", + "tracker": ["JIRA", "EXLBR"], "wiki": "https://wiki.apache.org/excalibur", "mailnames": ["dev", "scm", "user"], "description": "Apache Excalibur was a Java Inversion of Control container." @@ -170,7 +200,7 @@ "project": "harmony", "retired": "November 2011", "scm": "svn", - "jira": "HARMONY", + "tracker": ["JIRA", "HARMONY"], "wiki": "http://wiki.apache.org/harmony/", "mailnames": ["dev", "alerts", "commits"], "description": "Harmony software was a modular Java runtime with class libraries and associated tools." @@ -180,11 +210,12 @@ "project": "hivemind", "retired": "April 2009", "scm": "svn", - "jira": "HIVEMIND", + "tracker": ["JIRA", "HIVEMIND"], "wiki": "http://wiki.apache.org/hivemind/", "mailnames": ["dev", "commits", "user"], "description": "Apache HiveMind was a services and configuration microkernel. Its features are also referred to as Inversion of Control (IoC) Container or Lightweight Container. Closely linked to Tapestry 4, it lost activity when Tapestry 5 moved to a new IoC container.", - "postlude": "<p><a href=\"http://markmail.org/thread/hb46sg2nolnntnnz\">Discussion on the mailing list</a> indicated that <a href=\"http://tapestry.apache.org/tapestry5/tapestry-ioc/\">Tapestry IoC</a> was the natural successor to HiveMind. </p>\n<p>One fork that has been created is Gaderian at <a href=\"http://gaderian.ops4j.org/\">http://gaderian.ops4j.org/</a>.</p>" + "postlude": ["<p><a href=\"http://markmail.org/thread/hb46sg2nolnntnnz\">Discussion on the mailing list</a> indicated that <a href=\"http://tapestry.apache.org/tapestry5/tapestry-ioc/\">Tapestry IoC</a> was the natural successor to HiveMind. </p>", + "<p>One fork that has been created is Gaderian at <a href=\"http://gaderian.ops4j.org/\">http://gaderian.ops4j.org/</a>.</p>"] }, { "name": "iBATIS", @@ -193,7 +224,7 @@ "scm": "svn", "mailnames": ["dev", "commits", "user-cs", "user-java"], "description": "iBATIS was a data mapper framework that made it easier to use a relational database with object-oriented applications. There were both Java and .Net implementations.", - "postlude": "<p>One fork that has been created is MyBatis at <a href=\"http://www.mybatis.org/\">http://www.mybatis.org/</a>. </p>" + "postlude": ["<p>One fork that has been created is MyBatis at <a href=\"http://www.mybatis.org/\">http://www.mybatis.org/</a>. </p>"] }, { "name": "Jakarta", @@ -210,7 +241,7 @@ "subproject": "cactus", "retired": "August 2011", "scm": "svn", - "jira": "CACTUS", + "tracker": ["JIRA", "CACTUS"], "mailnames": ["dev", "user"], "description": "Jakarta previously hosted Cactus, a simple test framework for unit testing server-side java code." }, @@ -220,7 +251,7 @@ "subproject": "ecs", "retired": "September 2010", "scm": "svn", - "jira": "ECS", + "tracker": ["JIRA", "ECS"], "mailnames": ["dev", "user"], "description": "Jakarta previously hosted ECS (Element Construction Set), a Java API for generating elements for any of a variety of markup languages (examples included HTML 4.0 and XML)." }, @@ -230,10 +261,10 @@ "subproject": "oro", "retired": "September 2010", "scm": "svn", - "bugzilla": "oro", + "tracker": ["Bugzilla","oro"], "mailnames": ["dev", "user"], "description": "Jakarta previously hosted ORO, a set of text-processing Java classes that provide Perl5 compatible regular expressions, AWK-like regular expressions, glob expressions, and utility classes for performing substitutions, splits, filtering filenames, etc.", - "postlude": "<p>Jakarta ORO users are encouraged to use similar features in newer Java versions, such as <i>java.util.regexp</i></p>" + "postlude": ["<p>Jakarta ORO users are encouraged to use similar features in newer Java versions, such as <i>java.util.regexp</i></p>"] }, { "name": "Jakarta Regexp", @@ -241,10 +272,10 @@ "subproject": "regexp", "retired": "April 2011", "scm": "svn", - "bugzilla": "regexp", + "tracker": ["Bugzilla","regexp"], "mailnames": ["dev", "user"], "description": "Jakarta previously hosted Regexp, a 100% Pure Java Regular Expression package.", - "postlude": "<p>Jakarta Regexp users are encouraged to use similar features in newer Java versions, such as <i>java.util.regexp</i></p>" + "postlude": ["<p>Jakarta Regexp users are encouraged to use similar features in newer Java versions, such as <i>java.util.regexp</i></p>"] }, { "name": "Jakarta Slide", @@ -252,22 +283,68 @@ "subproject": "slide", "retired": "November 2007", "scm": "svn", - "bugzilla": "slide", + "tracker": ["Bugzilla","slide"], "wiki": "https://wiki.apache.org/jakarta-slide", "mailnames": ["dev", "user"], "description": "Jakarta previously hosted Slide, a content repository which could serve as a basis for a content management system as well as other purposes. Among its features was full WebDAV support.", - "postlude": "<p>If you are looking for a WebDAV client or a server-side Content Repository, please consider the\n <a href=\"http://jackrabbit.apache.org\">Apache Jackrabbit</a> project as an alternative.</p>" + "postlude": ["<p>If you are looking for a WebDAV client or a server-side Content Repository, please consider the", + " <a href=\"http://jackrabbit.apache.org\">Apache Jackrabbit</a> project as an alternative.</p>"] }, { "name": "Jakarta Taglibs", "project": "jakarta", "subproject": "taglibs", + "website": "", "retired": "June 2008", "scm": "svn", - "bugzilla": "taglibs", + "tracker": ["Bugzilla","taglibs"], "mailnames": ["dev"], "description": "Jakarta hosted the Jakarta Taglibs project, a large collection of JSP Tag Libraries. They ranged from simple utility libraries and UI libraries, to Dreamweaver extensions and an implementation of the JSP Standard Tag Library (JSTL) specification.", - "postlude": "<p>In 2008 and 2009, the majority of these libraries were deprecated and have now been retired. The remaining work has \n moved over to the <a href=\"http://tomcat.apache.org/taglibs/\">Tomcat Taglibs</a> project - namely the following taglibs: </p>\n<ul>\n <li>Standard - The implementations of the various JSTL specifications</li>\n <li><s>RDC - Reusable Dialog Components Taglib</s></li>\n </ul>\n<p>In 2014 the RDC Taglib was retired from the Tomcat Taglibs project. </p>\n<table class=\"colortable\" width=\"100%\">\n <tr><th>Name</th><th>JSP version</th><th>Obtain</th></tr>\n <tr><td><a href=\"http://tomcat.apache.org/taglibs/rdc/\">RDC</a></td><td>2.0+</td><td><a href=\"http://svn.apache.org/repos/asf/tomcat/taglibs/rdc/\">svn</a></td></tr>\n </table>\n<p>A list of the original retired taglibs follows: </p>\n<table class=\"colortable\" width=\"100%\">\n <tr><th>Name</th><th>JSP version</th><th>Obtain</th></tr>\n <tr><td> <a href=\"http://jakarta.apache.org/taglibs/sandbox/doc/mailer2-doc/\">Mailer 2</a></td><td>2.0+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated-sandbox/mailer2/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/cache-doc/\">Cache</a></td><td>1.2+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated-sandbox/cache/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/sandbox/doc/datagrid-doc/\">Data Grid</a></td><td>1.2+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated-sandbox/datagrid/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/application-doc/\">Application</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/application/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/benchmark-doc/\">Benchmark</a></td><td >1.1+</td><td><a >href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/benchmark/trunk/\">svn</a></td></tr>\n > <tr><td><a >href=\"http://jakarta.apache.org/taglibs/doc/bsf-doc/\">BSF</a></td><td>1.1+</td><td><a > >href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/bsf/trunk/\">svn</a></td></tr>\n > <tr><td><a >href=\"http://jakarta.apache.org/taglibs/datetime/\">DateTime</a></td><td>1.1+</td><td><a > >href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/datetime/trunk/\">svn</a></td></tr>\n > <tr><td><a >href=\"http://jakarta.apache.org/taglibs/doc/dbtags-doc/\">DBTags</a></td><td>1.1+</td><td><a > >href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/dbtags/trunk/\">svn</a></td></tr>\n > <tr><td><a >href=\"http://jakarta.apache.org/taglibs/i18n/\">I18N</a></td><td>1.1+</td><td><a > >href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/i18n/trunk/\">svn</a></td></tr>\n > <tr><td><a href=\"http://jakarta.apache.org/tag libs/sandbox/doc/image-doc/\">Image</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated-sandbox/image/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/input-doc/\">Input</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/input/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/io-doc/\">IO</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/io/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/iterators/\">Iterators</a></td><td>1.2+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/sandbox/iterators/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/jndi/\">JNDI</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/proper/jndi/trunk/\">svn</a></td></tr>\n <tr><t d><a href=\"http://jakarta.apache.org/taglibs/doc/jmstags-doc/\">JMS</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/jmstags/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/log/\">Log</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/proper/log/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/mailer-doc/\">Mailer</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/mailer/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/page-doc/\">Page</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/page/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/random/\">Random</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/random/trunk/\">svn< /a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/regexp/\">Regexp</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/proper/regexp/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/request-doc/\">Request</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/request/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/response-doc/\">Response</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/response/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/scrape-doc/\">Scrape</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/scrape/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/session-doc/\">Session</a></td><td>1.1+</td><td><a href=\"http://svn.apache .org/repos/asf/jakarta/taglibs/deprecated/session/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/string/\">String</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/proper/string/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/ultradev4-doc/\">UltraDev 4.0 Tool Extension</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/tools/trunk/UltraDev/4.0/ctlx/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/unstandard/\">Unstandard</a></td><td>1.2+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/sandbox/unstandard/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/utility-doc/\">Utility</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/utility/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta .apache.org/taglibs/doc/xsl-doc/\">XSL</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/xsl/trunk/\">svn</a></td></tr>\n <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/xtags-doc/\">XTags</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/xtags/trunk/\">svn</a></td></tr>\n </table>" + "postlude": ["<p>In 2008 and 2009, the majority of these libraries were deprecated and have now been retired. The remaining work has ", + " moved over to the <a href=\"http://tomcat.apache.org/taglibs/\">Tomcat Taglibs</a> project - namely the following taglibs: </p>", + "<ul>", + " <li>Standard - The implementations of the various JSTL specifications</li>", + " <li><s>RDC - Reusable Dialog Components Taglib</s></li>", + " </ul>", + "<p>In 2014 the RDC Taglib was retired from the Tomcat Taglibs project. </p>", + "<table class=\"colortable\" width=\"100%\">", + " <tr><th>Name</th><th>JSP version</th><th>Obtain</th></tr>", + " <tr><td><a href=\"http://tomcat.apache.org/taglibs/rdc/\">RDC</a></td><td>2.0+</td><td><a href=\"http://svn.apache.org/repos/asf/tomcat/taglibs/rdc/\">svn</a></td></tr>", + " </table>", + "<p>A list of the original retired taglibs follows: </p>", + "<table class=\"colortable\" width=\"100%\">", + " <tr><th>Name</th><th>JSP version</th><th>Obtain</th></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/sandbox/doc/mailer2-doc/\">Mailer 2</a></td><td>2.0+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated-sandbox/mailer2/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/cache-doc/\">Cache</a></td><td>1.2+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated-sandbox/cache/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/sandbox/doc/datagrid-doc/\">Data Grid</a></td><td>1.2+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated-sandbox/datagrid/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/application-doc/\">Application</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/application/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/benchmark-doc/\">Benchmark</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/benchmark/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/bsf-doc/\">BSF</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/bsf/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/datetime/\">DateTime</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/datetime/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/dbtags-doc/\">DBTags</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/dbtags/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/i18n/\">I18N</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/i18n/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/sandbox/doc/image-doc/\">Image</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated-sandbox/image/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/input-doc/\">Input</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/input/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/io-doc/\">IO</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/io/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/iterators/\">Iterators</a></td><td>1.2+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/sandbox/iterators/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/jndi/\">JNDI</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/proper/jndi/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/jmstags-doc/\">JMS</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/jmstags/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/log/\">Log</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/proper/log/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/mailer-doc/\">Mailer</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/mailer/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/page-doc/\">Page</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/page/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/random/\">Random</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/random/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/regexp/\">Regexp</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/proper/regexp/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/request-doc/\">Request</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/request/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/response-doc/\">Response</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/response/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/scrape-doc/\">Scrape</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/scrape/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/session-doc/\">Session</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/session/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/string/\">String</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/proper/string/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/ultradev4-doc/\">UltraDev 4.0 Tool Extension</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/tools/trunk/UltraDev/4.0/ctlx/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/unstandard/\">Unstandard</a></td><td>1.2+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/sandbox/unstandard/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/utility-doc/\">Utility</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/utility/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/xsl-doc/\">XSL</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/xsl/trunk/\">svn</a></td></tr>", + " <tr><td><a href=\"http://jakarta.apache.org/taglibs/doc/xtags-doc/\">XTags</a></td><td>1.1+</td><td><a href=\"http://svn.apache.org/repos/asf/jakarta/taglibs/deprecated/xtags/trunk/\">svn</a></td></tr>", + " </table>"] }, { "name": "Lenya", @@ -282,7 +359,7 @@ "project": "mrunit", "retired": "April 2016", "scm": "svn", - "jira": "MRUNIT", + "tracker": ["JIRA", "MRUNIT"], "wiki": "https://cwiki.apache.org/confluence/display/MRUNIT", "mailnames": ["dev", "user", "commits"], "description": "Apache MRUnit was a Java library that helped developers unit test Apache Hadoop map reduce jobs." @@ -294,18 +371,28 @@ "subproject": "ojb", "retired": "January 2011", "scm": "svn", - "jira": "OJB", + "tracker": ["JIRA", "OJB"], "wiki": "https://wiki.apache.org/db-ojb", "mailnames": ["dev", "user"], "description": "Apache OJB was an Object/Relational mapping tool that allowed transparent persistence for Java Objects against relational databases.", - "postlude": "<p>If you are looking for a project to use in place of OJB, implementations\n of the standards <a href=\"http://db.apache.org/jdo\">Java Data Objects\n (JDO)</a> and <a href=\"\">Java Persistence API (JPA)</a> may be good\n starting points. The Apache Software Foundation hosts the following\n alternatives:\n <ul>\n <li><a href=\"http://cayenne.apache.org/\">Apache Cayenne</a></li>\n <li><a href=\"http://incubator.apache.org/empire-db/\">Apache Empire-db</a></li>\n <li><a href=\"http://openjpa.apache.org/\">Apache OpenJPA</a></li>\n <li><a href=\"http://db.apache.org/torque\">Apache Torque</a></li>\n </ul></p>" + "postlude": ["<p>If you are looking for a project to use in place of OJB, implementations", + " of the standards <a href=\"http://db.apache.org/jdo\">Java Data Objects", + " (JDO)</a> and <a href=\"\">Java Persistence API (JPA)</a> may be good", + " starting points. The Apache Software Foundation hosts the following", + " alternatives:", + " <ul>", + " <li><a href=\"http://cayenne.apache.org/\">Apache Cayenne</a></li>", + " <li><a href=\"http://incubator.apache.org/empire-db/\">Apache Empire-db</a></li>", + " <li><a href=\"http://openjpa.apache.org/\">Apache OpenJPA</a></li>", + " <li><a href=\"http://db.apache.org/torque\">Apache Torque</a></li>", + " </ul></p>"] }, { "name": "Oltu", "project": "oltu", "retired": "April 2018", "scm": "svn", - "jira": "OLTU", + "tracker": ["JIRA", "OLTU"], "wiki": "https://cwiki.apache.org/confluence/display/oltu/", "mailnames": ["dev", "user", "commits"], "description": "Apache Oltu was an OAuth protocol implementation in Java. It also covers others OAuth family related implementations such as JWT, JWS and OpenID Connect" @@ -315,27 +402,27 @@ "project": "onami", "retired": "January 2016", "scm": "svn", - "jira": "ONAMI", + "tracker": ["JIRA", "ONAMI"], "mailnames": ["dev", "user", "commits"], "description": " Apache Onami was a project focused on the development and maintenance of a set of Google Guice extensions not provided out of the box by the library itself.\n " }, { "name": "Quetzalcoatl", "project": "quetzalcoatl", - "website": "#", - "nodist": true, + "website": "", + "nodist": true, "retired": "June 2010", "scm": "svn", "mailnames": [], "description": "Quetzalcoatl, or Quetz as it was more commonly known, was a project charged with the creation and maintenance of open-source software related to mod_python and the Python programming language. Mainly formed around the mod_python subproject, it didn't have activity in the mod_python community to drive the larger project along.", - "postlude": " <p>The mod_python website and downloads remain open. See the website at <a href=\"http://www.modpython.org/\">http://www.modpython.org</a> for more information on mod_python. Quetz itself never had a website. </p>" + "postlude": [" <p>The mod_python website and downloads remain open. See the website at <a href=\"http://www.modpython.org/\">http://www.modpython.org</a> for more information on mod_python. Quetz itself never had a website. </p>"] }, { "name": "Rave", "project": "rave", "retired": "January 2016", "scm": "svn", - "jira": "RAVE", + "tracker": ["JIRA", "RAVE"], "wiki": "http://wiki.apache.org/rave/", "mailnames": ["dev", "users", "commits"], "description": "Apache Rave was a web and social mashup engine that aggregated and served web widgets. It was targeted as an engine for internet and intranet portals." @@ -345,18 +432,22 @@ "project": "shale", "retired": "May 2009", "scm": "svn", - "jira": "SHALE", + "tracker": ["JIRA", "SHALE"], "wiki": "http://wiki.apache.org/shale/", "mailnames": ["dev", "user", "commits"], - "description": "Shale was a web application framework, fundamentally based on JavaServer Faces.", - "postlude": "<p>The Shale Test code has been forked into the MyFaces project - \n <a href=\"http://svn.apache.org/viewvc/myfaces/test/trunk/\">http://svn.apache.org/viewvc/myfaces/test/trunk/</a>.</p>" + "description": "Shale was a web application framework, fundamentally based on JavaServer Faces. This blog entry from Kito Mann is an excellent discussion of Shale's retirement: <a href=\"http://blogs.jsfcentral.com/editorsdesk/entry/shale_in_the_attic\">http://blogs.jsfcentral.com/editorsdesk/entry/shale_in_the_attic</a>.", + "postlude": ["<p><a href=\"http://markmail.org/message/liexnvlxdlahlr74\">Discussion on the mailing list</a>", + " indicated that <a href=\"http://seamframework.org\">Seam</a> and <a href=\"http://myfaces.apache.org\">MyFaces</a>", + " were the natural successors to Shale. </p>", + "<p>The Shale Test code has been forked into the MyFaces project - ", + " <a href=\"http://svn.apache.org/viewvc/myfaces/test/trunk/\">http://svn.apache.org/viewvc/myfaces/test/trunk/</a>.</p>"] }, { "name": "Shindig", "project": "shindig", "retired": "November 2015", "scm": "svn", - "jira": "SHINDIG", + "tracker": ["JIRA", "SHINDIG"], "wiki": "https://cwiki.apache.org/confluence/display/shindig/", "mailnames": ["dev", "users", "commits"], "description": "Apache Shindig was an OpenSocial container to help you to start hosting OpenSocial apps quickly." @@ -367,7 +458,7 @@ "project": "stdcxx", "retired": "July 2013", "scm": "svn", - "jira": "STDCXX", + "tracker": ["JIRA", "STDCXX"], "wiki": "http://wiki.apache.org/stdcxx/", "board": "Cxx_Standard_Library", "mailnames": ["dev", "commits", "user"], @@ -378,7 +469,7 @@ "project": "stratos", "retired": "January 2017", "scm": "git-wip", - "jira": "STRATOS", + "tracker": ["JIRA", "STRATOS"], "wiki": "https://cwiki.apache.org/confluence/display/stratos/", "mailnames": ["dev", "commits"], "description": "Stratos was a highly-extensible Platform-as-a-Service (PaaS) framework that helped run Apache Tomcat, PHP, and MySQL applications, and could be extended to support many more environments on all major cloud infrastructures." @@ -388,7 +479,7 @@ "project": "tuscany", "retired": "May 2016", "scm": "svn", - "jira": "TUSCANY", + "tracker": ["JIRA", "TUSCANY"], "wiki": "https://cwiki.apache.org/confluence/display/tuscany/", "mailnames": ["dev", "user", "commits"], "description": "Tuscany simplified the task of developing service-oriented architectured solutions by providing a comprehensive infrastructure for development and management, based on the Service Component Architecture standard." @@ -398,18 +489,18 @@ "project": "whirr", "retired": "March 2015", "scm": "svn", - "jira": "WHIRR", + "tracker": ["JIRA", "WHIRR"], "wiki": "https://cwiki.apache.org/confluence/display/whirr/", "mailnames": ["dev", "user", "commits"], "description": "Apache Whirr was a set of libraries for running cloud services and deploying clusters.", - "postlude": "<p>Note that instructions on how to obtain and build the source are found on the wiki and not the website: <a href=\"https://cwiki.apache.org/confluence/display/WHIRR/How+To+Contribute\">https://cwiki.apache.org/confluence/display/WHIRR/How+To+Contribute</a>. </p>" + "postlude": ["<p>Note that instructions on how to obtain and build the source are found on the wiki and not the website: <a href=\"https://cwiki.apache.org/confluence/display/WHIRR/How+To+Contribute\">https://cwiki.apache.org/confluence/display/WHIRR/How+To+Contribute</a>. </p>"] }, { "name": "Wink", "project": "wink", "retired": "April 2017", "scm": "svn", - "jira": "WINK", + "tracker": ["JIRA", "WINK"], "wiki": "https://cwiki.apache.org/confluence/display/wink/", "mailnames": ["dev", "commits", "user"], "description": "Apache Wink was a simple yet solid framework for building RESTful Web services. It is comprised of a Server module and a Client module for developing and consuming RESTful Web services." @@ -419,7 +510,7 @@ "project": "wookie", "retired": "April 2016", "scm": "svn", - "jira": "WOOKIE", + "tracker": ["JIRA", "WOOKIE"], "wiki": "https://cwiki.apache.org/confluence/display/wookie/", "mailnames": ["dev", "user", "commits"], "description": "Wookie was a Java server application that allowed you to upload and deploy W3C/OpenSocial/Google Wave widgets to your applications." @@ -427,21 +518,22 @@ { "name": "WS Muse", "stem": "muse", - "website": "#", + "website": "", "project": "ws", "subproject": "muse", "retired": "January 2013", "mailnames": ["dev", "user", "commits"], "description": "Muse was a Java-based implementation of the WS-ResourceFramework (WSRF), WS-BaseNotification (WSN), and WS-DistributedManagement (WSDM) specifications.", - "postlude": "<p>One fork that has been created is <i>amused</i>, available at <a href=\"http://52north.org/communities/sensorweb/amused/\">http://52north.org/communities/sensorweb/amused</a>. </p>" + "postlude": ["<p>One fork that has been created is <i>amused</i>, available at <a href=\"http://52north.org/communities/sensorweb/amused/\">http://52north.org/communities/sensorweb/amused</a>. </p>"] }, { "name": "Xang", "project": "xml", "subproject": "xang", + "nodist": true, "retired": "December 2009", "scm": "svn", - "mailnames": ["dev", "commits"], + "mailnames": ["dev", "cvs"], "description": "Apache Xang was an XML Web Framework that aggregated multiple data sources, made that data URL addressable and defined custom methods to access that data." }, { @@ -450,20 +542,19 @@ "subproject": "xindice", "retired": "August 2011", "scm": "svn", - "bugzilla": "Xindice", + "tracker": ["Bugzilla","Xindice"], "wiki": "http://wiki.apache.org/xindice", - "mailnames": ["dev", "user"], + "mailnames": ["dev", "users"], "description": "Apache Xindice was a native XML database." }, { "name": "XMLBeans", - "project": "xml", - "subproject": "xmlbeans", + "project": "xmlbeans", "retired": "July 2013", "scm": "svn", "mailnames": ["dev", "user", "commits", "cxx-dev"], "description": "Apache XMLBeans was a technology for accessing XML by binding it to Java types.", - "postlude": "<p>Alternatives are discussed on this StackOverflow question: <a href=\"http://stackoverflow.com/questions/27727546/what-to-use-instead-of-xmlbeans-now-that-it-has-been-retired\">What to use instead of XMLBeans now that it has been retired?</a></p>" + "postlude": ["<p>Alternatives are discussed on this StackOverflow question: <a href=\"http://stackoverflow.com/questions/27727546/what-to-use-instead-of-xmlbeans-now-that-it-has-been-retired\">What to use instead of XMLBeans now that it has been retired?</a></p>"] }, { "name": "XML",
Modified: attic/site-lua/docs/mk-stuff URL: http://svn.apache.org/viewvc/attic/site-lua/docs/mk-stuff?rev=1830323&r1=1830322&r2=1830323&view=diff ============================================================================== --- attic/site-lua/docs/mk-stuff (original) +++ attic/site-lua/docs/mk-stuff Fri Apr 27 09:58:57 2018 @@ -2,9 +2,11 @@ use strict ; use warnings ; +use YAML ; use JSON ; -my $JSON_FILE = 'data/projects.json' ; +my $YAML_FILE = 'data/attic.yaml' ; +my $JSON_FILE = 'data/attic.json' ; my $PAGE_TMPL = 'data/page.tmpl' ; my $INDX_TXT = 'data/index.txt' ; my $PROC_TXT = 'data/process.txt' ; @@ -55,6 +57,14 @@ sub get_file ($) $res ; } +sub put_file ($$) + { my $file = shift ; + my $text = shift ; + open FILE, '>', $file or Error "can't write $file ($!)" ; + print FILE $text ; + close FILE ; + } + sub mk_tag { my $hash = shift ; my $res = $hash -> {stem} ; @@ -65,17 +75,33 @@ sub mk_tag $res ; } -sub get_json - { my $json = from_json get_file $JSON_FILE ; - return { map { ( mk_tag ( $_ ) => $_ ) } @$json } ; +sub get_yaml { my @res = YAML::LoadFile $YAML_FILE ; [ @res ] ; } +# sub get_json { my $res = from_json get_file $JSON_FILE ; $res ; } +sub get_prjs { get_yaml ; } + +sub put_json + { my $file = shift ; + my $yaml = shift ; + put_file $file, JSON::to_json + ( [ map + { my $r ; %$r = %$_ ; + for my $t ( qw(nodist nokeys) ) + { $r -> { $t } = ( $_ -> { $t } ? JSON::true : JSON::false ) + if exists $_ -> { $t } ; + } + $r ; + } @$yaml + ] + , { pretty => 1, canonical => 1 } + ) ; } sub mk_proj_list - { my $json = shift ; + { my $prjs = shift ; my @res = () ; - for my $tag - ( sort { lc $json->{$a}{name} cmp lc $json->{$b}{name} } keys %$json ) - { my $hash = $json -> { $tag } ; + for my $hash + ( sort { lc $a -> {name} cmp lc $b -> {name} } @$prjs ) + { my $tag = mk_tag $hash ; push @res, sprintf '<a href="/projects/%s.html">%s</a>' , $tag, $hash -> {name} ; } @@ -85,7 +111,11 @@ sub mk_proj_list sub url { sprintf '<a href="%s">%s</a>', @_ ; } sub site_url { my $site = shift ; - return $NA if not defined $site or $site =~ /^#/ ; + my $proj = shift ; + my $sprj = shift ; + return $NA if defined $site and $site eq '' ; + $site ||= "$proj.apache.org" ; + $site .= "/$sprj" if defined $sprj ; url "https://$site", $site ; } sub mail_url @@ -94,7 +124,7 @@ sub mail_url } sub jira_url { my $p = shift ; - return $NA unless defined $p ; + return '' unless defined $p ; url "https://issues.apache.org/jira/browse/$p/", 'JIRA' ; } sub bugz_url @@ -103,6 +133,18 @@ sub bugz_url my $u = "https://bz.apache.org/bugzilla/buglist.cgi?product=%s" ; url sprintf ( $u, $b ), 'Bugzilla' ; } +sub trac_url + { my $b = shift ; + return $NA unless defined $b ; + my ( $sys, $sub ) = @$b ; + ( $sys eq 'JIRA' + ? jira_url $sub + : ( $sys eq 'Bugzilla' + ? bugz_url $sub + : "bad sys [$sys]" + ) + ) ; + } sub wiki_url { my $u = shift ; return $NA unless defined $u ; @@ -118,15 +160,19 @@ sub scm_url return $NA unless defined $scm ; $p .= "/$sub" if defined $sub ; ( $scm eq 'svn' - ? url ( "http://svn.apache.org/viewvc/$p/", $scm ) - : 'todo' + ? url ( "http://svn.apache.org/repos/asf/$p/", $scm ) + : ( $scm eq 'git-wip' + ? url ( "https://git-wip-us.apache.org/repos/asf?p=$p.git", $scm ) + : 'todo' + ) ) ; } sub arch_url - { my ( $p, $sub, $dist ) = @_ ; - return $NA unless $dist ; + { my ( $p, $sub, $dist, $ndst ) = @_ ; + return $NA if $ndst ; return $NA unless defined $p ; $p .= "/$sub" if defined $sub ; + $p = $dist if defined $dist ; url "http://archive.apache.org/dist/$p/", "archive.apache.org/dist/$p/" } @@ -159,32 +205,30 @@ POST } sub mk_proj - { my $tag = shift ; - my $hash = shift ; + { my $hash = shift ; my $name = ucfirst $hash -> {name} ; - my $proj = $hash -> {project} || $tag ; + my $proj = $hash -> {project} ; my $sprj = $hash -> {subproject} ; - my $site = $hash -> {website} || "$proj.apache.org" ; - $site .= "/$sprj" if defined $sprj ; + my $site = $hash -> {website} ; my $mail = $hash -> {mailnames} ; my $rtrd = $hash -> {retired} ; my $dscr = $hash -> {description} ; - my $post = $hash -> {postlude} || DEF_POST $name ; - my $jira = $hash -> {jira} ; - my $bugz = $hash -> {bugzilla} ; + my $trac = $hash -> {tracker} ; my $wiki = $hash -> {wiki} ; my $board = $hash -> {board} ; my $scm = $hash -> {scm} ; - my $dist = not $hash -> {nodist} ; + my $dist = $hash -> {dist} ; + my $ndst = $hash -> {nodist} ; + my $post = $hash -> {postlude} || DEF_POST $name ; my @res = ( [ 'Website' - , site_url $site + , site_url $site, $proj, $sprj ] , [ 'Mailing List Archives' , join ( "\n| ", map { mail_url $proj, $_ } @$mail ) || $NA ] , [ 'Issue Tracker' - , join ( ' | ', grep /./, jira_url ( $jira ), bugz_url ( $bugz ) ) || $NA + , trac_url ( $trac ) || $NA ] , [ 'Source' , scm_url $scm, $proj, $sprj @@ -196,11 +240,11 @@ sub mk_proj , minutes_url $board || $proj ] , [ 'Archive' - , arch_url $proj, $sprj, $dist + , arch_url $proj, $sprj, $dist, $ndst ] ) ; my $res = <<TAB ; -<p>$site moved into the Attic in $rtrd.<br>$dscr</p> +<p>Project <i>$name</i> moved into the Attic in $rtrd.<br>$dscr</p> <table style="margin-left: auto; margin-right:auto; width:90%"> <tr><th>Read-only Resource</th><th>Link(s)</th></tr> TAB @@ -213,12 +257,10 @@ TAB $res ; } -my $json = get_json ; -# print to_json( $json, { canonical => 1, pretty => 1 } ); -my $page = get_file $PAGE_TMPL ; -# print $page ; exit ; -my $projs = mk_proj_list $json ; -$page =~ s/%PROJS%/$projs/ ; +my $prjs = get_prjs ; +my $page = get_file $PAGE_TMPL ; +my $plist = mk_proj_list $prjs ; +$page =~ s/%PROJS%/$plist/ ; gen_page ( PAGE => $page @@ -241,11 +283,17 @@ gen_page , BODY => get_file $PROC_TXT ) ; -for my $tag ( sort keys %$json ) - { gen_page +for my $hash ( @$prjs ) + { my $tag = mk_tag $hash ; + my $prj = $hash -> {project} ; + my $sub = $hash -> {subproject} ; + my $tit = join ' ', grep { defined } ( $prj, $sub ) ; + gen_page ( PAGE => $page , FILE => "projects/$tag.html" - , TITLE => "Apache Attic -- Apache @{[ucfirst $tag]}" - , BODY => mk_proj ( $tag, $json -> { $tag } ) + , TITLE => "Apache Attic -- @{[ucfirst $tit]}" + , BODY => mk_proj $hash ) ; } + +put_json $JSON_FILE, $prjs ;