objectionary / jeo-maven-plugin

This Maven plugin converts Java Bytecode binary files to EOLANG programs that use the "opcode" atom
https://www.objectionary.com/jeo-maven-plugin/
MIT License
12 stars 4 forks source link

fails to assemble XMIR without any metas #964

Closed yegor256 closed 2 months ago

yegor256 commented 2 months ago

I'm getting this:

 [INFO] >> [INFO] --- jeo:0.7.0:assemble (default-cli) @ hone ---
  [INFO] >> [INFO] Xmir verification before assembling is disabled. Skipping.
  [INFO] >> [INFO] Assembling files from '/target/generated-sources/unrolled' to '/target/classes'
  [INFO] >> [INFO] Assembling '/target/generated-sources/unrolled/Hello.xmir' (12Kb)
  [INFO] >> [INFO] ------------------------------------------------------------------------
  [INFO] >> [INFO] BUILD FAILURE
  [INFO] >> [INFO] ------------------------------------------------------------------------
  [INFO] >> [INFO] Total time:  2.546 s
  [INFO] >> [INFO] Finished at: 2025-01-14T09:36:40Z
  [INFO] >> [INFO] ------------------------------------------------------------------------
  [INFO] >> [ERROR] Failed to execute goal org.eolang:jeo-maven-plugin:0.7.0:assemble (default-cli) on project hone: Execution default-cli of goal org.eolang:jeo-maven-plugin:0.7.0:assemble failed: XPath '/program/metas/meta/tail/text()' not found in '<program xmlns:xsi="http://www.w3.org/2001/XMLSche..12099..ed</sheet>\uA   </sheets>\uA</program>\uA': Index (0) is out of bounds (size=0) -> [Help 1]
  [INFO] >> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.eolang:jeo-maven-plugin:0.7.0:assemble (default-cli) on project hone: Execution default-cli of goal org.eolang:jeo-maven-plugin:0.7.0:assemble failed: XPath '/program/metas/meta/tail/text()' not found in '<program xmlns:xsi="http://www.w3.org/2001/XMLSche..12099..ed</sheet>\uA   </sheets>\uA</program>\uA': Index (0) is out of bounds (size=0)
  [INFO] >>     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:333)
  [INFO] >>     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
  [INFO] >>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
  [INFO] >>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
  [INFO] >>     at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
  [INFO] >>     at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
  [INFO] >>     at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
  [INFO] >>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
  [INFO] >>     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
  [INFO] >>     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
  [INFO] >>     at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
  [INFO] >>     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
  [INFO] >>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
  [INFO] >>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
  [INFO] >>     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
  [INFO] >>     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
  [INFO] >>     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
  [INFO] >>     at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
  [INFO] >>     at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
  [INFO] >>     at java.lang.reflect.Method.invoke (Method.java:580)
  [INFO] >>     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:255)
  [INFO] >>     at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:201)
  [INFO] >>     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:361)
  [INFO] >>     at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:314)
  [INFO] >> Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-cli of goal org.eolang:jeo-maven-plugin:0.7.0:assemble failed: XPath '/program/metas/meta/tail/text()' not found in '<program xmlns:xsi="http://www.w3.org/2001/XMLSche..12099..ed</sheet>\uA   </sheets>\uA</program>\uA': Index (0) is out of bounds (size=0)
  [INFO] >>     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:133)
  [INFO] >>     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
  [INFO] >>     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
  [INFO] >>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
  [INFO] >>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
  [INFO] >>     at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
  [INFO] >>     at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
  [INFO] >>     at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
  [INFO] >>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
  [INFO] >>     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
  [INFO] >>     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
  [INFO] >>     at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
  [INFO] >>     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
  [INFO] >>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
  [INFO] >>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
  [INFO] >>     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
  [INFO] >>     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
  [INFO] >>     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
  [INFO] >>     at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
  [INFO] >>     at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
  [INFO] >>     at java.lang.reflect.Method.invoke (Method.java:580)
  [INFO] >>     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:255)
  [INFO] >>     at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:201)
  [INFO] >>     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:361)
  [INFO] >>     at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:314)
  [INFO] >> Caused by: com.jcabi.xml.ListWrapper$NodeNotFoundException: XPath '/program/metas/meta/tail/text()' not found in '<program xmlns:xsi="http://www.w3.org/2001/XMLSche..12099..ed</sheet>\uA   </sheets>\uA</program>\uA': Index (0) is out of bounds (size=0)
  [INFO] >>     at com.jcabi.xml.ListWrapper.get (ListWrapper.java:158)
  [INFO] >>     at org.eolang.jeo.representation.XmirRepresentation.name (XmirRepresentation.java:86)
  [INFO] >>     at org.eolang.jeo.Assembling.target (Assembling.java:70)
  [INFO] >>     at org.eolang.jeo.Caching.target (Caching.java:57)
  [INFO] >>     at org.eolang.jeo.Caching.tryTransform (Caching.java:83)
  [INFO] >>     at org.eolang.jeo.Caching.transform (Caching.java:63)
  [INFO] >>     at org.eolang.jeo.Logging.transform (Logging.java:83)
  [INFO] >>     at org.eolang.jeo.Assembler.assemble (Assembler.java:88)
  [INFO] >>     at org.eolang.jeo.ParallelTranslator.translate (ParallelTranslator.java:70)
  [INFO] >>     at java.util.stream.ReferencePipeline$3$1.accept (ReferencePipeline.java:197)
  [INFO] >>     at java.util.stream.ReferencePipeline$2$1.accept (ReferencePipeline.java:179)
  [INFO] >>     at java.util.stream.ReferencePipeline$3$1.accept (ReferencePipeline.java:197)
  [INFO] >>     at java.util.Spliterators$ArraySpliterator.forEachRemaining (Spliterators.java:1024)

In the XMIR it's trying to assemble there is no <metas/> element.

yegor256 commented 2 months ago

@volodya-lombrozo please, check this one

volodya-lombrozo commented 2 months ago

@yegor256 I've fixed it here: https://github.com/objectionary/jeo-maven-plugin/pull/962 Just can't merge it since there are many bugs in dependencies.

volodya-lombrozo commented 2 months ago

@yegor256 This also might be a reason for this issue: https://github.com/objectionary/eo/issues/3812

volodya-lombrozo commented 2 months ago

@yegor256 Could you try the 0.7.1 version please?

yegor256 commented 2 months ago

@volodya-lombrozo this problem is gone, thanks!