I quite enjoy this plugin and reviewing the codebase I believe it can be made threadSafe and compatible with multi-module projects.
Presently building a multi-module project, with -T2C or similar, produces the following warning:
[WARNING] *****************************************************************
[WARNING] * Your build is requesting parallel execution, but project *
[WARNING] * contains the following plugin(s) that have goals not marked *
[WARNING] * as @threadSafe to support parallel building. *
[WARNING] * While this /may/ work fine, please look for plugin updates *
[WARNING] * and/or request plugins be made thread-safe. *
[WARNING] * If reporting an issue, report it against the plugin in *
[WARNING] * question, not against maven-core *
[WARNING] *****************************************************************
[WARNING] The following plugins are not marked @threadSafe in GeoServer Enterprise 2021.1 Data:
[WARNING] com.ruleoftech:markdown-page-generator-plugin:2.3.0
[WARNING] Enable debug to see more precisely which goals are not marked @threadSafe.
[WARNING] *****************************************************************
There are some requirements to writing a thread-safe plugin, mostly per-lookup instantiation so each use of the plugin is a new object and avoiding the use of static fields to share state across threads.
I quite enjoy this plugin and reviewing the codebase I believe it can be made threadSafe and compatible with multi-module projects.
Presently building a multi-module project, with
-T2C
or similar, produces the following warning:There are some requirements to writing a thread-safe plugin, mostly per-lookup instantiation so each use of the plugin is a new object and avoiding the use of static fields to share state across threads.