[ONOS-4799],[ONOS-4351] Augment inter file linker and Generated Code refactored.
Change-Id: Id1f3ac9c90a632373f51cc75d499c3110216be17
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangUtilManager.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangUtilManager.java
index 7240725..7a894e6 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangUtilManager.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangUtilManager.java
@@ -87,8 +87,14 @@
/**
* Source directory for generated files.
*/
- @Parameter(property = "genFilesDir", defaultValue = "src/main/java")
- private String genFilesDir;
+ @Parameter(property = "classFileDir", defaultValue = "target/generated-sources")
+ private String classFileDir;
+
+ /**
+ * Source directory for manager's generated files.
+ */
+ @Parameter(property = "managerFileDir", defaultValue = "src/main/java")
+ private String managerFileDir;
/**
* Base directory for project.
@@ -153,11 +159,12 @@
/*
* For deleting the generated code in previous build.
*/
- deleteDirectory(getDirectory(baseDir, genFilesDir) + DEFAULT_PKG);
+ deleteDirectory(getDirectory(baseDir, classFileDir) + DEFAULT_PKG);
deleteDirectory(getDirectory(baseDir, outputDirectory));
String searchDir = getDirectory(baseDir, yangFilesDir);
- String codeGenDir = getDirectory(baseDir, genFilesDir) + SLASH;
+ String codeGenDir = getDirectory(baseDir, classFileDir) + SLASH;
+ String managerCodeGenDir = getDirectory(baseDir, managerFileDir) + SLASH;
// Creates conflict resolver and set values to it.
YangToJavaNamingConflictUtil conflictResolver = new YangToJavaNamingConflictUtil();
@@ -167,6 +174,7 @@
conflictResolver.setPrefixForIdentifier(prefixForIdentifier);
YangPluginConfig yangPlugin = new YangPluginConfig();
yangPlugin.setCodeGenDir(codeGenDir);
+ yangPlugin.setManagerCodeGenDir(managerCodeGenDir);
yangPlugin.setConflictResolver(conflictResolver);
/*
@@ -195,18 +203,18 @@
// Serialize data model.
serializeDataModel(getDirectory(baseDir, outputDirectory), getYangFileInfoSet(), project, true);
- addToCompilationRoot(getDirectory(baseDir, genFilesDir), project, context);
+ addToCompilationRoot(codeGenDir, project, context);
+ addToCompilationRoot(managerCodeGenDir, project, context);
copyYangFilesToTarget(getYangFileInfoSet(), getDirectory(baseDir, outputDirectory), project);
} catch (IOException | ParserException e) {
- getLog().info(e);
String fileName = "";
if (getCurYangFileInfo() != null) {
fileName = getCurYangFileInfo().getYangFileName();
}
try {
translatorErrorHandler(getRootNode());
- deleteDirectory(getDirectory(baseDir, genFilesDir) + DEFAULT_PKG);
+ deleteDirectory(getDirectory(baseDir, classFileDir) + DEFAULT_PKG);
} catch (IOException ex) {
throw new MojoExecutionException(
"Error handler failed to delete files for data model node.");
@@ -255,14 +263,12 @@
public void resolveDependenciesUsingLinker()
throws MojoExecutionException {
createYangNodeSet();
- for (YangFileInfo yangFileInfo : getYangFileInfoSet()) {
- setCurYangFileInfo(yangFileInfo);
- try {
- yangLinker.resolveDependencies(getYangNodeSet());
- } catch (LinkerException e) {
- throw new MojoExecutionException(e.getMessage());
- }
+ try {
+ yangLinker.resolveDependencies(getYangNodeSet());
+ } catch (LinkerException e) {
+ throw new MojoExecutionException(e.getMessage());
}
+
}
/**