Author: hboutemy
Date: Sat Jun 7 17:27:58 2025
New Revision: 1926217
URL: http://svn.apache.org/viewvc?rev=1926217&view=rev
Log:
COMDEV-560 add no-tlp-doap projects to projects.json
instead of creating in-memory in browser UI js
Modified:
comdev/projects.apache.org/trunk/scripts/cronjobs/parseprojects.py
comdev/projects.apache.org/trunk/site/js/projects.js
comdev/projects.apache.org/trunk/site/json/foundation/projects.json
Modified: comdev/projects.apache.org/trunk/scripts/cronjobs/parseprojects.py
URL:
http://svn.apache.org/viewvc/comdev/projects.apache.org/trunk/scripts/cronjobs/parseprojects.py?rev=1926217&r1=1926216&r2=1926217&view=diff
==============================================================================
--- comdev/projects.apache.org/trunk/scripts/cronjobs/parseprojects.py
(original)
+++ comdev/projects.apache.org/trunk/scripts/cronjobs/parseprojects.py Sat Jun
7 17:27:58 2025
@@ -6,6 +6,7 @@ Reads:
../../data/projects.xml
parseprojects-failures.xml (if exists)
../../site/json/foundation/committees-retired.json
+../../site/json/foundation/committees.json
Writes:
../../site/json/foundation/projects.json
@@ -188,6 +189,19 @@ retired = []
for r in committeesRetired:
retired.append(r['id'])
+with open("../../site/json/foundation/committees.json", "r", encoding='utf-8')
as f:
+ committees = json.loads(f.read())
+ f.close()
+committeesWithoutProject = {}
+for c in committees:
+ pjson = {
+ 'name': c['name'],
+ 'homepage': c['homepage'],
+ 'pmc': c['id'],
+ 'category': "no-tlp-doap"
+ }
+ committeesWithoutProject[c['id']] = pjson
+
projects = {}
failures = []
@@ -377,6 +391,8 @@ for s in itemlist :
validate(pjson, 'category', VALID_CATS, projectid, url)
validate(pjson, 'programming-language', VALID_LANG, projectid, url)
projects[projectJsonFilename] = pjson
+ if committeeId in committeesWithoutProject:
+ del committeesWithoutProject[committeeId]
#for e in add:
# pjson[e] = add[e]
name = "%s.json" % projectJsonFilename
@@ -423,6 +439,16 @@ for s in itemlist :
f.write(rdf)
f.close()
+for c in committeesWithoutProject:
+ print("WARN: adding no-tlp-doap %s " % c)
+ pjson = {
+ 'name': "Apache %s" % c.capitalize(),
+ 'homepage': "https://%s.apache.org" % c,
+ 'pmc': c,
+ 'category': "no-tlp-doap"
+ }
+ projects[c] = pjson
+
if save:
print("Writing foundation/projects.json...")
with open ("../../site/json/foundation/projects.json", "w",
encoding='utf-8') as f:
Modified: comdev/projects.apache.org/trunk/site/js/projects.js
URL:
http://svn.apache.org/viewvc/comdev/projects.apache.org/trunk/site/js/projects.js?rev=1926217&r1=1926216&r2=1926217&view=diff
==============================================================================
--- comdev/projects.apache.org/trunk/site/js/projects.js (original)
+++ comdev/projects.apache.org/trunk/site/js/projects.js Sat Jun 7 17:27:58
2025
@@ -1523,19 +1523,6 @@ function weaveInRetiredCommittees(json)
for (p in projects) {
projectsPmcs[projects[p].pmc] = p;
}
- var c;
- for (c in committees) {
- c = committees[c];
- if (!projectsPmcs[c.id] && c.id != 'attic') {
- // no DOAP file written by the PMC: creating default content
- projects[c.id] = {
- 'name': c.name,
- 'homepage': c.homepage,
- 'pmc': c.id,
- 'category': "no-tlp-doap"
- }
- }
- }
}
function setCommittees(json, state) {
Modified: comdev/projects.apache.org/trunk/site/json/foundation/projects.json
URL:
http://svn.apache.org/viewvc/comdev/projects.apache.org/trunk/site/json/foundation/projects.json?rev=1926217&r1=1926216&r2=1926217&view=diff
==============================================================================
--- comdev/projects.apache.org/trunk/site/json/foundation/projects.json
(original)
+++ comdev/projects.apache.org/trunk/site/json/foundation/projects.json Sat Jun
7 17:27:58 2025
@@ -384,6 +384,12 @@
],
"shortdesc": "Hadoop cluster management"
},
+"answer": {
+"category": "no-tlp-doap",
+"homepage": "https://answer.apache.org",
+"name": "Apache Answer",
+"pmc": "answer"
+},
"ant": {
"bug-database": "http://issues.apache.org/bugzilla/buglist.cgi?product=Ant",
"category": "build-management",
@@ -885,6 +891,12 @@
],
"shortdesc": "Microsoft Visual Source Safe support for Apache Ant."
},
+"apisix": {
+"category": "no-tlp-doap",
+"homepage": "https://apisix.apache.org",
+"name": "Apache Apisix",
+"pmc": "apisix"
+},
"apr-portable_runtime": {
"bug-database": "https://issues.apache.org/bugzilla/",
"category": "library",
@@ -994,6 +1006,18 @@
],
"shortdesc": "Apache Arrow is the universal columnar format and multi-language
toolbox for fast data interchange and in-memory analytics."
},
+"asterixdb": {
+"category": "no-tlp-doap",
+"homepage": "https://asterixdb.apache.org",
+"name": "Apache Asterixdb",
+"pmc": "asterixdb"
+},
+"atlas": {
+"category": "no-tlp-doap",
+"homepage": "https://atlas.apache.org",
+"name": "Apache Atlas",
+"pmc": "atlas"
+},
"attic-any23": {
"bug-database": "https://issues.apache.org/jira/browse/ANY23",
"category": "retired, content",
@@ -4249,6 +4273,12 @@
],
"shortdesc": "An industrial-grade RPC framework for building reliable and
high-performance services."
},
+"buildstream": {
+"category": "no-tlp-doap",
+"homepage": "https://buildstream.apache.org",
+"name": "Apache Buildstream",
+"pmc": "buildstream"
+},
"bval": {
"bug-database": "http://issues.apache.org/jira/browse/BVAL",
"category": "javaee, library",
@@ -5109,6 +5139,12 @@
],
"shortdesc": "User-friendly Java ORM with tools"
},
+"celeborn": {
+"category": "no-tlp-doap",
+"homepage": "https://celeborn.apache.org",
+"name": "Apache Celeborn",
+"pmc": "celeborn"
+},
"celix": {
"bug-database": "https://github.com/apache/celix/issues",
"category": "network-server",
@@ -9072,6 +9108,12 @@
],
"shortdesc": "The Eclipse based LDAP browser and directory client"
},
+"dolphinscheduler": {
+"category": "no-tlp-doap",
+"homepage": "https://dolphinscheduler.apache.org",
+"name": "Apache Dolphinscheduler",
+"pmc": "dolphinscheduler"
+},
"doris": {
"bug-database": "https://github.com/apache/doris/issues",
"category": "database",
@@ -9136,6 +9178,12 @@
"programming-language": "Java",
"shortdesc": "High performance, real-time analytics database for sub-second
queries at scale and under load."
},
+"dubbo": {
+"category": "no-tlp-doap",
+"homepage": "https://dubbo.apache.org",
+"name": "Apache Dubbo",
+"pmc": "dubbo"
+},
"echarts": {
"bug-database": "https://github.com/apache/echarts/issues",
"category": "library, data-visualization",
@@ -9274,6 +9322,12 @@
],
"shortdesc": "Core bank processing and lending "
},
+"flagon": {
+"category": "no-tlp-doap",
+"homepage": "https://flagon.apache.org",
+"name": "Apache Flagon",
+"pmc": "flagon"
+},
"flex": {
"bug-database": "https://issues.apache.org/jira/browse/FLEX",
"category": "web-framework",
@@ -9667,6 +9721,18 @@
],
"shortdesc": "Distributed data integration framework"
},
+"gravitino": {
+"category": "no-tlp-doap",
+"homepage": "https://gravitino.apache.org",
+"name": "Apache Gravitino",
+"pmc": "gravitino"
+},
+"griffin": {
+"category": "no-tlp-doap",
+"homepage": "https://griffin.apache.org",
+"name": "Apache Griffin",
+"pmc": "griffin"
+},
"groovy": {
"bug-database": "https://issues.apache.org/jira/browse/GROOVY",
"category": "library",
@@ -11342,6 +11408,12 @@
],
"shortdesc": "Pure Java application for load and functional testing"
},
+"johnzon": {
+"category": "no-tlp-doap",
+"homepage": "https://johnzon.apache.org",
+"name": "Apache Johnzon",
+"pmc": "johnzon"
+},
"jspwiki": {
"category": "content",
"description": "\n Apache JSPWiki is a feature-rich and extensible
WikiWiki engine built around the standard JEE \n components (Java,
servlets, JSP). It features:\n - WikiMarkup/Structured Text\n -
File attachments \n - Templates support\n - Data storage through
2 WikiPage Providers, with the capability to plug new ones\n - Security:
Authorization and authentication fine grain control\n - Easy plugin and
page filter interfaces\n - UTF-8 support\n - JSP-based\n -
Easy-ish installation\n - Page locking to prevent editing conflicts\n
- Support for Multiple Wikis\n - Custom User Preferences\n ",
@@ -11359,6 +11431,12 @@
"shortdesc": "A feature-rich and extensible WikiWiki engine built around the
standard \n JEE components (Java, servlets, JSP).",
"shortname": "jspwiki"
},
+"juneau": {
+"category": "no-tlp-doap",
+"homepage": "https://juneau.apache.org",
+"name": "Apache Juneau",
+"pmc": "juneau"
+},
"kafka": {
"bug-database": "https://issues.apache.org/jira/browse/KAFKA",
"category": "big-data",
@@ -11567,6 +11645,12 @@
],
"shortdesc": "Columnar storage manager"
},
+"kvrocks": {
+"category": "no-tlp-doap",
+"homepage": "https://kvrocks.apache.org",
+"name": "Apache Kvrocks",
+"pmc": "kvrocks"
+},
"kylin": {
"bug-database": "https://issues.apache.org/jira/projects/KYLIN/issues",
"category": "big-data",
@@ -11597,6 +11681,12 @@
],
"shortdesc": "Apache Kylin is an open source, distributed Analytical Data
Warehouse for Big Data."
},
+"kyuubi": {
+"category": "no-tlp-doap",
+"homepage": "https://kyuubi.apache.org",
+"name": "Apache Kyuubi",
+"pmc": "kyuubi"
+},
"libcloud": {
"bug-database": "https://issues.apache.org/jira/browse/LIBCLOUD",
"category": "cloud, library",
@@ -12118,6 +12208,12 @@
"shortdesc": "Apache log4php is a logging framework for PHP.",
"shortname": "log4php"
},
+"logodev": {
+"category": "no-tlp-doap",
+"homepage": "https://logodev.apache.org",
+"name": "Apache Logodev",
+"pmc": "logodev"
+},
"lucene-core": {
"bug-database": "https://github.com/apache/lucene/issues",
"category": "database, library, search",
@@ -13278,6 +13374,12 @@
],
"shortdesc": "Lucene.Net is a port of the Lucene search engine library,
written in C# and targeted at .NET runtime users."
},
+"madlib": {
+"category": "no-tlp-doap",
+"homepage": "https://madlib.apache.org",
+"name": "Apache Madlib",
+"pmc": "madlib"
+},
"mahout": {
"bug-database": "https://issues.apache.org/jira/browse/MAHOUT",
"category": "library",
@@ -14680,6 +14782,12 @@
],
"shortdesc": "Apache Nutch is an open source web crawler software project."
},
+"nuttx": {
+"category": "no-tlp-doap",
+"homepage": "https://nuttx.apache.org",
+"name": "Apache Nuttx",
+"pmc": "nuttx"
+},
"ofbiz": {
"bug-database": "https://issues.apache.org/jira/browse/OFBIZ",
"category": "web-framework, database, network-server, xml, http, content,
geospatial",
@@ -15139,6 +15247,12 @@
],
"shortdesc": "Dependency Injection Platform."
},
+"openwhisk": {
+"category": "no-tlp-doap",
+"homepage": "https://openwhisk.apache.org",
+"name": "Apache Openwhisk",
+"pmc": "openwhisk"
+},
"orc": {
"bug-database": "https://issues.apache.org/jira/browse/orc",
"category": "big-data, database, hadoop, library",
@@ -15206,6 +15320,12 @@
],
"shortdesc": "A highly scalable, distributed storage for Analytics, Big data
and Cloud Native applications."
},
+"paimon": {
+"category": "no-tlp-doap",
+"homepage": "https://paimon.apache.org",
+"name": "Apache Paimon",
+"pmc": "paimon"
+},
"parquet": {
"bug-database": "https://issues.apache.org/jira/browse/PARQUET",
"category": "big-data",
@@ -15634,6 +15754,12 @@
],
"shortdesc": "The Apache PDFBox library is an open source Java tool for
working with PDF documents."
},
+"pekko": {
+"category": "no-tlp-doap",
+"homepage": "https://pekko.apache.org",
+"name": "Apache Pekko",
+"pmc": "pekko"
+},
"perl-mod_perl": {
"bug-database": "http://perl.apache.org/bugs/",
"category": "httpd-module",
@@ -16384,6 +16510,18 @@
],
"shortdesc": "Provide authorization framework across multiple datasources and
have a single glass of pane for Security & Governance."
},
+"ratis": {
+"category": "no-tlp-doap",
+"homepage": "https://ratis.apache.org",
+"name": "Apache Ratis",
+"pmc": "ratis"
+},
+"rocketmq": {
+"category": "no-tlp-doap",
+"homepage": "https://rocketmq.apache.org",
+"name": "Apache Rocketmq",
+"pmc": "rocketmq"
+},
"roller": {
"bug-database": "https://issues.apache.org/jira/browse/ROL",
"category": "content",
@@ -16437,6 +16575,12 @@
],
"shortdesc": "Compiles programs written in ActionScript and MXML into
JavaScript and HTML that can run wherever JavaScript runs."
},
+"rya": {
+"category": "no-tlp-doap",
+"homepage": "https://rya.apache.org",
+"name": "Apache Rya",
+"pmc": "rya"
+},
"samza": {
"bug-database": "https://issues.apache.org/jira/browse/SAMZA",
"category": "big-data",
@@ -16529,6 +16673,12 @@
],
"shortdesc": "Library implementing XML Digital Signature Specification & XML
Encryption Specification"
},
+"sdap": {
+"category": "no-tlp-doap",
+"homepage": "https://sdap.apache.org",
+"name": "Apache Sdap",
+"pmc": "sdap"
+},
"seatunnel": {
"bug-database": "https://github.com/apache/seatunnel/issues",
"category": "big-data",
@@ -16547,6 +16697,12 @@
],
"shortdesc": "SeaTunnel is a next-generation super high-performance,
distributed, massive data integration tool."
},
+"sedona": {
+"category": "no-tlp-doap",
+"homepage": "https://sedona.apache.org",
+"name": "Apache Sedona",
+"pmc": "sedona"
+},
"serf": {
"bug-database": "https://issues.apache.org/jira/browse/SERF/",
"category": "library",
@@ -16572,6 +16728,12 @@
],
"shortdesc": "High performance C-based HTTP client library built upon the
Apache Portable Runtime (APR) library."
},
+"servicecomb": {
+"category": "no-tlp-doap",
+"homepage": "https://servicecomb.apache.org",
+"name": "Apache Servicecomb",
+"pmc": "servicecomb"
+},
"servicemix": {
"bug-database": "http://issues.apache.org/activemq/browse/SM",
"category": "network-client, network-server, xml, osgi",
@@ -16605,6 +16767,18 @@
],
"shortdesc": "Apache ServiceMix is an open source ESB providing routing and
mediation features."
},
+"shardingsphere": {
+"category": "no-tlp-doap",
+"homepage": "https://shardingsphere.apache.org",
+"name": "Apache Shardingsphere",
+"pmc": "shardingsphere"
+},
+"shenyu": {
+"category": "no-tlp-doap",
+"homepage": "https://shenyu.apache.org",
+"name": "Apache Shenyu",
+"pmc": "shenyu"
+},
"shiro": {
"bug-database": "https://issues.apache.org/jira/browse/SHIRO",
"category": "library, web-framework",
@@ -16869,6 +17043,12 @@
"shortdesc": "A simple to use Java Security Framework.",
"vendor": "The Apache Software Foundation"
},
+"singa": {
+"category": "no-tlp-doap",
+"homepage": "https://singa.apache.org",
+"name": "Apache Singa",
+"pmc": "singa"
+},
"sis-spatial_information_system": {
"bug-database": "http://issues.apache.org/jira/browse/SIS",
"category": "geospatial, library",
@@ -17922,6 +18102,24 @@
],
"shortdesc": "Apache Storm is a distributed real-time computation system."
},
+"stormcrawler": {
+"category": "no-tlp-doap",
+"homepage": "https://stormcrawler.apache.org",
+"name": "Apache Stormcrawler",
+"pmc": "stormcrawler"
+},
+"streampark": {
+"category": "no-tlp-doap",
+"homepage": "https://streampark.apache.org",
+"name": "Apache Streampark",
+"pmc": "streampark"
+},
+"streampipes": {
+"category": "no-tlp-doap",
+"homepage": "https://streampipes.apache.org",
+"name": "Apache Streampipes",
+"pmc": "streampipes"
+},
"struts": {
"bug-database": "https://issues.apache.org/jira/browse/WW/",
"category": "web-framework",
@@ -18084,6 +18282,12 @@
],
"shortdesc": "Apache Syncope is an Open Source system for managing digital
identities in enterprise environments."
},
+"systemds": {
+"category": "no-tlp-doap",
+"homepage": "https://systemds.apache.org",
+"name": "Apache Systemds",
+"pmc": "systemds"
+},
"tapestry": {
"bug-database": "https://issues.apache.org/jira/browse/TAP5",
"category": "web-framework",
@@ -18720,6 +18924,12 @@
],
"shortdesc": "The Apache Tika toolkit detects and extracts metadata and
structured \n text content from various documents using existing parser
libraries. \n "
},
+"tinkerpop": {
+"category": "no-tlp-doap",
+"homepage": "https://tinkerpop.apache.org",
+"name": "Apache Tinkerpop",
+"pmc": "tinkerpop"
+},
"tomcat": {
"bug-database": "http://tomcat.apache.org/bugreport.html",
"category": "network-server, http, javaee",
@@ -19087,6 +19297,12 @@
"shortdesc": "Annotator components and a\n scalable integration and
deployment framework for\n Unstructured Information analysis",
"shortname": "UIMA"
},
+"uniffle": {
+"category": "no-tlp-doap",
+"homepage": "https://uniffle.apache.org",
+"name": "Apache Uniffle",
+"pmc": "uniffle"
+},
"unomi": {
"bug-database": "https://issues.apache.org/jira/projects/UNOMI/",
"category": "search",