----- Introduction ----- Hervé Boutemy ----- 2014-12-07 ----- ~~ Licensed to the Apache Software Foundation (ASF) under one ~~ or more contributor license agreements. See the NOTICE file ~~ distributed with this work for additional information ~~ regarding copyright ownership. The ASF licenses this file ~~ to you under the Apache License, Version 2.0 (the ~~ "License"); you may not use this file except in compliance ~~ with the License. You may obtain a copy of the License at ~~ ~~ http://www.apache.org/licenses/LICENSE-2.0 ~~ ~~ Unless required by applicable law or agreed to in writing, ~~ software distributed under the License is distributed on an ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ~~ KIND, either express or implied. See the License for the ~~ specific language governing permissions and limitations ~~ under the License. ~~ NOTE: For help with the syntax of this file, see: ~~ http://maven.apache.org/doxia/references/apt-format.html ${project.name} Abstract classes to manage report generation, which can be run both: * as part of a site generation, as a {{{../maven-reporting-api/}maven-reporting-api}}'s <<<{{{../maven-reporting-api/apidocs/org/apache/maven/reporting/MavenReport.html}MavenReport}}>>>, * or as a direct standalone goal invocation, as a {{{/ref/current/maven-plugin-api/}maven-plugin-api}}'s <<<{{{/ref/current/maven-plugin-api/apidocs/org/apache/maven/plugin/Mojo.html}Mojo}}>>>. [] * Usage A full working sample is included in <<>> ITs, which are part of {{{../source-repository.html}the component source tree}}: see <<>>. * History ** Inclusion in Maven core Until Maven 2.0.4, <<>> was included in Maven 2 core distribution: version used was completely driven by Maven version used. The module was removed from Maven core starting with Maven 2.0.5 and moved to shared components to improve fexibility: starting with Maven 2.0.5, each plugin can choose its <<>> version independently from Maven. ** Doxia runtime When used as a direct standalone goal invocation, Doxia implementation used is the version used during plugin compilation. When used as report during site generation, <<>> provides Doxia API implementation to the plugin, overriding normal plugin dependency: see {{{/shared/maven-reporting-exec/xref/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.html}DefaultMavenReportExecutor}} in <<<{{{/shared/maven-reporting-exec/}maven-reporting-exec}}>>>. ** Doxia dependency <<>> use Doxia 1.0, then is used for reporting plugins wanting Maven 2.0.x compatibility. From <<>> to <<>>, Doxia version used ranges from 1.1 to 1.4. When creating a reporting plugin using one of these <<>> versions, take care to use corresponding <<>>: * avoid <<>> version 1.0 that can be imported by <<<{{{../maven-reporting-api/}maven-reporting-api}}>>> 3.0: this would lead to <<<"java.lang.ClassNotFoundException: org.apache.maven.doxia.sink.SinkEventAttributes">>> when used as direct standalone goal. * avoid <<>> after 1.4 since RenderingContext was moved in Doxia 1.5 from core to Site Renderer (see {{{https://issues.apache.org/jira/browse/DOXIA-499}DOXIA-499}}). [] <<>> use Doxia 1.6. ** Upgrading to <<>> When upgrading a reporting plugin from an old version of <<>> to version 2.3 or more, a lot of copy/pasted code can be removed by upgrading the plugin to {{{/plugin-tools/maven-plugin-tools-annotations/}plugin-tools with Java 5 annotations}}: see {{{https://issues.apache.org/jira/browse/MSHARED-347}MSHARED-347}} for more details.