Skip to content

Commit 4d53eab

Browse files
Dedelweissckipp01
andauthored
deps(scaladoc): update flexmark from 0.42.12 to 0.62.2 (#17347)
This pr updates the flexmark dependencies used in Scaladoc from 0.42.12, which is from 2019, up to 0.62.2. This is mainly done to tackle a bunch of CVEs that are attached to the old versions of flexmark. fixes #16223 --------- Co-authored-by: Chris Kipp <ckipp@pm.me>
1 parent cc05574 commit 4d53eab

28 files changed

+69
-137
lines changed

dist/bin/scaladoc

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,15 +61,31 @@ classpathArgs () {
6161
CLASS_PATH+="$(find_lib "*tasty-core*")$PSEP"
6262
CLASS_PATH+="$(find_lib "*scala3-tasty-inspector*")$PSEP"
6363
CLASS_PATH+="$(find_lib "*flexmark-0*")$PSEP"
64-
CLASS_PATH+="$(find_lib "*flexmark-html-parser*")$PSEP"
64+
CLASS_PATH+="$(find_lib "*flexmark*")$PSEP"
6565
CLASS_PATH+="$(find_lib "*flexmark-ext-anchorlink*")$PSEP"
6666
CLASS_PATH+="$(find_lib "*flexmark-ext-autolink*")$PSEP"
6767
CLASS_PATH+="$(find_lib "*flexmark-ext-emoji*")$PSEP"
6868
CLASS_PATH+="$(find_lib "*flexmark-ext-gfm-strikethrough*")$PSEP"
69-
CLASS_PATH+="$(find_lib "*flexmark-ext-gfm-tables*")$PSEP"
7069
CLASS_PATH+="$(find_lib "*flexmark-ext-gfm-tasklist*")$PSEP"
7170
CLASS_PATH+="$(find_lib "*flexmark-ext-wikilink*")$PSEP"
7271
CLASS_PATH+="$(find_lib "*flexmark-ext-yaml-front-matter*")$PSEP"
72+
CLASS_PATH+="$(find_lib "*flexmark-ext-tables*")$PSEP"
73+
CLASS_PATH+="$(find_lib "*flexmark-ext-ins*")$PSEP"
74+
CLASS_PATH+="$(find_lib "*flexmark-ext-superscript*")$PSEP"
75+
CLASS_PATH+="$(find_lib "*flexmark-util*")$PSEP"
76+
CLASS_PATH+="$(find_lib "*flexmark-util-ast*")$PSEP"
77+
CLASS_PATH+="$(find_lib "*flexmark-util-data*")$PSEP"
78+
CLASS_PATH+="$(find_lib "*flexmark-util-dependency*")$PSEP"
79+
CLASS_PATH+="$(find_lib "*flexmark-util-misc*")$PSEP"
80+
CLASS_PATH+="$(find_lib "*flexmark-util-format*")$PSEP"
81+
CLASS_PATH+="$(find_lib "*flexmark-util-sequence*")$PSEP"
82+
CLASS_PATH+="$(find_lib "*flexmark-util-builder*")$PSEP"
83+
CLASS_PATH+="$(find_lib "*flexmark-util-collection*")$PSEP"
84+
CLASS_PATH+="$(find_lib "*flexmark-util-visitor*")$PSEP"
85+
CLASS_PATH+="$(find_lib "*flexmark-util-options*")$PSEP"
86+
CLASS_PATH+="$(find_lib "*flexmark-util-html*")$PSEP"
87+
CLASS_PATH+="$(find_lib "*flexmark-formatter*")$PSEP"
88+
CLASS_PATH+="$(find_lib "*flexmark-ast*")$PSEP"
7389
CLASS_PATH+="$(find_lib "*liqp*")$PSEP"
7490
CLASS_PATH+="$(find_lib "*jsoup*")$PSEP"
7591
CLASS_PATH+="$(find_lib "*jackson-dataformat-yaml*")$PSEP"
@@ -80,7 +96,6 @@ classpathArgs () {
8096
CLASS_PATH+="$(find_lib "*jline-reader*")$PSEP"
8197
CLASS_PATH+="$(find_lib "*jline-terminal-3*")$PSEP"
8298
CLASS_PATH+="$(find_lib "*jline-terminal-jna*")$PSEP"
83-
CLASS_PATH+="$(find_lib "*flexmark-util*")$PSEP"
8499
CLASS_PATH+="$(find_lib "*flexmark-formatter*")$PSEP"
85100
CLASS_PATH+="$(find_lib "*autolink-0.6*")$PSEP"
86101
CLASS_PATH+="$(find_lib "*flexmark-jira-converter*")$PSEP"
@@ -93,9 +108,6 @@ classpathArgs () {
93108
CLASS_PATH+="$(find_lib "*protobuf-java*")$PSEP"
94109
CLASS_PATH+="$(find_lib "*util-interface*")$PSEP"
95110
CLASS_PATH+="$(find_lib "*jna-5*")$PSEP"
96-
CLASS_PATH+="$(find_lib "*flexmark-ext-tables*")$PSEP"
97-
CLASS_PATH+="$(find_lib "*flexmark-ext-ins*")$PSEP"
98-
CLASS_PATH+="$(find_lib "*flexmark-ext-superscript*")$PSEP"
99111
CLASS_PATH+="$(find_lib "*antlr4-runtime*")$PSEP"
100112

101113
jvm_cp_args="-classpath \"$CLASS_PATH\""

project/Dependencies.scala

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,21 @@ object Dependencies {
1010
val `jackson-dataformat-yaml` =
1111
"com.fasterxml.jackson.dataformat" % "jackson-dataformat-yaml" % jacksonVersion
1212

13-
private val flexmarkVersion = "0.42.12"
13+
// Freeze on 0.62.x as 0.64.0 requires Java 11
14+
private val flexmarkVersion = "0.62.2"
1415

1516
val flexmarkDeps = Seq(
1617
"com.vladsch.flexmark" % "flexmark" % flexmarkVersion,
17-
"com.vladsch.flexmark" % "flexmark-html-parser" % flexmarkVersion,
18+
"com.vladsch.flexmark" % "flexmark-util-ast" % flexmarkVersion,
19+
"com.vladsch.flexmark" % "flexmark-util-data" % flexmarkVersion,
20+
"com.vladsch.flexmark" % "flexmark-util-html" % flexmarkVersion,
1821
"com.vladsch.flexmark" % "flexmark-ext-anchorlink" % flexmarkVersion,
1922
"com.vladsch.flexmark" % "flexmark-ext-autolink" % flexmarkVersion,
2023
"com.vladsch.flexmark" % "flexmark-ext-emoji" % flexmarkVersion,
2124
"com.vladsch.flexmark" % "flexmark-ext-gfm-strikethrough" % flexmarkVersion,
22-
"com.vladsch.flexmark" % "flexmark-ext-gfm-tables" % flexmarkVersion,
2325
"com.vladsch.flexmark" % "flexmark-ext-gfm-tasklist" % flexmarkVersion,
2426
"com.vladsch.flexmark" % "flexmark-ext-wikilink" % flexmarkVersion,
27+
"com.vladsch.flexmark" % "flexmark-ext-tables" % flexmarkVersion,
2528
"com.vladsch.flexmark" % "flexmark-ext-yaml-front-matter" % flexmarkVersion,
2629
)
2730

scaladoc/src/dotty/tools/scaladoc/DocContext.scala

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,16 @@
11
package dotty.tools.scaladoc
22

33
import java.io.File
4-
import java.nio.file.Files
54
import java.nio.file.Path
65
import java.nio.file.Paths
76

8-
import scala.jdk.CollectionConverters._
97
import dotty.tools.scaladoc.site.StaticSiteContext
108
import dotty.tools.dotc.core.Contexts._
119
import dotty.tools.dotc.util.SourceFile
1210
import dotty.tools.dotc.util.SourcePosition
1311
import dotty.tools.dotc.util.Spans
1412
import java.io.ByteArrayOutputStream
1513
import java.io.PrintStream
16-
import scala.io.Codec
17-
import java.net.URL
18-
import scala.util.Try
1914
import scala.collection.mutable
2015
import dotty.tools.scaladoc.util.Check.checkJekyllIncompatPath
2116

scaladoc/src/dotty/tools/scaladoc/Main.scala

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,6 @@
11
package dotty.tools.scaladoc
22

3-
import java.util.ServiceLoader
4-
import java.io.File
5-
import java.util.jar._
6-
import scala.jdk.CollectionConverters._
7-
import collection.immutable.ArraySeq
8-
9-
import java.nio.file.Files
10-
11-
import dotty.tools.dotc.config.Settings._
12-
import dotty.tools.dotc.config.CommonScalaSettings
13-
import dotty.tools.dotc.core.Contexts._
3+
import dotty.tools.dotc.core.Contexts.ContextBase
144

155
/** Main class for the doctool when used from cli. */
166
class Main:

scaladoc/src/dotty/tools/scaladoc/Scaladoc.scala

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,15 @@
11
package dotty.tools.scaladoc
22

3-
import java.util.ServiceLoader
43
import java.io.File
54
import java.io.FileWriter
6-
import java.util.jar._
7-
import scala.jdk.CollectionConverters._
8-
import collection.immutable.ArraySeq
5+
import java.nio.file.Paths
96

10-
import java.nio.file.{ Files, Paths }
7+
import collection.immutable.ArraySeq
118

129
import dotty.tools.dotc.config.Settings._
1310
import dotty.tools.dotc.config.{ CommonScalaSettings, AllScalaSettings }
1411
import dotty.tools.dotc.reporting.Reporter
1512
import dotty.tools.dotc.core.Contexts._
16-
17-
import dotty.tools.scaladoc.Inkuire
1813
import dotty.tools.scaladoc.Inkuire._
1914

2015
object Scaladoc:

scaladoc/src/dotty/tools/scaladoc/ScaladocCommand.scala

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,9 @@
11
package dotty.tools.scaladoc
22

3-
import java.util.ServiceLoader
4-
import java.io.File
5-
import java.util.jar._
6-
import scala.jdk.CollectionConverters._
7-
import collection.immutable.ArraySeq
8-
9-
import java.nio.file.Files
10-
113
import dotty.tools.dotc.config.Settings._
12-
import dotty.tools.dotc.config.CommonScalaSettings
13-
import dotty.tools.scaladoc.Scaladoc._
14-
import dotty.tools.dotc.config.Settings.Setting.value
154
import dotty.tools.dotc.config.Properties._
165
import dotty.tools.dotc.config.CliCommand
17-
import dotty.tools.dotc.core.Contexts._
6+
import dotty.tools.dotc.core.Contexts.Context
187

198
object ScaladocCommand extends CliCommand:
209
type ConcreteSettings = ScaladocSettings

scaladoc/src/dotty/tools/scaladoc/ScaladocSettings.scala

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,7 @@
11
package dotty.tools.scaladoc
22

3-
import java.util.ServiceLoader
4-
import java.io.File
5-
import java.util.jar._
6-
import scala.jdk.CollectionConverters._
7-
import collection.immutable.ArraySeq
8-
9-
import java.nio.file.Files
10-
113
import dotty.tools.dotc.config.Settings._
124
import dotty.tools.dotc.config.AllScalaSettings
13-
import dotty.tools.scaladoc.Scaladoc._
14-
import dotty.tools.dotc.config.Settings.Setting.value
15-
import dotty.tools.dotc.config.Properties._
16-
import dotty.tools.dotc.config.CliCommand
17-
import dotty.tools.dotc.core.Contexts._
185

196
class ScaladocSettings extends SettingGroup with AllScalaSettings:
207
val unsupportedSettings = Seq(

scaladoc/src/dotty/tools/scaladoc/SocialLinks.scala

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
package dotty.tools.scaladoc
22

3-
import java.nio.file.Path
4-
import java.nio.file.Paths
5-
import dotty.tools.dotc.core.Contexts.Context
6-
73
enum SocialLinks(val url: String, val className: String):
84
case Github(ghUrl: String) extends SocialLinks(ghUrl, "gh")
95
case Twitter(tUrl: String) extends SocialLinks(tUrl, "twitter")

scaladoc/src/dotty/tools/scaladoc/SourceLinks.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package dotty.tools.scaladoc
22

33
import java.nio.file.Path
44
import java.nio.file.Paths
5-
import dotty.tools.dotc.core.Contexts.Context
65
import scala.util.matching.Regex
76

87
def pathToString(p: Path) =

scaladoc/src/dotty/tools/scaladoc/compat.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package dotty.tools.scaladoc
33
import java.util.stream.Stream // comment out - wrong error!
44
import java.util.stream.Collectors
55
import java.util.Collections
6-
import java.nio.file.Path
76
import com.vladsch.flexmark.util.ast.{Node => MdNode}
87
import dotty.tools.scaladoc.tasty.comments.wiki.WikiDocElement
98
import scala.jdk.CollectionConverters._
@@ -37,4 +36,4 @@ extension [V](jlist: JList[V])
3736

3837
extension [V](jset: JSet[V])
3938
def ++ (other: JSet[V]): JSet[V] =
40-
Stream.of(jset, other).flatMap(_.stream).collect(Collectors.toSet())
39+
Stream.of(jset, other).flatMap(_.stream).collect(Collectors.toSet())

0 commit comments

Comments
 (0)