Use plugin-generator-api in yang-maven-plugin 36/52036/77
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 12 Nov 2018 10:54:14 +0000 (11:54 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 2 Nov 2020 10:02:01 +0000 (11:02 +0100)
commit1a5cc6b205d413aca6b1fd3dd16aacea386ed7a5
treef8473ba5029d258c3dee0278443d52849bf434b9
parent2abe50d138ad54a0afe9f832cf4469b3cdf59bd8
Use plugin-generator-api in yang-maven-plugin

Rework plugin execution so that we can use both old-style and
new-style plugins by introducing GeneratorTask. This is then
specialized for both worlds.

We rework the multi-version support so that we run reactor assemply
twice if needed -- for each requested mode separately.

JIRA: YANGTOOLS-1147
Change-Id: I494ad899fabfb065c91537019698fdb131e0f1f2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
22 files changed:
plugin/plugin-generator-api/src/main/java/org/opendaylight/yangtools/plugin/generator/api/GeneratedFileType.java
plugin/yang-maven-plugin-it/src/test/java/org/opendaylight/yangtools/yang2sources/plugin/it/YangToSourcesPluginTestIT.java
plugin/yang-maven-plugin-it/src/test/resources/test-parent/FileGenerator/pom.xml [new file with mode: 0644]
plugin/yang-maven-plugin-it/src/test/resources/test-parent/NoGenerators/pom.xml
plugin/yang-maven-plugin-it/src/test/resources/test-parent/pom.xml
plugin/yang-maven-plugin-spi/src/test/java/org/opendaylight/yangtools/yang2sources/spi/TestFileGenerator.java [new file with mode: 0644]
plugin/yang-maven-plugin-spi/src/test/java/org/opendaylight/yangtools/yang2sources/spi/TestFileGeneratorFactory.java [new file with mode: 0644]
plugin/yang-maven-plugin-spi/src/test/resources/META-INF/services/org.opendaylight.yangtools.plugin.generator.api.FileGeneratorFactory [new file with mode: 0644]
plugin/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/CodeGeneratorTask.java [new file with mode: 0644]
plugin/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/CodeGeneratorTaskFactory.java [new file with mode: 0644]
plugin/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/ConfigArg.java
plugin/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/FileGeneratorArg.java [new file with mode: 0644]
plugin/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/FileGeneratorTask.java [new file with mode: 0644]
plugin/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/FileGeneratorTaskFactory.java [new file with mode: 0644]
plugin/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/GeneratorTask.java [new file with mode: 0644]
plugin/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/GeneratorTaskFactory.java [new file with mode: 0644]
plugin/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/ParserModeAware.java [new file with mode: 0644]
plugin/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/ProcessorModuleReactor.java
plugin/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesMojo.java
plugin/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesProcessor.java
plugin/yang-maven-plugin/src/test/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesMojoTest.java
plugin/yang-maven-plugin/src/test/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesProcessorTest.java