Skip to content

Commit dc1eeb5

Browse files
committed
[repo] Generate Third-party libraries from repository
This change includes: - a new libraries tool - a command on the tool (fetch) which will parse the thirdpartylibs.xml files located in the .moodle directory and then generate a libraries.json file from this - a command on the tool (generate) which will take the libraries.json file and a legacy-libraries.json file, and then generate a static markdown file - a GitHub action to run these commands once per week Fixes #93
1 parent 11edcc9 commit dc1eeb5

File tree

11 files changed

+2709
-932
lines changed

11 files changed

+2709
-932
lines changed

.github/workflows/update-moodle-metadata.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,14 @@ jobs:
6262
run: |
6363
../scripts/generate-contributor-list.sh > ../data/moodle-contributors.txt
6464
65+
- name: Fetch third-party libraries list
66+
run: |
67+
yarn libraries-fetch
68+
69+
- name: Generate third-party libraries credits
70+
run: |
71+
yarn libraries-generate
72+
6573
- name: Create Pull Request
6674
uses: peter-evans/create-pull-request@v4
6775
with:

data/legacy-libraries.json

Lines changed: 243 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,243 @@
1+
[
2+
{
3+
"copyrightHolders": [
4+
"Jeroen Wijering"
5+
],
6+
"location": "filter/mediaplugin/flvplayer.swf",
7+
"name": "FLV Player",
8+
"description": "Provide a great search experience without the need for external, server-side, search services.",
9+
"version": "",
10+
"license": "GPL",
11+
"customised": false,
12+
"repository": "http://www.jeroenwijering.com"
13+
},
14+
{
15+
"copyrightHolders": [
16+
"2002 interactivetools.com, inc."
17+
],
18+
"location": "lib/editor",
19+
"name": "htmlArea",
20+
"description": "JavaScript/HTML script to put a GUI editor in textareas on Internet Explorer and Mozilla.",
21+
"version": "3.0 beta",
22+
"license": "htmlArea License (based on BSD license)",
23+
"customised": true,
24+
"repository": "http://www.jeroenwijering.com"
25+
},
26+
{
27+
"copyrightHolders": [
28+
"2002 Ivan Kozik"
29+
],
30+
"location": "lib/ipatlas",
31+
"name": "IP-Atlas",
32+
"description": "PHP scripts to show the location of an IP address on a map.",
33+
"version": "",
34+
"license": "GPL",
35+
"customised": false,
36+
"repository": "http://www.xpenguin.com/ip-atlas.php"
37+
},
38+
{
39+
"copyrightHolders": [
40+
"2008 Nathanael C. Fritz"
41+
],
42+
"location": "lib/jabber",
43+
"name": "PHP library for XMPP (aka Jabber, Google Talk, etc).",
44+
"description": "Provide a great search experience without the need for external, server-side, search services.",
45+
"version": "0.1rc2-r77",
46+
"license": "GPL",
47+
"customised": false,
48+
"repository": "http://code.google.com/p/xmpphp"
49+
},
50+
{
51+
"copyrightHolders": [
52+
"2016 The jQuery Foundation and other contributors"
53+
],
54+
"location": "lib/jquery/jquery-migrate-1.4.0.js",
55+
"name": "jQuery migrate",
56+
"description": "Library used to migrate older jQuery to jQuery 3.0",
57+
"version": "1.4.0",
58+
"license": "MIT",
59+
"customised": false,
60+
"repository": "https://github.com/jquery/jquery-migrate"
61+
},
62+
{
63+
"copyrightHolders": [
64+
"2005 Michal Migurski"
65+
],
66+
"location": "lib/json",
67+
"name": "Services_JSON",
68+
"description": "Allows PHP->JS communication via JSON",
69+
"version": "1.3.1",
70+
"license": "Modified BSD (GPL-compatible)",
71+
"customised": false,
72+
"repository": "http://pear.php.net/pepr/pepr-proposal-show.php?id=198"
73+
},
74+
{
75+
"copyrightHolders": [
76+
"2002, 2003, 2005 Ulf Harnhammar"
77+
],
78+
"location": "lib/kses.php",
79+
"name": "kses",
80+
"description": "HTML/XHTML filter that only allows some elements and attributes",
81+
"version": "0.2.2",
82+
"license": "GNU GPL",
83+
"customised": false,
84+
"repository": "http://sourceforge.net/projects/kses"
85+
},
86+
{
87+
"copyrightHolders": [
88+
"Matt Agar",
89+
"Martin Jantošovič"
90+
],
91+
"location": "lib/lessphp",
92+
"name": "less.php",
93+
"description": "The less.php is a PHP port of the official LESS processor used by moodle themes.",
94+
"version": "1.7.0.10",
95+
"license": "Apache 2.0",
96+
"customised": false,
97+
"repository": "http://lessphp.typesettercms.com"
98+
},
99+
{
100+
"copyrightHolders": [
101+
"2002-2004 Foteos Macrides",
102+
"1998-2004 Erik Bosrupr"
103+
],
104+
"location": "lib/overlib.js",
105+
"name": "overlib.js",
106+
"description": "JavaScript library to enable DHTML popups, floating windows, events etc.",
107+
"version": "July 2004",
108+
"license": "Artistic Open Source License",
109+
"customised": false,
110+
"repository": "http://www.macridesweb.com/oltest/"
111+
},
112+
{
113+
"copyrightHolders": [
114+
"2004 Vincent Blavet"
115+
],
116+
"location": "lib/pclzip",
117+
"name": "PclZip",
118+
"description": "Class to create, manage and unpack zip files.",
119+
"version": "2.4 RC1",
120+
"license": "GNU GPL",
121+
"customised": false,
122+
"repository": "http://www.phpconcept.net"
123+
},
124+
{
125+
"copyrightHolders": [
126+
"2004 Xavier Noguer"
127+
],
128+
"location": "lib/pear/OLE",
129+
"name": "PEAR OLE classes",
130+
"description": "This package allows reading and writing of OLE (Object Linking and Embedding) compound documents. This format is used as container for Excel (.xls), Word (.doc) and other Microsoft file formats.",
131+
"version": "0.5",
132+
"license": "PHP (plus special exemption for Moodle to make it compatible)",
133+
"customised": false,
134+
"repository": "http://pear.php.net/package/OLE"
135+
},
136+
{
137+
"copyrightHolders": [
138+
"2004 Xavier Noguer",
139+
"2004 Mika Tuupola"
140+
],
141+
"location": "lib/pear/Spreadsheet",
142+
"name": "PEAR Spreadsheet classes",
143+
"description": "Class to write Excel files",
144+
"version": "0.9.1",
145+
"license": "LGPL",
146+
"customised": false,
147+
"repository": "http://pear.php.net/package/Spreadsheet_Excel_Writer"
148+
},
149+
{
150+
"copyrightHolders": [
151+
"2004-2008 The PHP Group",
152+
"2004-2008 Stephan Schmidt"
153+
],
154+
"location": "lib/pear/XML",
155+
"name": "XML_Parser",
156+
"description": "Class implementing one handy (sax-expat) XML parser",
157+
"version": "1.3.2",
158+
"license": "New BSD License",
159+
"customised": false,
160+
"repository": "http://pear.php.net/package/XML_Parser"
161+
},
162+
{
163+
"copyrightHolders": [
164+
"2006 - 2015 PHPExcel"
165+
],
166+
"location": "lib/phpexcel/PHPExcel.php",
167+
"name": "PHPExcel",
168+
"description": "Library to read, write and create spreadsheet documents in PHP.",
169+
"version": "1.8.1",
170+
"license": "LGPL",
171+
"customised": false,
172+
"repository": "https://github.com/PHPOffice/PHPExcel"
173+
},
174+
{
175+
"copyrightHolders": [
176+
"1999 - 2000 Monte Ohrt (monte@ispi.net)"
177+
],
178+
"location": "lib/snoopy",
179+
"name": "Snoopy",
180+
"description": "A PHP net client",
181+
"version": "1.0",
182+
"license": "GNU LGPL",
183+
"customised": false,
184+
"repository": "http://snoopy.sourceforge.com"
185+
},
186+
{
187+
"copyrightHolders": [
188+
"2006 - 2015 PHPExcel"
189+
],
190+
"location": "lib/spikephpcoverage",
191+
"name": "Spike PHPCoverage",
192+
"description": "PHP code coverage reporting tool",
193+
"version": "0.8.2",
194+
"license": "LGPL",
195+
"customised": true,
196+
"repository": "http://developer.spikesource.com/projects/phpcoverage"
197+
},
198+
{
199+
"copyrightHolders": [
200+
"2001 Chris Ryan (chris@greatbridge.com)"
201+
],
202+
"location": "lib/class.smtp.php",
203+
"name": "SMTP Class",
204+
"description": "Class that can be used to connect and communicate with any SMTP server. It implements all the SMTP functions defined in RFC821 except TURN.",
205+
"license": "LGPL",
206+
"customised": false
207+
},
208+
{
209+
"copyrightHolders": [
210+
"2003 - 2005 Kasper Skaarhoj"
211+
],
212+
"location": "lib/typo3",
213+
"name": "Typo3 Character Set Class",
214+
"description": "Class for conversion between charsets and multibyte-savy operations with strings.",
215+
"version": "4.7.19",
216+
"license": "GNU GPL",
217+
"customised": false,
218+
"repository": "https://typo3.org"
219+
},
220+
{
221+
"copyrightHolders": [
222+
"Brightcove, Inc"
223+
],
224+
"location": "media/player/videojs/amd/src/videojs-flash-lazy.js",
225+
"name": "Video.js - Custom Flash Player",
226+
"description": "Custom Flash Player for VideoJS.",
227+
"version": "5.4.2",
228+
"license": "Apache 2.0",
229+
"customised": false,
230+
"repository": "https://github.com/videojs/video-js-swf/releases"
231+
},
232+
{
233+
"copyrightHolders": [
234+
"2005 Andrew Walker"
235+
],
236+
"location": "lib/mp3player",
237+
"name": "MP3 Player",
238+
"description": "Flash movie to play streaming MP3s",
239+
"version": "Unknown",
240+
"license": "GNU GPL",
241+
"customised": false
242+
}
243+
]

0 commit comments

Comments
 (0)