You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Gautham Banasandra (Jira)" <ji...@apache.org> on 2023/05/24 17:46:00 UTC

[jira] [Created] (HADOOP-18751) Fix incorrect output path in javadoc build phase

Gautham Banasandra created HADOOP-18751:
-------------------------------------------

             Summary: Fix incorrect output path in javadoc build phase
                 Key: HADOOP-18751
                 URL: https://issues.apache.org/jira/browse/HADOOP-18751
             Project: Hadoop Common
          Issue Type: Bug
          Components: build
    Affects Versions: 3.4.0
         Environment: All
            Reporter: Gautham Banasandra
            Assignee: Gautham Banasandra


The javadoc build phase fails with the following error -

{code}
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:3.0.1:javadoc-no-fork (default-cli) on project hadoop-common: An error has occurred in Javadoc report generation: Unable to write 'options' temporary file for command execution: H:\hadoop-common-project\hadoop-common\target\site\H:\hadoop-common-project\hadoop-common\target\api\options (The filename, directory name, or volume label syntax is incorrect) -> [Help 1]
{code}

As called out by the error message the path *H:\hadoop-common-project\hadoop-common\target\site\H:\hadoop-common-project\hadoop-common\target\api\options* is invalid.

The culprit being - https://github.com/apache/hadoop/blob/e9740cb17aef157a615dc36ae08cd224ce1672f0/hadoop-project-dist/pom.xml#L109

{code}
<reportOutputDirectory>${project.build.directory}/site</reportOutputDirectory>
<destDir>${project.build.directory}/api</destDir>
{code}

As per the [docs from maven-javadoc-plugin|https://maven.apache.org/plugins/maven-javadoc-plugin/examples/output-configuration.html], *destDir* attribute's value gets appended to that of *reportOutputDirectory*. This implies that *destDir* must be a relative path, although not called out in the documentation. Since this isn't the case here,
1. In Linux, this yields an unintended path (albeit a valid one) and doesn't fail.
2. In Windows, it yields an incorrect path and thus fails since there's a colon (:) for the drive letter in the middle -
H:\hadoop-common-project\hadoop-common\target\site\H*:*\hadoop-common-project\hadoop-common\target\api\options

Thus, fixing this would fix the build failure on Windows and put the docs in the appropriate directory in Linux.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org