* a logger instance around.
*/
public interface BasicCodeGenerator {
- /**
- * 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
- * @return collection of files that were generated from schema context
- * @throws IOException
- *
- * @deprecated Implement {@link #generateSources(SchemaContext, File, Set, Function)} instead.
- */
- @Deprecated
- Collection<File> generateSources(SchemaContext context, File outputBaseDir, Set<Module> currentModules)
- throws IOException;
-
/**
* Generate sources from provided {@link SchemaContext}.
*
* Function converting a local module to the packaged resource path
* @return collection of files that were generated from schema context
*/
- default Collection<File> generateSources(final SchemaContext context, final File outputBaseDir,
- final Set<Module> currentModules,
- final Function<Module, Optional<String>> moduleResourcePathResolver) throws IOException {
- return generateSources(context, outputBaseDir, currentModules);
- }
+ Collection<File> generateSources(SchemaContext context, File outputBaseDir, Set<Module> currentModules,
+ Function<Module, Optional<String>> moduleResourcePathResolver) throws IOException;
/**
* Provided map contains all configuration that was set in pom for code
package org.opendaylight.yangtools.yang2sources.spi;
import java.io.File;
+import java.io.IOException;
import java.util.Collection;
import java.util.Map;
+import java.util.Optional;
import java.util.Set;
+import java.util.function.Function;
import org.apache.maven.project.MavenProject;
import org.opendaylight.yangtools.yang.model.api.Module;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
private static final Logger LOG = LoggerFactory.getLogger(CodeGeneratorTestImpl.class);
@Override
- public Collection<File> generateSources(final SchemaContext context,
- final File outputBaseDir, final Set<Module> currentModuleBuilders) {
+ public Collection<File> generateSources(SchemaContext context, File outputBaseDir, Set<Module> currentModules,
+ Function<Module, Optional<String>> moduleResourcePathResolver) throws IOException {
LOG.debug("{} generateSources:context: {}", getClass().getCanonicalName(), context);
LOG.debug("{} generateSources:outputBaseDir: {}", getClass().getCanonicalName(), outputBaseDir);
- LOG.debug("{} generateSources:currentModuleBuilders: {}", getClass().getCanonicalName(), currentModuleBuilders);
+ LOG.debug("{} generateSources:currentModules: {}", getClass().getCanonicalName(), currentModules);
return null;
}
import java.util.Collections;
import java.util.List;
import java.util.Set;
+import java.util.function.Function;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
* <li>For each {@link BasicCodeGenerator} from {@link #codeGenerators}:
* <ol>
* <li>Instantiate using default constructor</li>
- * <li>Call {@link BasicCodeGenerator#generateSources(SchemaContext, File, Set)}</li>
+ * <li>Call {@link BasicCodeGenerator#generateSources(SchemaContext, File, Set, Function)}</li>
* </ol></li>
* </ol>
*/
import java.util.Collection;
import java.util.Collections;
import java.util.Map;
+import java.util.Optional;
import java.util.Set;
+import java.util.function.Function;
import org.apache.maven.model.Build;
import org.apache.maven.model.Plugin;
import org.apache.maven.project.MavenProject;
private static File resourceBaseDir;
private static MavenProject project;
- @Override
- public Collection<File> generateSources(final SchemaContext context, final File outputBaseDir,
- final Set<Module> currentModules) throws IOException {
- called++;
- outputDir = outputBaseDir;
- return Lists.newArrayList();
- }
-
@Override
public void setAdditionalConfig(final Map<String, String> additionalConfiguration) {
GeneratorMock.additionalCfg = additionalConfiguration;
public void setMavenProject(final MavenProject project) {
GeneratorMock.project = project;
}
+
+ @Override
+ public Collection<File> generateSources(SchemaContext context, File outputBaseDir, Set<Module> currentModules,
+ Function<Module, Optional<String>> moduleResourcePathResolver) throws IOException {
+ called++;
+ outputDir = outputBaseDir;
+ return Lists.newArrayList();
+ }
}
}