[YANGTOOLS-746] Improve Maven/CodeGenerator plugin interaction Created: 20/Feb/17 Updated: 29/May/23 Resolved: 29/May/23 |
|
| Status: | Resolved |
| Project: | yangtools |
| Component/s: | maven plugin |
| Affects Version/s: | None |
| Fix Version/s: | 11.0.0 |
| Type: | Epic | Priority: | Highest |
| Reporter: | Robert Varga | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| Epic Name: | Fix Maven Codegen API |
| Description |
|
Current yang-maven.plugin.spi does not isolate plugins from interactions with files in the project, which means we cannot guarantee interactions with external build lifecycles which support incremental builds. Unfortunately there is no unified incremental build API which works for both Eclipse and command-line out of the box, so the simple idea of propagating that to codegen plugins will not work. We therefore have to define an independent isolated API, by which the generators express their intent to generate files and have yang-maven-plugin core integrate with lifecycle as appropriate. Define sucn an API and make sure yang-maven-plugin takes advantage of its facilities. |
| Comments |
| Comment by Robert Varga [ 20/Feb/17 ] |
|
proposed API: https://git.opendaylight.org/gerrit/52034 |
| Comment by Robert Varga [ 20/Feb/17 ] |
|
Since we are internally already using BuildContext, the integration has to make sure it takes advantages of all https://github.com/sonatype/sisu-build-api/blob/master/src/main/java/org/sonatype/plexus/build/incremental/BuildContext.java features. |
| Comment by Robert Varga [ 20/Feb/17 ] |
|
The last comments notably includes mapping of errors, which means any failure to compile a YANG file needs to associate the build failure with the file. |
| Comment by Michael Vorburger [ 28/Feb/17 ] |