[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
Platform: 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 ]

https://git.opendaylight.org/gerrit/#/c/52034/

Generated at Wed Feb 07 20:54:11 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.