...
- Upgrade to Java 8
- Upgrade to Maven 3.26.5 3 prerequisite
- Move to SLF4J everywhere
- Replace Plexus Container with Sisu Shim
- Use JSR 330 annotations instead of Plexus one
- Partially breaking behavior to overcome 10+ years of technical debt (previous big step was the full extraction of Doxia 1.1 from Maven core in 2010, followed by a non-breaking maintenance phase for 10 years...)
...
- Remove Doxia Logging API (replaced by SLF4J)
- Remove deprecated macros (SWF, SSI)
- Remove deprecated modules:
- old formats: Confluence, DocBook, TWiki
- page-oriented output formats: FOP, iText, LaTeX, RTF
- Remove deprecated code
- Replace XHTML module with XHTML5 as default
- Section titles (see Doxia API sectionTitle(int) API) are now converted to HTML
<h1>
to<h5>
<h6>
(Doxia API sectionTitle1() to Doxia API sectionTitle5sectionTitle6()) for XHTML5 instead of from<h2>
- Upgrade to Flexmark 0.62.2
- Remove all non-HTML5 elements and attributes
- Use id attribute for XHTML5 throughout instead of name for anchors
- Change notion for verbatim content
Correct semantics of
SinkEventAttributes#BOXED
with#SOURCE
- Create consistent Doxia IDs throughout based on XML id definition
- Optionally create anchors for indexable entries (used in TOC macro)
- Sink implementations must only implement overloaded Doxia 1.1/2.0 methods (taking an additional argument
SinkEventAttributes
). The overloaded Doxia 1.0 variants only delegate to the Doxia 1.1/2.0 equivalent as final methods in AbstractSink
and therefore must no longer be implemented anywhere else (
)Jira server ASF JIRA serverId 5aa69414-a9e9-3523-82ec-879b028fb15b key DOXIA-709 - Preformatted (verbatim) and code output is now handled by
<pre>
and<pre><code
> elements - Sections must be consecutive otherwise the behavior is undefined
Further details in Jira release notes: https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12354039&styleName=Html&projectId=12317230
Doxia Sitetools 2.0.0
- Upgrade to Doxia 2.0.0
- Remove DocRenderer = document-oriented rendering, leaving only SiteRenderer in place = site-oriented rendering
- Remove deprecated code
- Fail if deprecated
${reports}
,${parentProject}
or${modules}
is found - Upgrade to Velocity 2.3 and Velocity Tools 3.1
- Require a skin if a site descriptor (
site.xml
) has been provided - Don't inject bannerLeft is none is set
- Locale must not be
null
- Deprecate and remove Google-related site descriptor properties
- Don't create anchors behind the user's back (avoid mess and duplication)
- Remove internal (pseudo) skin and use Maven Fluido Skin by default
- Overhaul locale support (make
Locale#ROOT
instead ofLocale#ENGLISH
default and use full locale) - Don't link modules if module isn't part of the reactor or site hasn't been generated
- Remove support for Maven 1.x style site directory layout
- Add time zone field to site descriptor for reproducible site; defaults to
Etc/UTC
- Replace skin and site descriptor resolution with Maven Resolver API
- Rename
RenderingContext
toDocumentRendeneringContext
- Rename
Renderer
toSiteRenderer
- Rename Doxia Decoration Model to Maven Site Model along with package and root class
- Transparently handle 0-byte pseudo marker site descriptors
- Harmonize path output for rendered documents
- Introduction of a new, more streamlined and clean up site model (old one is converted on the fly)
DocumentRenderer#getOutputName()
has been deprecated in favor of#getOutputPath()
DocumentRenderingContext#getInputName()
/#getOutputName()
have been deprecated in favor of#getInputPath()/#getOutputPath()
- Velocity context properties
$alignedFileName
,
$currentFileName
,
$decoration
have been deprecated in favor of$alignedFilePath
,
$currentFilePath,
$site
- For all indexable entries anchors will be created by default
- Add possiblity to configure parsers
- Allow to attribute site directories for handed-edited content and generated one
- Each document title is built from most specific to general part
Maven Reporting API 4.0.0
...
- Upgrade to Maven Reporting API 4.0.0
- Upgrade to Doxia 2.0.0
- Remove usage of deprecated local repository
Maven Site Plugin 3.20.0/4.0.0
- Upgrade to Maven Reporting API 4.0.0
- Upgrade to Doxia 2.0.0
- Upgrade to Doxia Sitetools 2.0.0
- Upgrade to Maven Reporting Exec 2.0.0
- Execute reports for all configured locales
- Overhaul locale support (make
Locale#ROOT
instead ofLocale#ENGLISH
default and use full locale) - Propagate
${project.build.outputTimestamp}
and$publishDate
- Make external reports run/served with
site:run
- Reserved XML chars are properly escaped
- Many locale awareness fixes
- Mark several mojos as thread-safe
- Consisntly log information what type and how many documents are rendered (include site plugin internal ones)
- Turn sitemap into a report
- Improve output of source/generator for
site:run
- Consistently log when report execution is skipped
- Generate handed-edited content and generated one in one go instead of multiple runs
Note that 3.20.0 is a Doxia 2.0.0 compatible version for Maven 3.x while 4.0.0 is reserved for Maven 4. The jump to 3.20.0 is on purpose leaving a gap between 3.12.x.
Maven Fluido Skin 2.0.0
- Upgrade to Doxia Sitetools 2.0.0
- Reserved XML chars are properly escaped
- Fix CSS-related issues
- Support standalone mode
- Improve Doxia integration
- Rewrite skin template for new site model
...
Necessary changes performed at our (reporting) plugins
Format: {jira-projectrepository}
: {lastbranch-for-doxia-1.x-compat}
; {branch-for-doxia-2.0.0}
: {version-next}
- maven-help-plugin:
maven-help-plugin
MPIR: api-3.1.1/impl-3.
2.0 [X]; doxia-2.0.0: 4.0.0-M1-SNAPSHOT - MPLUGIN: api-3.1.1/impl-3.2.0 [X]; doxia-2.0.0: 3.9.0-SNAPSHOT
- JXR: api-3.1.1/impl-3.2.0 [X]; doxia-2.0.0: 4.0.0-M1-SNAPSHOT
- MPMD: api-3.1.1/impl-3.2.0 [X]; doxia-2.0.0: 4.0.0-M1-SNAPSHOT
- MJAVADOC: api-3.1.1 [X]; doxia-2.0.0: 3.6.0-SNAPSHOT
- MCHECKSTYLE: api-3.1.1/impl-3.2.0 [X]; doxia-2.0.0: 4.0.0-M1-SNAPSHOT
- MCHANGES: Won't do, plugin has too many dependencies
- MPH: api-3.1.1 [X]; doxia-2.0.0: 3.5.0-SNAPSHOT
- SUREFIRE: api-3.1.1/impl-3.2.0 [X]; doxia-2.0.0: 3.2.0-SNAPSHOT
- MPDF: api-3.1.1 [X]; no upgrade, page-oriented support has been removed
- MDEP: api-3.1.1/impl-3.2.0 [X]; doxia-2.0.0: 3.2.0-SNAPSHOT
- MINVOKER: api-3.1.1/impl-3.2.0 [X]; doxia-2.0.0: 3.7.0-SNAPSHOT MSKINS Fluido: 1.11.x; master: 2.0.0-M8
4.x
;master
- maven-project-info-reports-plugin:
maven-project-info-reports-plugin-3.6.x
;master
- maven-invoker-plugin:
maven-invoker-plugin-3.7.x
;mater
- maven-dependency-plugin:
maven-dependency-plugin-3.7.x
;master
- maven-plugin-tools:
maven-plugin-tools-3.14.x
;master
- maven-jxr:
jxr-3.4.x
;master
- maven-pmd-plugin:
maven-pmd-plugin-3.24.x
;master
- maven-javadoc-plugin:
maven-javadoc-plugin-3.8.x
;master
- maven-checkstyle-plugin:
maven-checkstyle-plugin-3.4.x
;master
- maven-surefire:
surefire-3.4.x
;master
Note: other reporting plugin will not be upgraded.
Migration Notes
Reporting Plugin Maintainers
- Sink tables must start with
Sink#table()
+Sink#tableRows()
and end withSink#tableRows_()
+Sink#table_()
- Runs UTs and ITs and compare HTML output with Doxia 1.x stack. If anything breaks for you, report with us.
- Anchors must be placed before the target element
- Make sure to take care of the signature changes in the Reporting Plugin API
- When linking to output of other plugins you must calculate the default path to it dynamically
Skin
...
Maintainers
- Table border attribute is not used anymore, it has been replaced with the CSS class
bodyTableBorder
- Maven Site Model is now availabe as
$site
Velocity context property
...
maven-doxia
maven-reporting-api
maven-doxia-sitetools
maven-reporting-impl
maven-reporting-exec
maven-site-plugin
- maven-fluido-skin
Followed by the reporting plugins.