<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:56:12 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[YANGTOOLS-1457] yang-maven-plugin execution is not reliably following the configuration</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-1457</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;&lt;b&gt;Case #1&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;ins&gt;Actual:&lt;/ins&gt; if multiple fileGenerator sections are using same identifier then only one will be processed, the others will be ignored. the issue is caused by configuration data transformation&#160; from list to map, resulting part of configuration being lost&lt;/p&gt;

&lt;p&gt;example (addresses org.opendaylight.yangtools.yang2sources.plugin.it.YangToSourcesPluginTestIT#testAdditionalConfiguration):&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
&amp;lt;plugin&amp;gt;
    &amp;lt;groupId&amp;gt;org.opendaylight.yangtools&amp;lt;/groupId&amp;gt;
    &amp;lt;artifactId&amp;gt;yang-maven-plugin&amp;lt;/artifactId&amp;gt;
    &amp;lt;version&amp;gt;${project.version}&amp;lt;/version&amp;gt;
    &amp;lt;executions&amp;gt;
        &amp;lt;execution&amp;gt;
            &amp;lt;goals&amp;gt;
                &amp;lt;goal&amp;gt;generate-sources&amp;lt;/goal&amp;gt;
            &amp;lt;/goals&amp;gt;
            &amp;lt;configuration&amp;gt;
                &amp;lt;yangFilesRootDir&amp;gt;../files&amp;lt;/yangFilesRootDir&amp;gt;
                &amp;lt;inspectDependencies&amp;gt;&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;&amp;lt;/inspectDependencies&amp;gt;
                &amp;lt;fileGenerators&amp;gt;
                    &amp;lt;fileGenerator&amp;gt;
                        &amp;lt;identifier&amp;gt;
                            org.opendaylight.yangtools.plugin.generator.api.TestFileGenerator
                        &amp;lt;/identifier&amp;gt;
                        &amp;lt;configuration&amp;gt;
                            &amp;lt;nm1&amp;gt;abcd=a.b.c.d&amp;lt;/nm1&amp;gt;
                            &amp;lt;nm2&amp;gt;abcd2=a.b.c.d.2&amp;lt;/nm2&amp;gt;
                        &amp;lt;/configuration&amp;gt;
                    &amp;lt;/fileGenerator&amp;gt;
                    &amp;lt;fileGenerator&amp;gt;
                        &amp;lt;identifier&amp;gt;
                            org.opendaylight.yangtools.plugin.generator.api.TestFileGenerator
                        &amp;lt;/identifier&amp;gt;
                        &amp;lt;configuration&amp;gt;
                            &amp;lt;c1&amp;gt;config&amp;lt;/c1&amp;gt;
                        &amp;lt;/configuration&amp;gt;
                    &amp;lt;/fileGenerator&amp;gt;
                &amp;lt;/fileGenerators&amp;gt;
            &amp;lt;/configuration&amp;gt;
        &amp;lt;/execution&amp;gt;
    &amp;lt;/executions&amp;gt;
 ...
&amp;lt;/plugin&amp;gt; &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;ins&gt;Expected:&lt;/ins&gt; it should be possible to execute same file generator&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Case #2&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;ins&gt;Actual:&lt;/ins&gt; The file generation is executed for every FileGeneratorFactory implementation found in the classpath even if the FileGenerator identifier is absent in the configuration.&lt;br/&gt;
The issue is caused by incorrect logic within&lt;br/&gt;
org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor#instantiateGenerators, &lt;br/&gt;
where the main condition is factory existence, fileGenerator configuration for associated identifier is optional&lt;/p&gt;

&lt;p&gt;&lt;ins&gt;Expected:&lt;/ins&gt; file generation should be executed only for explicitly defined generators.&lt;/p&gt;</description>
                <environment></environment>
        <key id="36228">YANGTOOLS-1457</key>
            <summary>yang-maven-plugin execution is not reliably following the configuration</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.opendaylight.org/images/icons/priorities/major.svg">Medium</priority>
                        <status id="10003" iconUrl="https://jira.opendaylight.org/images/icons/status_generic.gif" description="">Confirmed</status>
                    <statusCategory id="2" key="new" colorName="blue-gray"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="rkashapov">Ruslan Kashapov</reporter>
                        <labels>
                    </labels>
                <created>Tue, 11 Oct 2022 11:40:02 +0000</created>
                <updated>Thu, 18 Jan 2024 10:42:39 +0000</updated>
                                            <version>10.0.0</version>
                                    <fixVersion>14.0.0</fixVersion>
                    <fixVersion>11.0.6</fixVersion>
                    <fixVersion>13.0.2</fixVersion>
                                    <component>maven plugin</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                    <issuelinks>
                            <issuelinktype id="10300">
                    <name>Issue split</name>
                                                                <inwardlinks description="split from">
                                        <issuelink>
            <issuekey id="23167">YANGTOOLS-747</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i0433r:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>