[YANGTOOLS-60] Milestone: enable takari lifecycle or similar command-line incremental builds Created: 28/Nov/13 Updated: 28/Feb/23 |
|
| Status: | Confirmed |
| Project: | yangtools |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Epic | Priority: | Highest |
| Reporter: | Robert Varga | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| Issue Links: |
|
||||||||
| Epic Name: | Incremental Maven Build | ||||||||
| Description |
|
A module which uses the plugin is forced to recompile the generated sources each time any maven target relying on generate-sources happens. This is especially painful with site plugin – running 'mvn site:site' on BGPCEP project takes more than 9 minutes, simply because the components are recompiled over and over again. |
| Comments |
| Comment by Robert Varga [ 12/Dec/13 ] |
|
Investigation reveals the core issue is maven itself. Downgrading priority, with the intent that we should integrate with 3.1 enhancements to support partial rebuilds once they are stable. |
| Comment by Robert Varga [ 09/Jan/16 ] |
|
This could be addressed with http://takari.io/book/40-lifecycle.html. On the overall build infrastructure, we will need to switch to takari-lifecycle. On the yang-maven-plugin side we'll need to expose the infrastructure for generators to associate the files they produce with YANG input files. The mechanics of this needs to be designed so that it works accurately with incremental builds, especially with the IDE which modifies the input YANG files. |
| Comment by Robert Varga [ 18/Feb/17 ] |
|
proposed API: https://git.opendaylight.org/gerrit/52034 |
| Comment by Robert Varga [ 20/Feb/17 ] |
|
After corelation with BUG-7182, this is a bit more involved. BUG-7182 tracks execution in Eclipse, but for proper incremental builds we have to address command-line lifecycle. The two efforts share steps, hence we'll use this one to track the command-line experience. |