Uploaded image for project: 'mdsal'
  1. mdsal
  2. MDSAL-727

Code generation issue with CaseGenerator

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Medium Medium
    • None
    • None
    • Binding codegen
    • None

      I'm getting this exception when trying to build some thirdparty YANG modules (sorry I'm not sure if I can provide all of them because of IP issues):

       

       [ERROR] Failed to execute goal org.opendaylight.yangtools:yang-maven-plugin:7.0.14:generate-sources (binding) on project model-issue-test: Execution binding of goal org.opendaylight.yangtools:yang-maven-plugin:7.0.14:generate-sources failed: Failed to find ([http://www.adtran.com/ns/yang/adtran-cloud-platform-object-inspect-device?revision=2021-04-06)single-slot-device] as ([http://www.adtran.com/ns/yang/adtran-cloud-platform-object-inspect-device?revision=2021-04-06)single-slot-device] in CaseGenerator\{argument=(http://www.adtran.com/ns/yang/adtran-cloud-platform-object-inspect-device?revision=2021-04-06)single-slot-device, augmenting} -> [Help 1]
       org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.opendaylight.yangtools:yang-maven-plugin:7.0.14:generate-sources (binding) on project model-issue-test: Execution binding of goal org.opendaylight.yangtools:yang-maven-plugin:7.0.14:generate-sources failed: Failed to find ([http://www.adtran.com/ns/yang/adtran-cloud-platform-object-inspect-device?revision=2021-04-06)single-slot-device] as ([http://www.adtran.com/ns/yang/adtran-cloud-platform-object-inspect-device?revision=2021-04-06)single-slot-device] in CaseGenerator\{argument=(http://www.adtran.com/ns/yang/adtran-cloud-platform-object-inspect-device?revision=2021-04-06)single-slot-device, augmenting}
       at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
       at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
       at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
       at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
       at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
       at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
       at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
       at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
       at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
       at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
       at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
       at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
       at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
       at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
       at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
       at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke (Method.java:566)
       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.PluginExecutionException: Execution binding of goal org.opendaylight.yangtools:yang-maven-plugin:7.0.14:generate-sources failed: Failed to find ([http://www.adtran.com/ns/yang/adtran-cloud-platform-object-inspect-device?revision=2021-04-06)single-slot-device] as ([http://www.adtran.com/ns/yang/adtran-cloud-platform-object-inspect-device?revision=2021-04-06)single-slot-device] in CaseGenerator\{argument=(http://www.adtran.com/ns/yang/adtran-cloud-platform-object-inspect-device?revision=2021-04-06)single-slot-device, augmenting}
       at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:148)
       at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
       at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
       at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
       at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
       at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
       at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
       at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
       at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
       at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
       at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
       at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
       at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
       at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
       at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
       at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
       at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke (Method.java:566)
       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: com.google.common.base.VerifyException: Failed to find ([http://www.adtran.com/ns/yang/adtran-cloud-platform-object-inspect-device?revision=2021-04-06)single-slot-device] as ([http://www.adtran.com/ns/yang/adtran-cloud-platform-object-inspect-device?revision=2021-04-06)single-slot-device] in CaseGenerator\{argument=(http://www.adtran.com/ns/yang/adtran-cloud-platform-object-inspect-device?revision=2021-04-06)single-slot-device, augmenting}
       at com.google.common.base.Verify.verify (Verify.java:124)
       at com.google.common.base.Verify.verifyNotNull (Verify.java:500)
       at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator.resolveSchemaNode (AbstractExplicitGenerator.java:117)
       at org.opendaylight.mdsal.binding.generator.impl.reactor.GeneratorReactor.resolveSchemaNode (GeneratorReactor.java:220)
       at org.opendaylight.mdsal.binding.generator.impl.reactor.ModuleAugmentGenerator.linkAugmentationTarget (ModuleAugmentGenerator.java:39)
       at org.opendaylight.mdsal.binding.generator.impl.reactor.GeneratorReactor.execute (GeneratorReactor.java:131)
       at org.opendaylight.mdsal.binding.generator.impl.DefaultBindingGenerator.generateFor (DefaultBindingGenerator.java:68)
       at org.opendaylight.mdsal.binding.generator.impl.DefaultBindingGenerator.generateTypes (DefaultBindingGenerator.java:38)
       at org.opendaylight.mdsal.binding.java.api.generator.JavaFileGenerator.generateFiles (JavaFileGenerator.java:74)
       at org.opendaylight.yangtools.yang2sources.plugin.FileGeneratorTask.execute (FileGeneratorTask.java:66)
       at org.opendaylight.yangtools.yang2sources.plugin.FileGeneratorTask.execute (FileGeneratorTask.java:40)
       at org.opendaylight.yangtools.yang2sources.plugin.GeneratorTask.execute (GeneratorTask.java:36)
       at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.generateSources (YangToSourcesProcessor.java:335)
       at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.conditionalExecute (YangToSourcesProcessor.java:214)
       at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesMojo.execute (YangToSourcesMojo.java:139)
       at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
       at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
       at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
       at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
       at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
       at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
       at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
       at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
       at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
       at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
       at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
       at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
       at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
       at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
       at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
       at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
       at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke (Method.java:566)
       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)\{preformatted}
      

       

      This fails with the following pom configuration:

      <plugin>
          <groupId>org.opendaylight.yangtools</groupId>
          <artifactId>yang-maven-plugin</artifactId>
          <version>7.0.14</version>
          <dependencies>
              <dependency>
                  <groupId>org.opendaylight.mdsal</groupId>
                  <artifactId>mdsal-binding-java-api-generator</artifactId>
                  <version>8.0.7</version>
              </dependency>
              <dependency>
                  <groupId>com.google.guava</groupId>
                  <artifactId>guava</artifactId>
                  <version>30.1.1-jre</version>
              </dependency>

       

      But used to work in former plugin versions:

       

      <plugin>
          <groupId>org.opendaylight.yangtools</groupId>
          <artifactId>yang-maven-plugin</artifactId>
          <version>3.0.16</version>
          <dependencies>
              <dependency>
                  <groupId>org.opendaylight.mdsal</groupId>
                  <artifactId>maven-sal-api-gen-plugin</artifactId>
                  <version>2.0.17</version>
                  <type>jar</type>
              </dependency>
          </dependencies>
      

      I'm attaching the pom I used, the offending yang file, and the mvn -X results for the previous and current versions (note that I used JDK11 for the recent versions and JDK8 for the former, and I also used 15.1.0 as the lighty parent pom)

       

            jmatias Jorge Matias
            jmatias Jorge Matias
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: