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

Failed to find leafref target

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: High High
    • None
    • Carbon SR4, 3.0.6
    • Binding codegen
    • None
    • Eclipse IDE for Java Developers

      Version: 2018-09 (4.9.0)

    • High

      Team,

      I am facing an issue  related to "Failed to find leafref target"  when trying to generate java classes using org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl. It would be very helpful if you could review this issue at the earliest and suggest a way to resolve this. Thank you in advance.

      Attached below is the snippet of pom.xml that I had used for generating the java classes:

       

      <dependencies> 
       <dependency>
       <groupId>org.opendaylight.yangtools</groupId>
       <artifactId>yang-common</artifactId>
       <version>1.1.4-Carbon</version>
       </dependency>
       <dependency>
       <groupId>org.opendaylight.yangtools</groupId>
       <artifactId>yang-model-api</artifactId>
       <version>1.1.4-Carbon</version>
       </dependency>
       <dependency>
       <groupId>org.opendaylight.yangtools</groupId>
       <artifactId>yang-data-api</artifactId>
       <version>1.1.4-Carbon</version>
       </dependency>
       <dependency>
       <groupId>org.opendaylight.yangtools</groupId>
       <artifactId>yang-data-codec-gson</artifactId>
       <version>1.1.4-Carbon</version>
       </dependency> 
       <dependency>
       <groupId>org.opendaylight.mdsal</groupId>
       <artifactId>mdsal-binding-dom-codec</artifactId>
       <version>3.0.6</version>
       </dependency> 
       <dependency>
       <groupId>org.opendaylight.mdsal</groupId>
       <artifactId>mdsal-binding-generator-impl</artifactId>
       <version>1.0.6</version>
       </dependency> 
       <dependency>
       <groupId>org.opendaylight.mdsal.model</groupId>
       <artifactId>ietf-topology</artifactId>
       <version>2013.10.21.11.0</version>
       </dependency> 
       <dependency>
       <groupId>org.opendaylight.yangtools.model</groupId>
       <artifactId>ietf-inet-types</artifactId>
       <version>2010.09.24.7.4-Lithium-SR4</version>
       </dependency> 
       <dependency>
       <groupId>org.opendaylight.yangtools.model</groupId>
       <artifactId>ietf-yang-types</artifactId>
       <version>2010.09.24.7.4-Lithium-SR4</version>
       </dependency> 
       </dependencies>
       
      <build>
       <plugins>
       <plugin>
       <groupId>org.opendaylight.yangtools</groupId>
       <artifactId>yang-maven-plugin</artifactId>
       <version>2.1.0</version>
       <executions>
       <execution>
       <goals>
       <goal>generate-sources</goal>
       </goals>
       <configuration>
       <yangFilesRootDir>src/main/yang</yangFilesRootDir>
       <codeGenerators>
       <generator> 
       <codeGeneratorClass>
       org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl
       </codeGeneratorClass>
       <outputBaseDir>
       target/generated-sources/sal
       </outputBaseDir>
       </generator>
       </codeGenerators>
       <inspectDependencies>true</inspectDependencies>
       </configuration>
       </execution>
       </executions>
       <dependencies>
       <dependency>
       <groupId>org.opendaylight.mdsal</groupId>
       <artifactId>maven-sal-api-gen-plugin</artifactId>
       <version>1.0.6</version>
       <type>jar</type>
       </dependency> 
       </dependencies>
       </plugin>
       <plugin>
       <groupId>org.codehaus.mojo</groupId>
       <artifactId>build-helper-maven-plugin</artifactId>
       <executions>
       <execution>
       <phase>generate-sources</phase>
       <goals>
       <goal>add-source</goal>
       </goals>
       <configuration>
       <sources>
       <source>target/generated-sources/sal</source>
       </sources>
       </configuration>
       </execution>
       </executions>
       </plugin>
       </plugins>
       <pluginManagement>
       <plugins>
       <plugin>
       <groupId>org.eclipse.m2e</groupId>
       <artifactId>lifecycle-mapping</artifactId>
       <version>1.0.0</version>
       <configuration>
       <lifecycleMappingMetadata>
       <pluginExecutions>
       <pluginExecution>
       <pluginExecutionFilter>
       <groupId>
       org.opendaylight.controller
       </groupId>
       <artifactId>
       yang-maven-plugin
       </artifactId>
       <versionRange>
       [0.5,)
       </versionRange>
       <goals>
       <goal>
       generate-sources
       </goal>
       </goals>
       </pluginExecutionFilter>
       <action>
       <ignore></ignore>
       </action>
       </pluginExecution>
       </pluginExecutions>
       </lifecycleMappingMetadata>
       </configuration>
       </plugin>
       </plugins>
       </pluginManagement>
       </build>
      

       

       

      == mvn clean install log snippet ==

      ERROR] yang-to-sources: Unable to generate sources with org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl generator
       java.lang.IllegalArgumentException: Failed to find leafref target: ../../../nfv:ext-cpd/nfv:id in module etsi-nfv (QNameModule{ns=urn:etsi:params:xml:ns:yang:etsi-nfv, rev=2018-06-13})
       at com.google.common.base.Preconditions.checkArgument(Preconditions.java:458)
       at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.provideTypeForLeafref(AbstractTypeProvider.java:515)
       at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForLeafrefOrIdentityRef(AbstractTypeProvider.java:296)
       at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForSchemaDefinitionType(AbstractTypeProvider.java:191)
       at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.resolveLeafSchemaNodeAsMethod(AbstractTypeGenerator.java:1313)
       at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.addSchemaNodeToBuilderAsMethod(AbstractTypeGenerator.java:1032)
       at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.resolveDataSchemaNodes(AbstractTypeGenerator.java:986)
       at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.generateTypesFromChoiceCases(AbstractTypeGenerator.java:1142)
       at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.choiceToGeneratedType(AbstractTypeGenerator.java:1078)
       at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.addSchemaNodeToListBuilders(AbstractTypeGenerator.java:1732)
       at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.listToGenType(AbstractTypeGenerator.java:320)
       at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.addSchemaNodeToListBuilders(AbstractTypeGenerator.java:1734)
       at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.listToGenType(AbstractTypeGenerator.java:320)
       at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.addSchemaNodeToListBuilders(AbstractTypeGenerator.java:1734)
       at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.listToGenType(AbstractTypeGenerator.java:320)
       at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.addSchemaNodeToBuilderAsMethod(AbstractTypeGenerator.java:1038)
       at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.resolveDataSchemaNodes(AbstractTypeGenerator.java:986)
       at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.groupingsToGenTypes(AbstractTypeGenerator.java:690)
       at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.moduleToGenTypes(AbstractTypeGenerator.java:224)
       at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.<init>(AbstractTypeGenerator.java:193)
       at org.opendaylight.mdsal.binding.generator.impl.CodegenTypeGenerator.<init>(CodegenTypeGenerator.java:32)
       at org.opendaylight.mdsal.binding.generator.impl.BindingGeneratorImpl.generateTypes(BindingGeneratorImpl.java:64)
       at org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl.generateSources(CodeGeneratorImpl.java:69)
       at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.generateSourcesWithOneGenerator(YangToSourcesProcessor.java:382)
       at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.generateSources(YangToSourcesProcessor.java:331)
       at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.conditionalExecute(YangToSourcesProcessor.java:158)
       at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesMojo.execute(YangToSourcesMojo.java:126)
       at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
       at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
       at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
       at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
       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:956)
       at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:290)
       at org.apache.maven.cli.MavenCli.main(MavenCli.java:194)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:498)
       at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
       at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
       at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
       at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
       [ERROR] yang-to-sources: One or more code generators failed, including failed list(generatorClass=exception) {org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl=java.lang.IllegalArgumentException}

       

        1. etsi-nfv.yang
          0.6 kB
        2. etsi-nfv-common.yang
          13 kB
        3. etsi-nfv-ns.yang
          46 kB
        4. etsi-nfv-pnf.yang
          3 kB
        5. etsi-nfv-vnf.yang
          77 kB

            rovarga Robert Varga
            selvakann Selvakumar Kanniappan
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: