X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fmaven-yang%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fyang2sources%2Fspi%2FCodeGenerator.java;h=09dcd3e8e9ca2cafc18d5745bcafb6016c64eedb;hb=ff1b4a79cca00743a00c3b0b1100bd0ab2b2fb31;hp=534c37de10399447b95a06962ce99e88d0303a96;hpb=16a5e410667863944b3e83e9a853401ff55cebb4;p=controller.git diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang/src/main/java/org/opendaylight/controller/yang2sources/spi/CodeGenerator.java b/opendaylight/sal/yang-prototype/code-generator/maven-yang/src/main/java/org/opendaylight/controller/yang2sources/spi/CodeGenerator.java index 534c37de10..09dcd3e8e9 100644 --- a/opendaylight/sal/yang-prototype/code-generator/maven-yang/src/main/java/org/opendaylight/controller/yang2sources/spi/CodeGenerator.java +++ b/opendaylight/sal/yang-prototype/code-generator/maven-yang/src/main/java/org/opendaylight/controller/yang2sources/spi/CodeGenerator.java @@ -8,8 +8,14 @@ package org.opendaylight.controller.yang2sources.spi; import java.io.File; +import java.io.IOException; import java.util.Collection; +import java.util.Map; +import java.util.Set; +import org.apache.maven.plugin.logging.Log; +import org.apache.maven.project.MavenProject; +import org.opendaylight.controller.yang.model.api.Module; import org.opendaylight.controller.yang.model.api.SchemaContext; /** @@ -20,13 +26,50 @@ public interface CodeGenerator { /** * Generate sources from provided {@link SchemaContext} - * + * * @param context * parsed from yang files * @param outputBaseDir * expected output directory for generated sources configured by * user + * @param currentModules + * yang modules parsed from yangFilesRootDir + * @param log + * maven logger * @return collection of files that were generated from schema context + * @throws IOException */ - Collection generateSources(SchemaContext context, File outputBaseDir); + Collection generateSources(SchemaContext context, File outputBaseDir, + Set currentModules) throws IOException; + + /** + * Utilize maven logging if necessary + * + * @param log + */ + void setLog(Log log); + + /** + * Provided map contains all configuration that was set in pom for code + * generator in additionalConfiguration tag + * + * @param additionalConfiguration + */ + void setAdditionalConfig(Map additionalConfiguration); + + /** + * Provided folder is marked as resources and its content will be packaged + * in resulting jar. Feel free to add necessary resources + * + * @param resourceBaseDir + */ + void setResourceBaseDir(File resourceBaseDir); + + /** + * Provided maven project object. Any additional information about current + * maven project can be accessed from it. + * + * @param resourceBaseDir + */ + void setMavenProject(MavenProject project); }