playframework / play-doc

Play documentation rendering support
Apache License 2.0
21 stars 23 forks source link

Replace pegdown with a maintained library #35

Open marcospereira opened 7 years ago

marcospereira commented 7 years ago

Pegdown is not being maintained anymore and has reached EOL:

https://github.com/sirthias/pegdown/#-deprecation-note-

The suggested alternative is flexmark-java which has a documented migration path.

dwijnand commented 5 years ago

Let's replace play-doc instead!

mkurz commented 3 years ago

I think this is still relevant. I don't know who will ever remove play-docs, given that not so many Lightbend employees working on Play anymore... See https://github.com/playframework/playframework/pull/10819, where I try to make Play work with Java 16/17 and pegdown causing problems...

The suggested alternative is flexmark-java which has a documented migration path.

That sounds promising.

mkurz commented 2 years ago

Migrating away from Pegdown will become necessary at some point. That is because the parboiled version it is using depends on an old ASM version, which, as it seems, is incompatible with newer ASM versions. That caused problems when I wanted to upgrade sbt-assembly to the latest version in the Play documentation, which pulls in a newer ASM version via its jarjar dependency. For now, we can just keep the old sbt-assembly version in the Play docs, because it's just used to show an example. However there is different problem already when I worked on Java 17 support for Play: It is not possible anymore to run the validateJobs task anymore on Java 17 because of the old ASM version of pegdown/parboiled as well. Again, this isn't really urgent right now, since we will keep building and validating Play with Java 8 and later with Java 11, but at some point in the future Play will be build with Java 17.

I invested a bit time to see if the migration could be done immediately, turns out its doable, but I don't have enough time right now. Here are some pointers:

mkurz commented 2 years ago

It seems we are lucky and can explicitely upgrade parboiled and the old pegdown version will still work, so that buys us time until we find a solution: #155