Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/keenwrite.git

Adds third-party library dependency list

AuthorDaveJarvis <email>
Date2025-09-07 22:46:12 GMT-0700
Commitde288e2006b56a4583c8ceb6433bba6c24cf45be
Parent9bd74ee
Delta1010 lines added, 0 lines removed, 1010-line increase
docs/licenses/README.md
+# Licenses
+
+Grabbing the licenses is *mostly* automated, however there are exceptions
+that need to be captured. Adding a file to capture these exceptions from
+what the automated scripts pull would be useful.
+
+# Usage
+
+To grab the latest dependencies:
+
+``` bash
+gradle dependencies --configuration runtimeClasspath | fetch.sh > license.json
+```
+
+To convert the licenses to Markdown:
+
+```
+cat licenses.json | ./js2md.sh
+```
+
+Take the output from that and compare it with the licenses Markdown file.
+
docs/licenses/fetch.sh
+#!/usr/bin/env bash
+
+input_file="${1:-/dev/stdin}"
+declare -A seen_dependencies
+
+alphanum="[a-zA-Z0-9]"
+name_chars="[a-zA-Z0-9._-]"
+version_chars="[a-zA-Z0-9._+-]"
+group_artifact="${alphanum}${name_chars}*"
+version_pattern="${alphanum}${version_chars}*${alphanum}"
+
+NS_LICENSE_NAME='//*[local-name()="licenses"]/*[local-name()="license"]/*[local-name()="name"]/text()'
+NS_LICENSE_URL='//*[local-name()="licenses"]/*[local-name()="license"]/*[local-name()="url"]/text()'
+NS_PROJECT_NAME='/*[local-name()="project"]/*[local-name()="name"]/text()'
+NS_ORG_NAME='//*[local-name()="organization"]/*[local-name()="name"]/text()'
+NS_SCM_URL='//*[local-name()="scm"]/*[local-name()="url"]/text()'
+NS_DEVELOPER_NAMES='//*[local-name()="developers"]/*[local-name()="developer"]/*[local-name()="name"]/text()'
+
+out() {
+ echo -n "$*"
+}
+
+field() {
+ local key="$1"
+ local value="$2"
+ local comma="$3"
+ out "\"$key\":\"$value\""
+ [[ "$comma" == "true" ]] && out ","
+}
+
+map_spdx_id() {
+ case "$1" in
+ *Apache*2.0*) echo "Apache-2.0" ;;
+ *MIT*) echo "MIT" ;;
+ *BSD*2*) echo "BSD-2-Clause" ;;
+ *2*BSD*) echo "BSD-2-Clause" ;;
+ *3*BSD*) echo "BSD-3-Clause" ;;
+ *BSD*3*) echo "BSD-3-Clause" ;;
+ *LGPL*2*later) echo "LGPL-2.1-or-later" ;;
+ *LGPL*2*) echo "LGPL-2.1-only" ;;
+ *LGPL*3*) echo "LGPL-3.0-only" ;;
+ *GPL*2*CE*) echo "GPL-2.0-with-classpath-exception" ;;
+ *GPL*2*) echo "GPL-2.0-only" ;;
+ *GPLv2*) echo "GPL-2.0-only" ;;
+ *GPL*3*) echo "GPL-3.0-only" ;;
+ *EPL*1.0*) echo "EPL-1.0" ;;
+ *EPL*2.0*) echo "EPL-2.0" ;;
+ *MPL*1.1*) echo "MPL-1.1" ;;
+ *Mozilla*1.1*) echo "MPL-1.1" ;;
+ *MPL*2.0*) echo "MPL-2.0" ;;
+ *Mozilla*2.0*) echo "MPL-2.0" ;;
+ *) echo "UNKNOWN" ;;
+ esac
+}
+
+out "["; is_first=1
+
+while IFS= read -r line; do
+ [[ ! "$line" =~ ^[[:space:]]*[\+\|\\].*--- ]] && continue
+ cleaned=$(echo "$line" | awk '{sub(/^[[:space:]]*[-+|\\]+[[:space:]]*/, ""); sub(/[[:space:]]*$/, ""); print}')
+ [[ "$cleaned" =~ \(\*\)$ ]] && continue
+ cleaned=$(echo "$cleaned" | awk '{sub(/[[:space:]]*\([^)]*\)$/, ""); sub(/ -> .*/, ""); print}')
+
+ if [[ "$cleaned" =~ ^(${group_artifact}):(${group_artifact}):(${version_pattern})$ ]]; then
+ group="${BASH_REMATCH[1]}"
+ artifact="${BASH_REMATCH[2]}"
+ version="${BASH_REMATCH[3]}"
+ key="$group:$artifact:$version"
+ [[ -n "${seen_dependencies[$key]}" ]] && continue
+ seen_dependencies[$key]=1
+
+ group_path="${group//./\/}"
+ pom_url="https://repo1.maven.org/maven2/$group_path/$artifact/$version/$artifact-$version.pom"
+ page_url="https://mvnrepository.com/artifact/$group/$artifact/$version"
+
+ license_names=()
+ license_urls=()
+ developer_names=()
+ project_name="$artifact"
+ copyright=""
+ source_url=""
+ homepage_url=""
+
+ if pom=$(wget -q -O - "$pom_url"); then
+ project_name=$(echo "$pom" | xmllint --xpath "string($NS_PROJECT_NAME)" - 2>/dev/null)
+ [[ -z "$project_name" ]] && project_name="$artifact"
+ copyright=$(echo "$pom" | xmllint --xpath "string($NS_ORG_NAME)" - 2>/dev/null)
+ source_url=$(echo "$pom" | xmllint --xpath "string($NS_SCM_URL)" - 2>/dev/null)
+ mapfile -t license_names < <(echo "$pom" | xmllint --xpath "$NS_LICENSE_NAME" - 2>/dev/null)
+ mapfile -t license_urls < <(echo "$pom" | xmllint --xpath "$NS_LICENSE_URL" - 2>/dev/null)
+ mapfile -t developer_names < <(echo "$pom" | xmllint --xpath "$NS_DEVELOPER_NAMES" - 2>/dev/null)
+ fi
+
+ html_content=$(wget -q --user-agent="KeenWrite/5.0" -O - "$page_url")
+
+ homepage_url=$(echo "$html_content" | xmllint --html --xpath '//tr[th[text()="HomePage"]]/td/a/@href' - 2>/dev/null | sed 's/href="//;s/"$//')
+
+ if [[ -z "$project_name" ]]; then
+ project_name=$(echo "$html_content" | xmllint --html --xpath 'string(//h2[@class="title"])' - 2>/dev/null | sed -E 's/^[[:space:]]*//;s/[[:space:]]*$//')
+ [[ -z "$project_name" ]] && project_name=$(echo "$html_content" | xmllint --html --xpath 'string(//title)' - 2>/dev/null | sed -E 's/ - MVNRepository$//')
+ fi
+
+ if [[ ${#license_names[@]} -eq 0 ]]; then
+ mapfile -t license_names < <(echo "$html_content" | xmllint --html --xpath '//div[@class="version-section"]/h2[text()="Licenses"]/following-sibling::table//tr/td[1]/text()' - 2>/dev/null)
+ mapfile -t license_urls < <(echo "$html_content" | xmllint --html --xpath '//div[@class="version-section"]/h2[text()="Licenses"]/following-sibling::table//tr/td[2]/a/@href' - 2>/dev/null | sed 's/href="//;s/"$//')
+ fi
+
+ if [[ ${#developer_names[@]} -eq 0 ]]; then
+ mapfile -t developer_names < <(echo "$html_content" | xmllint --html --xpath '//h2[text()="Developers"]/following-sibling::div//tbody/tr/td[1]/text()' - 2>/dev/null)
+ fi
+
+ [[ $is_first -eq 0 ]] && out ","
+ is_first=0
+
+ out "{"
+ field "group" "$group" true
+ field "artifact" "$artifact" true
+ field "version" "$version" true
+ field "url" "$page_url" true
+ field "name" "$project_name" true
+
+ out "\"licenses\":["
+ for i in "${!license_names[@]}"; do
+ [[ $i -gt 0 ]] && out ","
+ name="${license_names[$i]}"
+ url="${license_urls[$i]}"
+ spdx=$(map_spdx_id "$name")
+ out "{"
+ field "name" "$name" true
+ field "url" "$url" true
+ field "spdx" "$spdx" false
+ out "}"
+ done
+ out "],"
+
+ field "copyright" "$copyright" true
+ field "source" "$source_url" true
+ field "homepage" "$homepage_url" true
+
+ out "\"developers\":["
+ for i in "${!developer_names[@]}"; do
+ [[ $i -gt 0 ]] && out ","
+ out "\"${developer_names[$i]}\""
+ done
+ out "]"
+
+ out "}"
+ fi
+done < "$input_file"
+
+out "]"
+
+
docs/user-manual.pdf
Binary files differ
docs/licenses/licenses.json
+[
+ {
+ "group": "org.controlsfx",
+ "artifact": "controlsfx",
+ "version": "11.2.2",
+ "url": "https://mvnrepository.com/artifact/org.controlsfx/controlsfx/11.2.2",
+ "name": "ControlsFX",
+ "licenses": [
+ {
+ "name": "The 3-Clause BSD License",
+ "url": "http://www.opensource.org/licenses/bsd-license.php",
+ "spdx": "BSD-3-Clause"
+ }
+ ],
+ "copyright": "",
+ "source": "https://github.com/controlsfx/controlsfx",
+ "homepage": " http://www.controlsfx.org/",
+ "developers": [
+ "Jonathan Giles"
+ ]
+ },
+ {
+ "group": "org.fxmisc.richtext",
+ "artifact": "richtextfx",
+ "version": "0.11.6",
+ "url": "https://mvnrepository.com/artifact/org.fxmisc.richtext/richtextfx/0.11.6",
+ "name": "RichTextFX",
+ "licenses": [
+ {
+ "name": "The BSD 2-Clause License",
+ "url": "http://opensource.org/licenses/BSD-2-Clause",
+ "spdx": "BSD-2-Clause"
+ },
+ {
+ "name": "GPLv2 with the Classpath Exception",
+ "url": "http://www.gnu.org/software/classpath/license.html",
+ "spdx": "GPL-2.0-only"
+ }
+ ],
+ "copyright": "",
+ "source": "scm:git@github.com:FXMisc/RichTextFX.git",
+ "homepage": " https://github.com/FXMisc/RichTextFX/#richtextfx",
+ "developers": [
+ "Tomas Mikula",
+ "Jordan Martinez",
+ "Jurgen Doll"
+ ]
+ },
+ {
+ "group": "org.fxmisc.wellbehaved",
+ "artifact": "wellbehavedfx",
+ "version": "0.3.3",
+ "url": "https://mvnrepository.com/artifact/org.fxmisc.wellbehaved/wellbehavedfx/0.3.3",
+ "name": "WellBehavedFX",
+ "licenses": [
+ {
+ "name": "The BSD 2-Clause License",
+ "url": "http://opensource.org/licenses/BSD-2-Clause",
+ "spdx": "BSD-2-Clause"
+ }
+ ],
+ "copyright": "",
+ "source": "scm:git@github.com:FXMisc/WellBehavedFX.git",
+ "homepage": " http://www.fxmisc.org/wellbehaved/",
+ "developers": [
+ "Tomas Mikula"
+ ]
+ },
+ {
+ "group": "org.openjfx",
+ "artifact": "javafx-media",
+ "version": "26-ea+3",
+ "url": "https://mvnrepository.com/artifact/org.openjfx/javafx-media/26-ea+3",
+ "name": "javafx media",
+ "licenses": [
+ {
+ "name": "GPLv2+CE",
+ "url": " https://openjdk.java.net/legal/gplv2+ce.html",
+ "spdx": "GPL-2.0-with-classpath-exception"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": " https://openjdk.java.net/projects/openjfx/",
+ "developers": [
+ "OpenJFX Mailing List"
+ ]
+ },
+ {
+ "group": "com.dlsc.preferencesfx",
+ "artifact": "preferencesfx-core",
+ "version": "11.17.0",
+ "url": "https://mvnrepository.com/artifact/com.dlsc.preferencesfx/preferencesfx-core/11.17.0",
+ "name": "PreferencesFX",
+ "licenses": [
+ {
+ "name": "Apache License, Version 2.0",
+ "url": "https://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "",
+ "source": "https://github.com/dlsc-software-consulting-gmbh/PreferencesFX",
+ "homepage": " https://github.com/dlsc-software-consulting-gmbh/PreferencesFX",
+ "developers": [
+ "Francois Martin",
+ "Marco Sanfratello",
+ "Dirk Lemmermann"
+ ]
+ },
+ {
+ "group": "com.panemu",
+ "artifact": "tiwulfx-dock",
+ "version": "0.5",
+ "url": "https://mvnrepository.com/artifact/com.panemu/tiwulfx-dock/0.5",
+ "name": "tiwulfx-dock",
+ "licenses": [
+ {
+ "name": "MIT",
+ "url": "https://github.com/panemu/tiwulfx-dock/blob/main/LICENSE",
+ "spdx": "MIT"
+ }
+ ],
+ "copyright": "Panemu",
+ "source": "https://panemu@github.com/panemu/tiwulfx-dock.git",
+ "homepage": " https://github.com/panemu/tiwulfx-dock",
+ "developers": [
+ "Amrullah"
+ ]
+ },
+ {
+ "group": "com.vladsch.flexmark",
+ "artifact": "flexmark",
+ "version": "0.64.8",
+ "url": "https://mvnrepository.com/artifact/com.vladsch.flexmark/flexmark/0.64.8",
+ "name": "flexmark-java core",
+ "licenses": [
+ {
+ "name": "BSD 2-Clause License",
+ "url": " http://opensource.org/licenses/BSD-2-Clause",
+ "spdx": "BSD-2-Clause"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": "",
+ "developers": [
+ "Vladimir Schneider"
+ ]
+ },
+ {
+ "group": "com.vladsch.flexmark",
+ "artifact": "flexmark-ext-definition",
+ "version": "0.64.8",
+ "url": "https://mvnrepository.com/artifact/com.vladsch.flexmark/flexmark-ext-definition/0.64.8",
+ "name": "flexmark-java extension for definition",
+ "licenses": [
+ {
+ "name": "BSD 2-Clause License",
+ "url": " http://opensource.org/licenses/BSD-2-Clause",
+ "spdx": "BSD-2-Clause"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": "",
+ "developers": [
+ "Vladimir Schneider"
+ ]
+ },
+ {
+ "group": "com.vladsch.flexmark",
+ "artifact": "flexmark-ext-gfm-strikethrough",
+ "version": "0.64.8",
+ "url": "https://mvnrepository.com/artifact/com.vladsch.flexmark/flexmark-ext-gfm-strikethrough/0.64.8",
+ "name": "flexmark-java extension for strikethrough",
+ "licenses": [
+ {
+ "name": "BSD 2-Clause License",
+ "url": " http://opensource.org/licenses/BSD-2-Clause",
+ "spdx": "BSD-2-Clause"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": "",
+ "developers": [
+ "Vladimir Schneider"
+ ]
+ },
+ {
+ "group": "com.vladsch.flexmark",
+ "artifact": "flexmark-ext-superscript",
+ "version": "0.64.8",
+ "url": "https://mvnrepository.com/artifact/com.vladsch.flexmark/flexmark-ext-superscript/0.64.8",
+ "name": "flexmark-java extension for superscript",
+ "licenses": [
+ {
+ "name": "BSD 2-Clause License",
+ "url": " http://opensource.org/licenses/BSD-2-Clause",
+ "spdx": "BSD-2-Clause"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": "",
+ "developers": [
+ "Vladimir Schneider"
+ ]
+ },
+ {
+ "group": "com.vladsch.flexmark",
+ "artifact": "flexmark-ext-tables",
+ "version": "0.64.8",
+ "url": "https://mvnrepository.com/artifact/com.vladsch.flexmark/flexmark-ext-tables/0.64.8",
+ "name": "flexmark-java extension for tables",
+ "licenses": [
+ {
+ "name": "BSD 2-Clause License",
+ "url": " http://opensource.org/licenses/BSD-2-Clause",
+ "spdx": "BSD-2-Clause"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": "",
+ "developers": [
+ "Vladimir Schneider"
+ ]
+ },
+ {
+ "group": "com.vladsch.flexmark",
+ "artifact": "flexmark-ext-typographic",
+ "version": "0.64.8",
+ "url": "https://mvnrepository.com/artifact/com.vladsch.flexmark/flexmark-ext-typographic/0.64.8",
+ "name": "flexmark-java extension for typographic",
+ "licenses": [
+ {
+ "name": "BSD 2-Clause License",
+ "url": " http://opensource.org/licenses/BSD-2-Clause",
+ "spdx": "BSD-2-Clause"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": "",
+ "developers": [
+ "Vladimir Schneider"
+ ]
+ },
+ {
+ "group": "com.vladsch.flexmark",
+ "artifact": "flexmark-ext-footnotes",
+ "version": "0.64.8",
+ "url": "https://mvnrepository.com/artifact/com.vladsch.flexmark/flexmark-ext-footnotes/0.64.8",
+ "name": "flexmark-java extension for footnotes",
+ "licenses": [
+ {
+ "name": "BSD 2-Clause License",
+ "url": " http://opensource.org/licenses/BSD-2-Clause",
+ "spdx": "BSD-2-Clause"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": "",
+ "developers": [
+ "Vladimir Schneider"
+ ]
+ },
+ {
+ "group": "org.yaml",
+ "artifact": "snakeyaml",
+ "version": "2.5",
+ "url": "https://mvnrepository.com/artifact/org.yaml/snakeyaml/2.5",
+ "name": "SnakeYAML",
+ "licenses": [
+ {
+ "name": "Apache License, Version 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "",
+ "source": "https://bitbucket.org/snakeyaml/snakeyaml/src",
+ "homepage": " https://bitbucket.org/snakeyaml/snakeyaml",
+ "developers": [
+ "Andrey Somov",
+ "Alexander Maslov"
+ ]
+ },
+ {
+ "group": "com.fasterxml.jackson.core",
+ "artifact": "jackson-core",
+ "version": "2.19.2",
+ "url": "https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core/2.19.2",
+ "name": "Jackson-core",
+ "licenses": [
+ {
+ "name": "The Apache Software License, Version 2.0",
+ "url": "https://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "",
+ "source": "https://github.com/FasterXML/jackson-core",
+ "homepage": " https://github.com/FasterXML/jackson-core",
+ "developers": [
+ "Tatu Saloranta"
+ ]
+ },
+ {
+ "group": "com.fasterxml.jackson.core",
+ "artifact": "jackson-databind",
+ "version": "2.19.2",
+ "url": "https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind/2.19.2",
+ "name": "jackson-databind",
+ "licenses": [
+ {
+ "name": "The Apache Software License, Version 2.0",
+ "url": "https://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "",
+ "source": "https://github.com/FasterXML/jackson-databind",
+ "homepage": " https://github.com/FasterXML/jackson",
+ "developers": [
+ "Tatu Saloranta"
+ ]
+ },
+ {
+ "group": "com.fasterxml.jackson.dataformat",
+ "artifact": "jackson-dataformat-yaml",
+ "version": "2.19.2",
+ "url": "https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/2.19.2",
+ "name": "Jackson-dataformat-YAML",
+ "licenses": [
+ {
+ "name": "The Apache Software License, Version 2.0",
+ "url": " https://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": " https://github.com/FasterXML/jackson-dataformats-text",
+ "developers": [
+ "Tatu Saloranta"
+ ]
+ },
+ {
+ "group": "org.jsoup",
+ "artifact": "jsoup",
+ "version": "1.21.2",
+ "url": "https://mvnrepository.com/artifact/org.jsoup/jsoup/1.21.2",
+ "name": "jsoup Java HTML Parser",
+ "licenses": [
+ {
+ "name": "The MIT License",
+ "url": "https://jsoup.org/license",
+ "spdx": "MIT"
+ }
+ ],
+ "copyright": "Jonathan Hedley",
+ "source": "https://github.com/jhy/jsoup",
+ "homepage": " https://jsoup.org/",
+ "developers": [
+ "Jonathan Hedley"
+ ]
+ },
+ {
+ "group": "org.xhtmlrenderer",
+ "artifact": "flying-saucer-core",
+ "version": "10.0.0",
+ "url": "https://mvnrepository.com/artifact/org.xhtmlrenderer/flying-saucer-core/10.0.0",
+ "name": "Flying Saucer Core Renderer",
+ "licenses": [
+ {
+ "name": "GNU Lesser General Public License (LGPL), version 2.1 or later",
+ "url": "https://www.gnu.org/licenses/lgpl-3.0.html",
+ "spdx": "LGPL-2.1-or-later"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": "",
+ "developers": [
+ "Patrick Wright",
+ "Peter Brant"
+ ]
+ },
+ {
+ "group": "org.apache.commons",
+ "artifact": "commons-compress",
+ "version": "1.28.0",
+ "url": "https://mvnrepository.com/artifact/org.apache.commons/commons-compress/1.28.0",
+ "name": "Apache Commons Compress",
+ "licenses": [
+ {
+ "name": "Apache-2.0",
+ "url": " https://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "",
+ "source": "https://gitbox.apache.org/repos/asf?p=commons-compress.git",
+ "homepage": " https://commons.apache.org/proper/commons-compress/",
+ "developers": [
+ "Torsten Curdt",
+ "Stefan Bodewig",
+ "Sebastian Bazley",
+ "Christian Grobmeier",
+ "Julius Davies",
+ "Damjan Jovanovic",
+ "Emmanuel Bourg",
+ "Gary Gregory",
+ "Rob Tompkins",
+ "Peter Alfred Lee"
+ ]
+ },
+ {
+ "group": "org.apache.commons",
+ "artifact": "commons-vfs2",
+ "version": "2.10.0",
+ "url": "https://mvnrepository.com/artifact/org.apache.commons/commons-vfs2/2.10.0",
+ "name": "Apache Commons VFS",
+ "licenses": [
+ {
+ "name": "Apache-2.0",
+ "url": " https://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": " https://commons.apache.org/proper/commons-vfs/",
+ "developers": [
+ "Adam Murdoch",
+ "James Strachan",
+ "Mario Ivankovits",
+ "Rahul Akolkar",
+ "James Carman",
+ "Ralph Goers",
+ "Joerg Schaible",
+ "Gary Gregory",
+ "Bernd Eckenfels"
+ ]
+ },
+ {
+ "group": "org.codehaus.plexus",
+ "artifact": "plexus-utils",
+ "version": "4.0.2",
+ "url": "https://mvnrepository.com/artifact/org.codehaus.plexus/plexus-utils/4.0.2",
+ "name": "Plexus Common Utilities",
+ "licenses": [
+ {
+ "name": "Apache License, Version 2.0",
+ "url": "https://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "Codehaus Plexus",
+ "source": "https://github.com/codehaus-plexus/plexus-utils/tree/plexus-utils-4.0.2/",
+ "homepage": " https://codehaus-plexus.github.io/plexus-utils/",
+ "developers": [
+ "Jason van Zyl",
+ "Pete Kazmier",
+ "James Taylor",
+ "Dan Diephouse",
+ "Kasper Nielsen",
+ "Ben Walding",
+ "Mark Wilkinson",
+ "Michal Maczka",
+ "Emmanuel Venisse",
+ "Trygve Laugstøl",
+ "Kenney Westerhof",
+ "Carlos Sanchez",
+ "Brett Porter",
+ "John Casey",
+ "Andrew Williams",
+ "Rahul Thakur",
+ "Joakim Erdfelt",
+ "Olivier Lamy",
+ "Hervé Boutemy",
+ "Oleg Gusakov",
+ "Vincent Siveton",
+ "Kristian Rosenvold",
+ "Andreas Gudian",
+ "Karl Heinz Marbaise",
+ "Michael Osipov",
+ "Gabriel Belingueres",
+ "Konrad Windszus",
+ "Slawomir Jaranowski",
+ "Sylwester Lachiewicz",
+ "Guillaume Nodet"
+ ]
+ },
+ {
+ "group": "org.renjin",
+ "artifact": "renjin-script-engine",
+ "version": "3.5-beta76",
+ "url": "https://mvnrepository.com/artifact/org.renjin/renjin-script-engine/3.5-beta76",
+ "name": "renjin-script-engine",
+ "licenses": [],
+ "copyright": "",
+ "source": "",
+ "homepage": "",
+ "developers": []
+ },
+ {
+ "group": "org.renjin.cran",
+ "artifact": "rjson",
+ "version": "0.2.15-renjin-21",
+ "url": "https://mvnrepository.com/artifact/org.renjin.cran/rjson/0.2.15-renjin-21",
+ "name": "rjson",
+ "licenses": [
+ {
+ "name": "Apache License, Version 2.0",
+ "url": " http://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": "",
+ "developers": []
+ },
+ {
+ "group": "io.sf.carte",
+ "artifact": "echosvg-awt-util",
+ "version": "2.2",
+ "url": "https://mvnrepository.com/artifact/io.sf.carte/echosvg-awt-util/2.2",
+ "name": "echosvg-awt-util",
+ "licenses": [
+ {
+ "name": "The Apache License, Version 2.0",
+ "url": " http://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": " https://github.com/css4j/echosvg/wiki",
+ "developers": []
+ },
+ {
+ "group": "io.sf.carte",
+ "artifact": "echosvg-bridge",
+ "version": "2.2",
+ "url": "https://mvnrepository.com/artifact/io.sf.carte/echosvg-bridge/2.2",
+ "name": "echosvg-bridge",
+ "licenses": [
+ {
+ "name": "The Apache License, Version 2.0",
+ "url": " http://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": " https://github.com/css4j/echosvg/wiki",
+ "developers": []
+ },
+ {
+ "group": "io.sf.carte",
+ "artifact": "echosvg-ext",
+ "version": "2.2",
+ "url": "https://mvnrepository.com/artifact/io.sf.carte/echosvg-ext/2.2",
+ "name": "echosvg-ext",
+ "licenses": [
+ {
+ "name": "The Apache License, Version 2.0",
+ "url": " http://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": " https://github.com/css4j/echosvg/wiki",
+ "developers": []
+ },
+ {
+ "group": "io.sf.carte",
+ "artifact": "echosvg-svggen",
+ "version": "2.2",
+ "url": "https://mvnrepository.com/artifact/io.sf.carte/echosvg-svggen/2.2",
+ "name": "echosvg-svggen",
+ "licenses": [
+ {
+ "name": "The Apache License, Version 2.0",
+ "url": " http://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": " https://github.com/css4j/echosvg/wiki",
+ "developers": []
+ },
+ {
+ "group": "io.sf.carte",
+ "artifact": "echosvg-transcoder",
+ "version": "2.2",
+ "url": "https://mvnrepository.com/artifact/io.sf.carte/echosvg-transcoder/2.2",
+ "name": "echosvg-transcoder",
+ "licenses": [
+ {
+ "name": "The Apache License, Version 2.0",
+ "url": " http://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": " https://github.com/css4j/echosvg/wiki",
+ "developers": []
+ },
+ {
+ "group": "org.ahocorasick",
+ "artifact": "ahocorasick",
+ "version": "0.6.3",
+ "url": "https://mvnrepository.com/artifact/org.ahocorasick/ahocorasick/0.6.3",
+ "name": "Aho-CoraSick algorithm for efficient string matching",
+ "licenses": [
+ {
+ "name": "The Apache Software License, Version 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "42 BV",
+ "source": "scm:git://github.com/robert-bor/aho-corasick",
+ "homepage": " https://github.com/robert-bor/aho-corasick",
+ "developers": [
+ "Robert Bor",
+ "Daniel Beck",
+ "Dave Jarvis"
+ ]
+ },
+ {
+ "group": "com.github.albfernandez",
+ "artifact": "juniversalchardet",
+ "version": "2.5.0",
+ "url": "https://mvnrepository.com/artifact/com.github.albfernandez/juniversalchardet/2.5.0",
+ "name": "juniversalchardet",
+ "licenses": [
+ {
+ "name": "Mozilla Public License Version 1.1",
+ "url": "https://www.mozilla.org/en-US/MPL/1.1/",
+ "spdx": "MPL-1.1"
+ },
+ {
+ "name": "GENERAL PUBLIC LICENSE, version 3 (GPL-3.0)",
+ "url": "http://www.gnu.org/licenses/gpl.txt",
+ "spdx": "GPL-3.0-only"
+ },
+ {
+ "name": "GNU LESSER GENERAL PUBLIC LICENSE, version 3 (LGPL-3.0)",
+ "url": "http://www.gnu.org/licenses/lgpl.txt",
+ "spdx": "LGPL-3.0-only"
+ }
+ ],
+ "copyright": "",
+ "source": "git@github.com:albfernandez/juniversalchardet.git",
+ "homepage": " https://github.com/albfernandez/juniversalchardet",
+ "developers": [
+ "Alberto Fernández"
+ ]
+ },
+ {
+ "group": "jakarta.validation",
+ "artifact": "jakarta.validation-api",
+ "version": "3.1.1",
+ "url": "https://mvnrepository.com/artifact/jakarta.validation/jakarta.validation-api/3.1.1",
+ "name": "Jakarta Validation API",
+ "licenses": [
+ {
+ "name": "Apache License 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "",
+ "source": "https://github.com/jakartaee/validation",
+ "homepage": " https://beanvalidation.org",
+ "developers": [
+ "Emmanuel Bernard",
+ "Emmanuel Bernard",
+ "Hardy Ferentschik",
+ "Gunnar Morling",
+ "Guillaume Smet"
+ ]
+ },
+ {
+ "group": "org.greenrobot",
+ "artifact": "eventbus-java",
+ "version": "3.3.1",
+ "url": "https://mvnrepository.com/artifact/org.greenrobot/eventbus-java/3.3.1",
+ "name": "EventBus",
+ "licenses": [
+ {
+ "name": "The Apache Software License, Version 2.0",
+ "url": "https://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "greenrobot",
+ "source": "https://github.com/greenrobot/EventBus",
+ "homepage": " https://greenrobot.org/eventbus/",
+ "developers": [
+ "greenrobot"
+ ]
+ },
+ {
+ "group": "org.slf4j",
+ "artifact": "slf4j-api",
+ "version": "2.1.0-alpha1",
+ "url": "https://mvnrepository.com/artifact/org.slf4j/slf4j-api/2.1.0-alpha1",
+ "name": "SLF4J API Module",
+ "licenses": [
+ {
+ "name": "MIT License",
+ "url": " http://www.opensource.org/licenses/mit-license.php",
+ "spdx": "MIT"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": " http://www.slf4j.org",
+ "developers": [
+ "Ceki Gulcu"
+ ]
+ },
+ {
+ "group": "org.slf4j",
+ "artifact": "slf4j-nop",
+ "version": "2.0.17",
+ "url": "https://mvnrepository.com/artifact/org.slf4j/slf4j-nop/2.0.17",
+ "name": "SLF4J NOP Provider",
+ "licenses": [
+ {
+ "name": "MIT",
+ "url": " https://opensource.org/license/mit",
+ "spdx": "MIT"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": " http://www.slf4j.org",
+ "developers": [
+ "Ceki Gulcu"
+ ]
+ },
+ {
+ "group": "info.picocli",
+ "artifact": "picocli",
+ "version": "4.7.7",
+ "url": "https://mvnrepository.com/artifact/info.picocli/picocli/4.7.7",
+ "name": "picocli",
+ "licenses": [
+ {
+ "name": "The Apache Software License, version 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "",
+ "source": "https://github.com/remkop/picocli/tree/master",
+ "homepage": " https://picocli.info",
+ "developers": [
+ "Remko Popma"
+ ]
+ },
+ {
+ "group": "org.jspecify",
+ "artifact": "jspecify",
+ "version": "1.0.0",
+ "url": "https://mvnrepository.com/artifact/org.jspecify/jspecify/1.0.0",
+ "name": "JSpecify annotations",
+ "licenses": [
+ {
+ "name": "The Apache License, Version 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "",
+ "source": "https://github.com/jspecify/jspecify/",
+ "homepage": " http://jspecify.org/",
+ "developers": [
+ "Kevin Bourrillion"
+ ]
+ },
+ {
+ "group": "com.google.errorprone",
+ "artifact": "error_prone_annotations",
+ "version": "2.41.0",
+ "url": "https://mvnrepository.com/artifact/com.google.errorprone/error_prone_annotations/2.41.0",
+ "name": "error-prone annotations",
+ "licenses": [
+ {
+ "name": "Apache 2.0",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0.txt",
+ "spdx": "Apache-2.0"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": "",
+ "developers": [
+ "Eddie Aftandilian"
+ ]
+ },
+ {
+ "group": "org.openjfx",
+ "artifact": "javafx-swing",
+ "version": "24.0.2",
+ "url": "https://mvnrepository.com/artifact/org.openjfx/javafx-swing/24.0.2",
+ "name": "javafx swing",
+ "licenses": [
+ {
+ "name": "GPLv2+CE",
+ "url": " https://openjdk.java.net/legal/gplv2+ce.html",
+ "spdx": "GPL-2.0-with-classpath-exception"
+ }
+ ],
+ "copyright": "",
+ "source": "",
+ "homepage": " https://openjdk.java.net/projects/openjfx/",
+ "developers": [
+ "OpenJFX Mailing List"
+ ]
+ }
+]