Skip to content
Snippets Groups Projects
Commit 0ecd77f8 authored by Emmanuel Bourg's avatar Emmanuel Bourg
Browse files

New upstream version 4.0.0

parent b7fe30c4
Branches upstream
Tags upstream/4.0.0
No related merge requests found
......@@ -23,3 +23,14 @@ github:
- build-management
- maven-shared
- maven
enabled_merge_buttons:
squash: true
merge: false
rebase: true
autolink_jira:
- MSHARED
notifications:
commits: commits@maven.apache.org
issues: issues@maven.apache.org
pullrequests: issues@maven.apache.org
jira_options: link label comment
......@@ -13,3 +13,4 @@ out/
/bootstrap
/dependencies.xml
.java-version
.checkstyle
\ No newline at end of file
......@@ -20,6 +20,7 @@ Contributing to [Apache Maven Reporting API](https://maven.apache.org.reporting/
[![ASF Jira](https://img.shields.io/endpoint?url=https%3A%2F%2Fmaven.apache.org%2Fbadges%2Fasf_jira-MSHARED.json)][jira]
[![Apache License, Version 2.0, January 2004](https://img.shields.io/github/license/apache/maven.svg?label=License)][license]
[![Maven Central](https://img.shields.io/maven-central/v/org.apache.maven.reporting/maven-reporting-api.svg?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.maven.reporting/maven-reporting-api)
[![Reproducible Builds](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/jvm-repo-rebuild/reproducible-central/master/content/org/apache/maven/reporting/maven-reporting-api/badge.json)](https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/maven/reporting/maven-reporting-api/README.md)
[![Jenkins Status](https://img.shields.io/jenkins/s/https/ci-maven.apache.org/job/Maven/job/maven-box/job/maven-reporting-api/job/master.svg)][build]
[![Jenkins tests](https://img.shields.io/jenkins/t/https/ci-maven.apache.org/job/Maven/job/maven-box/job/maven-reporting-api/job/master.svg)][test-results]
......
<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
......@@ -18,41 +17,28 @@ KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-components</artifactId>
<version>34</version>
<version>43</version>
<relativePath />
</parent>
<groupId>org.apache.maven.reporting</groupId>
<artifactId>maven-reporting-api</artifactId>
<version>3.1.1</version>
<version>4.0.0</version>
<name>Apache Maven Reporting API</name>
<description>API to manage report generation.</description>
<developers>
<developer>
<id>vsiveton</id>
<name>Vincent Siveton</name>
<email>vincent.siveton@gmail.com</email>
<roles>
<role>Java Developer</role>
</roles>
<timezone>-5</timezone>
</developer>
</developers>
<scm>
<connection>scm:git:https://gitbox.apache.org/repos/asf/maven-reporting-api.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/maven-reporting-api.git</developerConnection>
<tag>maven-reporting-api-4.0.0</tag>
<url>https://github.com/apache/maven-reporting-api/tree/${project.scm.tag}</url>
<tag>maven-reporting-api-3.1.1</tag>
</scm>
<issueManagement>
<system>jira</system>
......@@ -68,39 +54,17 @@ under the License.
<url>scm:svn:https://svn.apache.org/repos/asf/maven/website/components/${maven.site.path}</url>
</site>
</distributionManagement>
<properties>
<javaVersion>7</javaVersion>
<project.build.outputTimestamp>2022-07-29T20:27:56Z</project.build.outputTimestamp>
<javaVersion>8</javaVersion>
<project.build.outputTimestamp>2024-10-01T15:34:59Z</project.build.outputTimestamp>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.3.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.1.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencies>
<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-sink-api</artifactId>
<version>1.11.1</version>
<exclusions>
<exclusion>
<artifactId>plexus-container-default</artifactId>
<groupId>org.codehaus.plexus</groupId>
</exclusion>
</exclusions>
<version>2.0.0</version>
</dependency>
</dependencies>
</project>
package org.apache.maven.reporting;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
......@@ -9,7 +7,7 @@ package org.apache.maven.reporting;
* "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
* 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
......@@ -18,31 +16,30 @@ package org.apache.maven.reporting;
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.reporting;
import java.util.Locale;
import org.apache.maven.doxia.sink.Sink;
import org.apache.maven.doxia.sink.SinkFactory;
import java.util.Locale;
/**
* Interface created separately for backwards compatibility. This method
* would ideally have been added in the {@link MavenReport} interface, and the other 'generate'
* method dropped. But that would have rendered all reporting mojo's uncompilable and binary incompatible.
*
* @author <a href="mailto:kenney@apache.org">Kenney Westerhof</a>
* @see MavenReport#generate(org.codehaus.doxia.sink.Sink, Locale)
* @see MavenReport#generate(Sink, Locale)
* @since 3.0 (copied in maven-site-plugin 2.0-beta-6)
*/
public interface MavenMultiPageReport
extends MavenReport
{
public interface MavenMultiPageReport extends MavenReport {
/**
* Generate multi page report.
*
* @param sink The sink to write to.
* @param locale The locale to use.
* @param sinkFactory the sink factory to create sub sinks.
* @throws MavenReportException if an error occurs.
*/
void generate( Sink sink, SinkFactory sinkFactory, Locale locale )
throws MavenReportException;
void generate(Sink sink, SinkFactory sinkFactory, Locale locale) throws MavenReportException;
}
package org.apache.maven.reporting;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
......@@ -9,7 +7,7 @@ package org.apache.maven.reporting;
* "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
* 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
......@@ -18,12 +16,13 @@ package org.apache.maven.reporting;
* specific language governing permissions and limitations
* under the License.
*/
import org.codehaus.doxia.sink.Sink;
package org.apache.maven.reporting;
import java.io.File;
import java.util.Locale;
import org.apache.maven.doxia.sink.Sink;
/**
* The basis for a Maven report.
*
......@@ -32,8 +31,7 @@ import java.util.Locale;
* @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
* @since 2.0
*/
public interface MavenReport
{
public interface MavenReport {
/** Plexus lookup name */
String ROLE = MavenReport.class.getName();
......@@ -49,17 +47,31 @@ public interface MavenReport
* Mainly used for external reports like javadoc.
*
* @param sink the sink to use for the generation.
* @param locale the wanted locale to generate the report, could be null.
* @param locale the wanted locale to generate the report.
* @throws MavenReportException if any
*/
void generate( Sink sink, Locale locale )
throws MavenReportException;
void generate(Sink sink, Locale locale) throws MavenReportException;
/**
* Get the base name used to create report's output file(s).
* Get the path relative to {@link #getReportOutputDirectory()} where the report's main output
* file will be written. The last component is the name of the file without any extension. The
* actual output extension will by added by the sink implementation.
* <p>
* Note: This method won't be {@code default} anymore when {@link #getOutputName()} is removed.
* You are advised to implement it as soon as possible.
*
* @return the output name of this report.
* @since 4.0.0
* @return the relative output path of this report
*/
default String getOutputPath() {
return getOutputName();
}
/**
* @deprecated Method name does not properly reflect its purpose. Implement and use
* {@link #getOutputPath()} instead.
*/
@Deprecated
String getOutputName();
/**
......@@ -73,28 +85,31 @@ public interface MavenReport
/**
* Get the localized report name.
*
* @param locale the wanted locale to return the report's name, could be null.
* @return the name of this report.
* @param locale the wanted locale to return the report's name.
* @return the name of this report
*/
String getName( Locale locale );
String getName(Locale locale);
/**
* Get the localized report description.
*
* @param locale the wanted locale to return the report's description, could be null.
* @return the description of this report.
* @param locale the wanted locale to return the report's description.
* @return the description of this report
*/
String getDescription( Locale locale );
String getDescription(Locale locale);
/**
* Set a new output directory. Useful for staging.
* Set a new shared report output directory. This directory may contain the output of other
* reports as well.
*
* @param outputDirectory the new output directory
* @param outputDirectory the new shared report output directory
*/
void setReportOutputDirectory( File outputDirectory );
void setReportOutputDirectory(File outputDirectory);
/**
* @return the current report output directory.
* Get the shared report output directory.
*
* @return the current shared report output directory
*/
File getReportOutputDirectory();
......@@ -108,10 +123,11 @@ public interface MavenReport
boolean isExternalReport();
/**
* Verify some conditions before generate the report.
* Verify some conditions before generating the report.
*
* @return {@code true} if this report could be generated, {@code false} otherwise.
* @return {@code true} if this report can be generated, {@code false} otherwise.
* Default should be {@code true}.
* @throws MavenReportException if any
*/
boolean canGenerateReport();
boolean canGenerateReport() throws MavenReportException;
}
package org.apache.maven.reporting;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
......@@ -9,7 +7,7 @@ package org.apache.maven.reporting;
* "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
* 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
......@@ -18,6 +16,7 @@ package org.apache.maven.reporting;
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.reporting;
/**
* An exception occurring during the execution of a Maven report.
......@@ -26,30 +25,26 @@ package org.apache.maven.reporting;
* @author <a href="evenisse@apache.org">Emmanuel Venisse</a>
* @since 2.0
*/
public class MavenReportException
extends Exception
{
public class MavenReportException extends Exception {
/** The serialVersionUID **/
public static final long serialVersionUID = -6200353563231163785L;
/**
* Default constructor.
*
* @param msg the exception message.
* @param message the exception message.
*/
public MavenReportException( String msg )
{
super( msg );
public MavenReportException(String message) {
super(message);
}
/**
* Other constructor.
*
* @param msg the exception message.
* @param message the exception message.
* @param cause the cause.
*/
public MavenReportException( String msg, Exception cause )
{
super( msg, cause );
public MavenReportException(String message, Exception cause) {
super(message, cause);
}
}
package org.apache.maven.reporting;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
......@@ -9,7 +7,7 @@ package org.apache.maven.reporting;
* "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
* 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
......@@ -18,6 +16,7 @@ package org.apache.maven.reporting;
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.reporting;
/**
* Basis for rendering report.
......@@ -25,12 +24,8 @@ package org.apache.maven.reporting;
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
* @author <a href="evenisse@apache.org">Emmanuel Venisse</a>
* @since 2.0
* TODO Later it may be appropriate to create something like a VelocityMavenReportRenderer
* that could take a velocity template and pipe that through Doxia rather than coding
* them up like this.
*/
public interface MavenReportRenderer
{
public interface MavenReportRenderer {
/**
* @return the wanted report's title.
*/
......@@ -38,6 +33,7 @@ public interface MavenReportRenderer
/**
* Renderer a report.
* @throws MavenReportException if any
*/
void render();
}
\ No newline at end of file
void render() throws MavenReportException;
}
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
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.
-->
<project name="${project.name}">
<body>
<menu ref="reports"/>
</body>
</project>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment