[ https://issues.apache.org/jira/browse/DOXIASITETOOLS-301?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17710241#comment-17710241 ]
Michael Osipov commented on DOXIASITETOOLS-301: ----------------------------------------------- Note: It is not on the project graph, unrelated. This is a separate resolution. Now, let me elaborate how Maven Resolver works here since it is just an artifact (site descriptor): If an artifact is not in the local repo, read no file exists, regardless of the size, go out and try to download, persist to local disk and check the checksum. If all fine, report if not, fail with an exception and mark as given out for resolution, will not try next time unless (a) you explicitly request it or (b) the wait time is over (see [update policy|https://maven.apache.org/pom.html#Repositories]). This is a great process not to reinvent the wheel. Here is the old approach which combines reprecated Maven Artifact API and a band aid: Try to resolve, not found? Abuse the local site descriptor file as a zero byte marker which will force the artifact API not to try to resolve again because the file is there since the assumption is, if it wasn't there before, it won't appear at all. Might be true for releases, but not for snapshots. Using an artifact file as as marker is not a good solution. Now pair both: Resolver sees the zero byte pseudo marker file and reports: Yep, here is your artifact. XML readers an empty file, there is your exception. > Automatically remove the 0-byte site descriptors from the local repo > -------------------------------------------------------------------- > > Key: DOXIASITETOOLS-301 > URL: https://issues.apache.org/jira/browse/DOXIASITETOOLS-301 > Project: Maven Doxia Sitetools > Issue Type: Improvement > Affects Versions: 2.0.0-M6 > Reporter: Konrad Windszus > Priority: Major > > As older versions created 0-byte site descriptors in the local repo those > should be automatically removed if detected. Otherwise you run into the > following error > {code} > [ERROR] Failed to execute goal > org.apache.maven.plugins:maven-site-plugin:4.0.0-M6:site > (generate-site) on project openmeetings-parent: SiteToolException: > Error reading site descriptor: input contained no data -> [Help 1] > org.apache.maven.lifecycle.LifecycleExecutionException: Failed to > execute goal org.apache.maven.plugins:maven-site-plugin:4.0.0-M6:site > (generate-site) on project openmeetings-parent: SiteToolException: > Error reading site descriptor > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 > (MojoExecutor.java:347) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute > (MojoExecutor.java:330) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:213) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:175) > at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 > (MojoExecutor.java:76) > at org.apache.maven.lifecycle.internal.MojoExecutor$1.run > (MojoExecutor.java:163) > at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute > (DefaultMojosExecutionStrategy.java:39) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:160) > 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:260) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:172) > at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:100) > at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821) > at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270) > at org.apache.maven.cli.MavenCli.main (MavenCli.java:192) > 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:282) > at org.codehaus.plexus.classworlds.launcher.Launcher.launch > (Launcher.java:225) > at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode > (Launcher.java:406) > at org.codehaus.plexus.classworlds.launcher.Launcher.main > (Launcher.java:347) > Caused by: org.apache.maven.plugin.MojoExecutionException: > SiteToolException: Error reading site descriptor > at > org.apache.maven.plugins.site.descriptor.AbstractSiteDescriptorMojo.prepareDecorationModel > (AbstractSiteDescriptorMojo.java:94) > at > org.apache.maven.plugins.site.render.AbstractSiteRenderingMojo.createSiteRenderingContext > (AbstractSiteRenderingMojo.java:246) > at org.apache.maven.plugins.site.render.SiteMojo.renderLocale > (SiteMojo.java:138) > at org.apache.maven.plugins.site.render.SiteMojo.execute > (SiteMojo.java:123) > at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo > (DefaultBuildPluginManager.java:126) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 > (MojoExecutor.java:342) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute > (MojoExecutor.java:330) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:213) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:175) > at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 > (MojoExecutor.java:76) > at org.apache.maven.lifecycle.internal.MojoExecutor$1.run > (MojoExecutor.java:163) > at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute > (DefaultMojosExecutionStrategy.java:39) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:160) > 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:260) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:172) > at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:100) > at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821) > at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270) > at org.apache.maven.cli.MavenCli.main (MavenCli.java:192) > 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:282) > at org.codehaus.plexus.classworlds.launcher.Launcher.launch > (Launcher.java:225) > at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode > (Launcher.java:406) > at org.codehaus.plexus.classworlds.launcher.Launcher.main > (Launcher.java:347) > Caused by: org.apache.maven.doxia.tools.SiteToolException: Error > reading site descriptor > at org.apache.maven.doxia.tools.DefaultSiteTool.readDecorationModel > (DefaultSiteTool.java:1026) > at org.apache.maven.doxia.tools.DefaultSiteTool.getDecorationModel > (DefaultSiteTool.java:947) > at org.apache.maven.doxia.tools.DefaultSiteTool.getDecorationModel > (DefaultSiteTool.java:979) > at org.apache.maven.doxia.tools.DefaultSiteTool.getDecorationModel > (DefaultSiteTool.java:386) > at > org.apache.maven.plugins.site.descriptor.AbstractSiteDescriptorMojo.prepareDecorationModel > (AbstractSiteDescriptorMojo.java:91) > at > org.apache.maven.plugins.site.render.AbstractSiteRenderingMojo.createSiteRenderingContext > (AbstractSiteRenderingMojo.java:246) > at org.apache.maven.plugins.site.render.SiteMojo.renderLocale > (SiteMojo.java:138) > at org.apache.maven.plugins.site.render.SiteMojo.execute > (SiteMojo.java:123) > at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo > (DefaultBuildPluginManager.java:126) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 > (MojoExecutor.java:342) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute > (MojoExecutor.java:330) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:213) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:175) > at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 > (MojoExecutor.java:76) > at org.apache.maven.lifecycle.internal.MojoExecutor$1.run > (MojoExecutor.java:163) > at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute > (DefaultMojosExecutionStrategy.java:39) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:160) > 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:260) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:172) > at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:100) > at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821) > at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270) > at org.apache.maven.cli.MavenCli.main (MavenCli.java:192) > 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:282) > at org.codehaus.plexus.classworlds.launcher.Launcher.launch > (Launcher.java:225) > at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode > (Launcher.java:406) > at org.codehaus.plexus.classworlds.launcher.Launcher.main > (Launcher.java:347) > Caused by: java.io.EOFException: input contained no data > at org.codehaus.plexus.util.xml.pull.MXParser.fillBuf (MXParser.java:3898) > at org.codehaus.plexus.util.xml.pull.MXParser.more (MXParser.java:3980) > at org.codehaus.plexus.util.xml.pull.MXParser.parseProlog > (MXParser.java:1774) > at org.codehaus.plexus.util.xml.pull.MXParser.nextImpl (MXParser.java:1757) > at org.codehaus.plexus.util.xml.pull.MXParser.next (MXParser.java:1375) > at org.apache.maven.doxia.site.decoration.io.xpp3.DecorationXpp3Reader.read > (DecorationXpp3Reader.java:1415) > at org.apache.maven.doxia.site.decoration.io.xpp3.DecorationXpp3Reader.read > (DecorationXpp3Reader.java:579) > at org.apache.maven.doxia.site.decoration.io.xpp3.DecorationXpp3Reader.read > (DecorationXpp3Reader.java:594) > at org.apache.maven.doxia.tools.DefaultSiteTool.readDecorationModel > (DefaultSiteTool.java:1022) > at org.apache.maven.doxia.tools.DefaultSiteTool.getDecorationModel > (DefaultSiteTool.java:947) > at org.apache.maven.doxia.tools.DefaultSiteTool.getDecorationModel > (DefaultSiteTool.java:979) > at org.apache.maven.doxia.tools.DefaultSiteTool.getDecorationModel > (DefaultSiteTool.java:386) > at > org.apache.maven.plugins.site.descriptor.AbstractSiteDescriptorMojo.prepareDecorationModel > (AbstractSiteDescriptorMojo.java:91) > at > org.apache.maven.plugins.site.render.AbstractSiteRenderingMojo.createSiteRenderingContext > (AbstractSiteRenderingMojo.java:246) > at org.apache.maven.plugins.site.render.SiteMojo.renderLocale > (SiteMojo.java:138) > at org.apache.maven.plugins.site.render.SiteMojo.execute > (SiteMojo.java:123) > at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo > (DefaultBuildPluginManager.java:126) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 > (MojoExecutor.java:342) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute > (MojoExecutor.java:330) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:213) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:175) > at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 > (MojoExecutor.java:76) > at org.apache.maven.lifecycle.internal.MojoExecutor$1.run > (MojoExecutor.java:163) > at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute > (DefaultMojosExecutionStrategy.java:39) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:160) > 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:260) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:172) > at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:100) > at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821) > at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270) > at org.apache.maven.cli.MavenCli.main (MavenCli.java:192) > 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:282) > at org.codehaus.plexus.classworlds.launcher.Launcher.launch > (Launcher.java:225) > at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode > (Launcher.java:406) > at org.codehaus.plexus.classworlds.launcher.Launcher.main > (Launcher.java:347) > {code} > This has been reported in > https://the-asf.slack.com/archives/C7Q9JB404/p1680156986876729?thread_ts=1680110297.233759&cid=C7Q9JB404 > and in https://lists.apache.org/thread/8w6c5l2pz2hbv918os0f8w58l4jnflyw -- This message was sent by Atlassian Jira (v8.20.10#820010)