bytedeco / javacv

Java interface to OpenCV, FFmpeg, and more
Other
7.4k stars 1.57k forks source link

mvn package fails due to JavaDocs picking up broken source files #2176

Closed msmuenchen closed 5 months ago

msmuenchen commented 5 months ago

Under Maven 3.9.6, attempting to build the project errors out.

The reason is a bunch of files that are excluded in the maven-compiler-plugin config, but not in Javadoc.

Pull request coming in a minute.

[INFO] --- javadoc:3.3.1:jar (attach-javadocs) @ javacv ---
[INFO] No previous run data found, generating javadoc.
[ERROR] MavenReportException: Error while generating Javadoc:
Exit code: 1 - Loading source files for package org.bytedeco.javacv...
Constructing Javadoc information...
/Users/xxx/Projects/javacv/src/main/java/org/bytedeco/javacv/FlyCaptureFrameGrabber.java:35: error: cannot find symbol
import static org.bytedeco.flycapture.global.PGRFlyCapture.*;
                                            ^
  symbol:   class PGRFlyCapture
  location: package org.bytedeco.flycapture.global
/Users/xxx/Projects/javacv/src/main/java/org/bytedeco/javacv/FlyCaptureFrameGrabber.java:123: error: cannot find symbol
    private FlyCaptureContext context = new FlyCaptureContext(null);
            ^
  symbol:   class FlyCaptureContext
  location: class FlyCaptureFrameGrabber
/Users/xxx/Projects/javacv/src/main/java/org/bytedeco/javacv/FlyCaptureFrameGrabber.java:124: error: cannot find symbol
    private FlyCaptureImage raw_image = new FlyCaptureImage();
            ^
  symbol:   class FlyCaptureImage
  location: class FlyCaptureFrameGrabber
/Users/xxx/Projects/javacv/src/main/java/org/bytedeco/javacv/FlyCaptureFrameGrabber.java:125: error: cannot find symbol
    private FlyCaptureImage conv_image = new FlyCaptureImage();
            ^
  symbol:   class FlyCaptureImage
  location: class FlyCaptureFrameGrabber
/Users/xxx/Projects/javacv/src/main/java/org/bytedeco/javacv/FlyCaptureFrameGrabber.java:32: error: package org.bytedeco.flycapture.PGRFlyCapture does not exist
import org.bytedeco.flycapture.PGRFlyCapture.*;
^
/Users/xxx/Projects/javacv/src/main/java/org/bytedeco/javacv/FFmpegLockCallback.java:20: error: cannot find symbol
    private static Cb_PointerPointer_int lockCallback = new Cb_PointerPointer_int() {
                   ^
  symbol:   class Cb_PointerPointer_int
  location: class FFmpegLockCallback
6 errors

Command line was: /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home/bin/javadoc @options @packages

Refer to the generated Javadoc files in '/Users/xxx/Projects/javacv/target/apidocs' dir.

org.apache.maven.reporting.MavenReportException:
Exit code: 1 - Loading source files for package org.bytedeco.javacv...
Constructing Javadoc information...
/Users/xxx/Projects/javacv/src/main/java/org/bytedeco/javacv/FlyCaptureFrameGrabber.java:35: error: cannot find symbol
import static org.bytedeco.flycapture.global.PGRFlyCapture.*;
                                            ^
  symbol:   class PGRFlyCapture
  location: package org.bytedeco.flycapture.global
/Users/xxx/Projects/javacv/src/main/java/org/bytedeco/javacv/FlyCaptureFrameGrabber.java:123: error: cannot find symbol
    private FlyCaptureContext context = new FlyCaptureContext(null);
            ^
  symbol:   class FlyCaptureContext
  location: class FlyCaptureFrameGrabber
/Users/xxx/Projects/javacv/src/main/java/org/bytedeco/javacv/FlyCaptureFrameGrabber.java:124: error: cannot find symbol
    private FlyCaptureImage raw_image = new FlyCaptureImage();
            ^
  symbol:   class FlyCaptureImage
  location: class FlyCaptureFrameGrabber
/Users/xxx/Projects/javacv/src/main/java/org/bytedeco/javacv/FlyCaptureFrameGrabber.java:125: error: cannot find symbol
    private FlyCaptureImage conv_image = new FlyCaptureImage();
            ^
  symbol:   class FlyCaptureImage
  location: class FlyCaptureFrameGrabber
/Users/xxx/Projects/javacv/src/main/java/org/bytedeco/javacv/FlyCaptureFrameGrabber.java:32: error: package org.bytedeco.flycapture.PGRFlyCapture does not exist
import org.bytedeco.flycapture.PGRFlyCapture.*;
^
/Users/xxx/Projects/javacv/src/main/java/org/bytedeco/javacv/FFmpegLockCallback.java:20: error: cannot find symbol
    private static Cb_PointerPointer_int lockCallback = new Cb_PointerPointer_int() {
                   ^
  symbol:   class Cb_PointerPointer_int
  location: class FFmpegLockCallback
6 errors

Command line was: /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home/bin/javadoc @options @packages

Refer to the generated Javadoc files in '/Users/xxx/Projects/javacv/target/apidocs' dir.

    at org.apache.maven.plugins.javadoc.AbstractJavadocMojo.doExecuteJavadocCommandLine (AbstractJavadocMojo.java:6091)
    at org.apache.maven.plugins.javadoc.AbstractJavadocMojo.executeJavadocCommandLine (AbstractJavadocMojo.java:5967)
    at org.apache.maven.plugins.javadoc.AbstractJavadocMojo.executeReport (AbstractJavadocMojo.java:2284)
    at org.apache.maven.plugins.javadoc.JavadocJar.doExecute (JavadocJar.java:189)
    at org.apache.maven.plugins.javadoc.AbstractJavadocMojo.execute (AbstractJavadocMojo.java:2041)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
saudet commented 5 months ago

Those "errors" don't fail the build, you can ignore them

saudet commented 5 months ago

Thanks for the fix!