From 22754f2500989fd8f83300cb34748e009d390e08 Mon Sep 17 00:00:00 2001 From: Denis Yuen Date: Tue, 1 Apr 2025 15:45:01 -0400 Subject: [PATCH] run current tests --- THIRD-PARTY-LICENSES.txt | 3 ++- bom-internal/pom.xml | 5 +++++ .../generated/src/main/resources/pom.xml | 6 ++++++ dockstore-webservice/pom.xml | 4 ++++ .../dockstore/webservice/helpers/ZenodoHelper.java | 12 ++++++++++++ 5 files changed, 29 insertions(+), 1 deletion(-) diff --git a/THIRD-PARTY-LICENSES.txt b/THIRD-PARTY-LICENSES.txt index 07256c14a2..39aa484670 100644 --- a/THIRD-PARTY-LICENSES.txt +++ b/THIRD-PARTY-LICENSES.txt @@ -1,5 +1,5 @@ -Lists of 333 third-party dependencies. +Lists of 334 third-party dependencies. (Apache License, Version 2.0) akka-actor (com.typesafe.akka:akka-actor_2.13:2.5.32 - https://akka.io/) (Apache License, Version 2.0) akka-protobuf (com.typesafe.akka:akka-protobuf_2.13:2.5.32 - https://akka.io/) (Apache License, Version 2.0) akka-slf4j (com.typesafe.akka:akka-slf4j_2.13:2.5.32 - https://akka.io/) @@ -94,6 +94,7 @@ Lists of 333 third-party dependencies. (The MIT License (MIT)) ClassGraph (io.github.classgraph:classgraph:4.8.154 - https://github.com/classgraph/classgraph) (Apache License, Version 2.0) ClassMate (com.fasterxml:classmate:1.7.0 - https://github.com/FasterXML/java-classmate) (The Apache License, Version 2.0) com.helger:profiler (com.helger:profiler:1.1.1 - https://github.com/phax/profiler) + (BSD-2-Clause) commonmark-java core (org.commonmark:commonmark:0.24.0 - https://github.com/commonmark/commonmark-java/commonmark) (The Apache Software License, Version 2.0) Commons Digester (commons-digester:commons-digester:2.1 - http://commons.apache.org/digester/) (BSD-3-Clause) commons-compiler (org.codehaus.janino:commons-compiler:3.1.7 - http://janino-compiler.github.io/commons-compiler/) (Apache License 2.0) compiler (com.github.spullara.mustache.java:compiler:0.9.14 - http://github.com/spullara/mustache.java) diff --git a/bom-internal/pom.xml b/bom-internal/pom.xml index bee70f3de6..68c968d361 100644 --- a/bom-internal/pom.xml +++ b/bom-internal/pom.xml @@ -1386,6 +1386,11 @@ POM as their parent. bcprov-ext-jdk18on ${bouncycastle.version} + + org.commonmark + commonmark + 0.24.0 + diff --git a/dockstore-webservice/generated/src/main/resources/pom.xml b/dockstore-webservice/generated/src/main/resources/pom.xml index 97ac77ed21..2c60ea50a1 100644 --- a/dockstore-webservice/generated/src/main/resources/pom.xml +++ b/dockstore-webservice/generated/src/main/resources/pom.xml @@ -993,6 +993,12 @@ 2.18.2 compile + + org.commonmark + commonmark + 0.24.0 + compile + diff --git a/dockstore-webservice/pom.xml b/dockstore-webservice/pom.xml index 8f61030eda..39a597f1d9 100644 --- a/dockstore-webservice/pom.xml +++ b/dockstore-webservice/pom.xml @@ -914,6 +914,10 @@ com.fasterxml.jackson.datatype jackson-datatype-jsr310 + + org.commonmark + commonmark + diff --git a/dockstore-webservice/src/main/java/io/dockstore/webservice/helpers/ZenodoHelper.java b/dockstore-webservice/src/main/java/io/dockstore/webservice/helpers/ZenodoHelper.java index 29e52271cf..98f279d91b 100644 --- a/dockstore-webservice/src/main/java/io/dockstore/webservice/helpers/ZenodoHelper.java +++ b/dockstore-webservice/src/main/java/io/dockstore/webservice/helpers/ZenodoHelper.java @@ -69,6 +69,9 @@ import org.apache.commons.lang3.StringUtils; import org.apache.hc.client5.http.classic.HttpClient; import org.apache.http.HttpStatus; +import org.commonmark.node.Node; +import org.commonmark.parser.Parser; +import org.commonmark.renderer.html.HtmlRenderer; import org.hibernate.SessionFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -671,6 +674,15 @@ private static void fillInMetadata(DepositMetadata depositMetadata, String description = workflow.getDescription(); // The Zenodo API requires at description of at least three characters String descriptionStr = (description == null || description.isEmpty()) ? "No description specified" : workflow.getDescription(); + + + // convert from Markdown to HTML (feels weird but plain text from (e.g.) WDL descriptors should remain unmolested even if not Markdown) + // most descriptions are just READMEs + Parser parser = Parser.builder().build(); + Node document = parser.parse(descriptionStr); + HtmlRenderer renderer = HtmlRenderer.builder().build(); + descriptionStr = renderer.render(document); + depositMetadata.setDescription(descriptionStr); // We will set the Zenodo workflow version publication date to the date of the DOI issuance