Separate parser and generator from plugin

Change-Id: I7db134fe882c73fc6fec730f6d6e44f49ada0422
diff --git a/generator/pom.xml b/generator/pom.xml
new file mode 100644
index 0000000..971531c
--- /dev/null
+++ b/generator/pom.xml
@@ -0,0 +1,231 @@
+<!--
+  ~ Copyright 2016-present Open Networking Laboratory
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.onosproject</groupId>
+        <artifactId>onos-yang-tools</artifactId>
+        <version>1.9-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>onos-yang-utils-generator</artifactId>
+    <version>1.9-SNAPSHOT</version>
+    <packaging>maven-plugin</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-yang-datamodel</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven</groupId>
+            <artifactId>maven-core</artifactId>
+            <version>3.3.9</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven</groupId>
+            <artifactId>maven-plugin-api</artifactId>
+            <version>3.3.9</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven.plugin-tools</groupId>
+            <artifactId>maven-plugin-annotations</artifactId>
+            <version>3.4</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>maven-scr-plugin</artifactId>
+            <version>1.21.0</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven</groupId>
+            <artifactId>maven-artifact</artifactId>
+            <version>3.3.9</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven</groupId>
+            <artifactId>maven-project</artifactId>
+            <version>3.0-alpha-2</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven</groupId>
+            <artifactId>maven-model</artifactId>
+            <version>3.3.9</version>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.12</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.sonatype.plexus</groupId>
+            <artifactId>plexus-build-api</artifactId>
+            <version>0.0.7</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>2.4</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.hamcrest</groupId>
+            <artifactId>hamcrest-all</artifactId>
+            <version>1.3</version>
+        </dependency>
+        <dependency>
+            <groupId>org.antlr</groupId>
+            <artifactId>antlr4-runtime</artifactId>
+            <version>4.5.3</version>
+        </dependency>
+        <dependency>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>build-helper-maven-plugin</artifactId>
+            <version>1.10</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>1.7.21</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.antlr</groupId>
+                <artifactId>antlr4-maven-plugin</artifactId>
+                <version>4.5</version>
+                <executions>
+                    <execution>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>antlr4</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <sourceDirectory>src/main/resources</sourceDirectory>
+                    <outputDirectory>
+                        target/generated-sources/org/onosproject/yangutils/parser/antlrgencode
+                    </outputDirectory>
+                    <visitor>false</visitor>
+                    <listener>true</listener>
+                </configuration>
+            </plugin>
+            <plugin>
+                <artifactId>maven-clean-plugin</artifactId>
+                <version>3.0.0</version>
+                <executions>
+                    <execution>
+                        <id>Deleting auto-generated listener interfaces</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>clean</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <excludeDefaultDirectories>true</excludeDefaultDirectories>
+                    <filesets>
+                        <fileset>
+                            <directory>target</directory>
+                            <followSymlinks>false</followSymlinks>
+                            <useDefaultExcludes>true</useDefaultExcludes>
+                            <excludes>
+                                <exclude>
+                                    **/generated-sources/org/onosproject/yangutils/parser/antlrgencode/GeneratedYangLexer.java
+                                </exclude>
+                                <exclude>
+                                    **/generated-sources/org/onosproject/yangutils/parser/antlrgencode/GeneratedYang.tokens
+                                </exclude>
+                                <exclude>
+                                    **/generated-sources/org/onosproject/yangutils/parser/antlrgencode/GeneratedYangParser.java
+                                </exclude>
+                                <exclude>
+                                    **/generated-sources/org/onosproject/yangutils/parser/antlrgencode/GeneratedYangLexer.tokens
+                                </exclude>
+                                <exclude>
+                                    **/generated-sources/org/onosproject/yangutils/parser/antlrgencode/YangLexer.java
+                                </exclude>
+                                <exclude>
+                                    **/generated-sources/org/onosproject/yangutils/parser/antlrgencode/YangLexer.tokens
+                                </exclude>
+                            </excludes>
+                        </fileset>
+                    </filesets>
+                    <verbose>false</verbose>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <version>1.10</version>
+                <executions>
+                    <execution>
+                        <id>add-source</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>add-source</goal>
+                        </goals>
+                        <configuration>
+                            <sources>
+                                <source>
+                                    target/generated-sources/org/onosproject/yangutils/parser/antlrgencode
+                                </source>
+                                <sourceDirectory>
+                                    target/generated-sources/org/onosproject/yangutils/parser/antlrgencode
+                                </sourceDirectory>
+                            </sources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-plugin-plugin</artifactId>
+                <version>3.4</version>
+                <configuration>
+                    <skipErrorNoDescriptorsFound>true
+                    </skipErrorNoDescriptorsFound>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>descriptor</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <version>2.5.4</version>
+                <extensions>true</extensions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/plugin/src/main/java/org/onosproject/yangutils/linker/YangLinker.java b/generator/src/main/java/org/onosproject/yangutils/linker/YangLinker.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/linker/YangLinker.java
rename to generator/src/main/java/org/onosproject/yangutils/linker/YangLinker.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/linker/YangLinkingPhase.java b/generator/src/main/java/org/onosproject/yangutils/linker/YangLinkingPhase.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/linker/YangLinkingPhase.java
rename to generator/src/main/java/org/onosproject/yangutils/linker/YangLinkingPhase.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/linker/exceptions/LinkerException.java b/generator/src/main/java/org/onosproject/yangutils/linker/exceptions/LinkerException.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/linker/exceptions/LinkerException.java
rename to generator/src/main/java/org/onosproject/yangutils/linker/exceptions/LinkerException.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/linker/exceptions/package-info.java b/generator/src/main/java/org/onosproject/yangutils/linker/exceptions/package-info.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/linker/exceptions/package-info.java
rename to generator/src/main/java/org/onosproject/yangutils/linker/exceptions/package-info.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/linker/impl/PrefixResolverType.java b/generator/src/main/java/org/onosproject/yangutils/linker/impl/PrefixResolverType.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/linker/impl/PrefixResolverType.java
rename to generator/src/main/java/org/onosproject/yangutils/linker/impl/PrefixResolverType.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangLinkerManager.java b/generator/src/main/java/org/onosproject/yangutils/linker/impl/YangLinkerManager.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangLinkerManager.java
rename to generator/src/main/java/org/onosproject/yangutils/linker/impl/YangLinkerManager.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangLinkerUtils.java b/generator/src/main/java/org/onosproject/yangutils/linker/impl/YangLinkerUtils.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangLinkerUtils.java
rename to generator/src/main/java/org/onosproject/yangutils/linker/impl/YangLinkerUtils.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangResolutionInfoImpl.java b/generator/src/main/java/org/onosproject/yangutils/linker/impl/YangResolutionInfoImpl.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangResolutionInfoImpl.java
rename to generator/src/main/java/org/onosproject/yangutils/linker/impl/YangResolutionInfoImpl.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangXpathLinker.java b/generator/src/main/java/org/onosproject/yangutils/linker/impl/YangXpathLinker.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangXpathLinker.java
rename to generator/src/main/java/org/onosproject/yangutils/linker/impl/YangXpathLinker.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/linker/impl/package-info.java b/generator/src/main/java/org/onosproject/yangutils/linker/impl/package-info.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/linker/impl/package-info.java
rename to generator/src/main/java/org/onosproject/yangutils/linker/impl/package-info.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/linker/package-info.java b/generator/src/main/java/org/onosproject/yangutils/linker/package-info.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/linker/package-info.java
rename to generator/src/main/java/org/onosproject/yangutils/linker/package-info.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/exception/InvalidNodeForTranslatorException.java b/generator/src/main/java/org/onosproject/yangutils/translator/exception/InvalidNodeForTranslatorException.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/exception/InvalidNodeForTranslatorException.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/exception/InvalidNodeForTranslatorException.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/exception/TranslatorException.java b/generator/src/main/java/org/onosproject/yangutils/translator/exception/TranslatorException.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/exception/TranslatorException.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/exception/TranslatorException.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/exception/package-info.java b/generator/src/main/java/org/onosproject/yangutils/translator/exception/package-info.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/exception/package-info.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/exception/package-info.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/package-info.java b/generator/src/main/java/org/onosproject/yangutils/translator/package-info.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/package-info.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/package-info.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/GeneratedJavaFileType.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/GeneratedJavaFileType.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/GeneratedJavaFileType.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/GeneratedJavaFileType.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/GeneratedTempFileType.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/GeneratedTempFileType.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/GeneratedTempFileType.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/GeneratedTempFileType.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaAttributeInfo.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/JavaAttributeInfo.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaAttributeInfo.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/JavaAttributeInfo.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaCodeGenerator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/JavaCodeGenerator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaCodeGenerator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/JavaCodeGenerator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaCodeGeneratorInfo.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/JavaCodeGeneratorInfo.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaCodeGeneratorInfo.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/JavaCodeGeneratorInfo.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaCodeGeneratorUtil.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/JavaCodeGeneratorUtil.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaCodeGeneratorUtil.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/JavaCodeGeneratorUtil.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaFileInfoContainer.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/JavaFileInfoContainer.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaFileInfoContainer.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/JavaFileInfoContainer.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaFileInfoTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/JavaFileInfoTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaFileInfoTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/JavaFileInfoTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaImportData.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/JavaImportData.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaImportData.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/JavaImportData.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaQualifiedTypeInfoTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/JavaQualifiedTypeInfoTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaQualifiedTypeInfoTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/JavaQualifiedTypeInfoTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaBeanFragmentFiles.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaBeanFragmentFiles.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaBeanFragmentFiles.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaBeanFragmentFiles.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaCodeFragmentFiles.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaCodeFragmentFiles.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaCodeFragmentFiles.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaCodeFragmentFiles.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaCodeFragmentFilesContainer.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaCodeFragmentFilesContainer.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaCodeFragmentFilesContainer.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaCodeFragmentFilesContainer.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaEnumerationFragmentFiles.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaEnumerationFragmentFiles.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaEnumerationFragmentFiles.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaEnumerationFragmentFiles.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaEventFragmentFiles.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaEventFragmentFiles.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaEventFragmentFiles.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaEventFragmentFiles.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaFragmentFiles.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaFragmentFiles.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaFragmentFiles.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaFragmentFiles.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaServiceFragmentFiles.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaServiceFragmentFiles.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaServiceFragmentFiles.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaServiceFragmentFiles.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaTypeFragmentFiles.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaTypeFragmentFiles.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaTypeFragmentFiles.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaTypeFragmentFiles.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangDataModelFactory.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/YangDataModelFactory.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangDataModelFactory.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/YangDataModelFactory.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/AttributesJavaDataType.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/AttributesJavaDataType.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/AttributesJavaDataType.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/AttributesJavaDataType.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaLeafInfoContainer.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaLeafInfoContainer.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaLeafInfoContainer.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaLeafInfoContainer.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaQualifiedTypeResolver.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaQualifiedTypeResolver.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaQualifiedTypeResolver.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaQualifiedTypeResolver.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaAugmentTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaAugmentTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaAugmentTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaAugmentTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaCaseTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaCaseTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaCaseTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaCaseTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaChoiceTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaChoiceTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaChoiceTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaChoiceTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaContainerTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaContainerTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaContainerTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaContainerTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaEnumerationTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaEnumerationTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaEnumerationTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaEnumerationTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaGroupingTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaGroupingTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaGroupingTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaGroupingTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaIdentityTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaIdentityTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaIdentityTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaIdentityTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaInputTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaInputTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaInputTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaInputTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafListTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafListTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafListTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafListTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaListTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaListTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaListTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaListTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModuleTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModuleTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModuleTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModuleTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaNotificationTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaNotificationTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaNotificationTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaNotificationTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaOutputTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaOutputTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaOutputTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaOutputTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaRpcTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaRpcTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaRpcTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaRpcTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModuleTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModuleTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModuleTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModuleTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeDefTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeDefTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeDefTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeDefTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUnionTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUnionTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUnionTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUnionTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUsesTranslator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUsesTranslator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUsesTranslator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaUsesTranslator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/package-info.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/package-info.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/package-info.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/package-info.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/package-info.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/package-info.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/package-info.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/package-info.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/BitsJavaInfoHandler.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/BitsJavaInfoHandler.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/BitsJavaInfoHandler.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/BitsJavaInfoHandler.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/BracketType.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/BracketType.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/BracketType.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/BracketType.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ClassDefinitionGenerator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ClassDefinitionGenerator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ClassDefinitionGenerator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ClassDefinitionGenerator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/IndentationType.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/IndentationType.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/IndentationType.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/IndentationType.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaCodeSnippetGen.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaCodeSnippetGen.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaCodeSnippetGen.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaCodeSnippetGen.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaExtendsListHolder.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaExtendsListHolder.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaExtendsListHolder.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaExtendsListHolder.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGenerator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGenerator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGenerator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGenerator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGeneratorUtils.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGeneratorUtils.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGeneratorUtils.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGeneratorUtils.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaIdentifierSyntax.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaIdentifierSyntax.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaIdentifierSyntax.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaIdentifierSyntax.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodBodyTypes.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodBodyTypes.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodBodyTypes.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodBodyTypes.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodClassTypes.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodClassTypes.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodClassTypes.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodClassTypes.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodsGenerator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodsGenerator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodsGenerator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodsGenerator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/StringGenerator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/StringGenerator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/StringGenerator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/StringGenerator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/SubtreeFilteringMethodsGenerator.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/SubtreeFilteringMethodsGenerator.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/SubtreeFilteringMethodsGenerator.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/SubtreeFilteringMethodsGenerator.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/TranslatorErrorType.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/TranslatorErrorType.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/TranslatorErrorType.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/TranslatorErrorType.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/TranslatorUtils.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/TranslatorUtils.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/TranslatorUtils.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/TranslatorUtils.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ValidatorTypeForUnionTypes.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ValidatorTypeForUnionTypes.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ValidatorTypeForUnionTypes.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ValidatorTypeForUnionTypes.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/package-info.java b/generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/package-info.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/package-info.java
rename to generator/src/main/java/org/onosproject/yangutils/translator/tojava/utils/package-info.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/utils/UtilConstants.java b/generator/src/main/java/org/onosproject/yangutils/utils/UtilConstants.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/utils/UtilConstants.java
rename to generator/src/main/java/org/onosproject/yangutils/utils/UtilConstants.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/utils/io/YangPluginConfig.java b/generator/src/main/java/org/onosproject/yangutils/utils/io/YangPluginConfig.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/utils/io/YangPluginConfig.java
rename to generator/src/main/java/org/onosproject/yangutils/utils/io/YangPluginConfig.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/utils/io/YangToJavaNamingConflictUtil.java b/generator/src/main/java/org/onosproject/yangutils/utils/io/YangToJavaNamingConflictUtil.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/utils/io/YangToJavaNamingConflictUtil.java
rename to generator/src/main/java/org/onosproject/yangutils/utils/io/YangToJavaNamingConflictUtil.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/CopyrightHeader.java b/generator/src/main/java/org/onosproject/yangutils/utils/io/impl/CopyrightHeader.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/CopyrightHeader.java
rename to generator/src/main/java/org/onosproject/yangutils/utils/io/impl/CopyrightHeader.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/FileSystemUtil.java b/generator/src/main/java/org/onosproject/yangutils/utils/io/impl/FileSystemUtil.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/FileSystemUtil.java
rename to generator/src/main/java/org/onosproject/yangutils/utils/io/impl/FileSystemUtil.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java b/generator/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java
rename to generator/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/YangFileScanner.java b/generator/src/main/java/org/onosproject/yangutils/utils/io/impl/YangFileScanner.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/YangFileScanner.java
rename to generator/src/main/java/org/onosproject/yangutils/utils/io/impl/YangFileScanner.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/YangIoUtils.java b/generator/src/main/java/org/onosproject/yangutils/utils/io/impl/YangIoUtils.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/YangIoUtils.java
rename to generator/src/main/java/org/onosproject/yangutils/utils/io/impl/YangIoUtils.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/package-info.java b/generator/src/main/java/org/onosproject/yangutils/utils/io/impl/package-info.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/package-info.java
rename to generator/src/main/java/org/onosproject/yangutils/utils/io/impl/package-info.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/utils/io/package-info.java b/generator/src/main/java/org/onosproject/yangutils/utils/io/package-info.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/utils/io/package-info.java
rename to generator/src/main/java/org/onosproject/yangutils/utils/io/package-info.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/utils/package-info.java b/generator/src/main/java/org/onosproject/yangutils/utils/package-info.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/utils/package-info.java
rename to generator/src/main/java/org/onosproject/yangutils/utils/package-info.java
diff --git a/parser/pom.xml b/parser/pom.xml
new file mode 100644
index 0000000..0ada699
--- /dev/null
+++ b/parser/pom.xml
@@ -0,0 +1,236 @@
+<!--
+  ~ Copyright 2016-present Open Networking Laboratory
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.onosproject</groupId>
+        <artifactId>onos-yang-tools</artifactId>
+        <version>1.9-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>onos-yang-utils-parser</artifactId>
+    <version>1.9-SNAPSHOT</version>
+    <packaging>maven-plugin</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-yang-datamodel</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-yang-utils-generator</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven</groupId>
+            <artifactId>maven-core</artifactId>
+            <version>3.3.9</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven</groupId>
+            <artifactId>maven-plugin-api</artifactId>
+            <version>3.3.9</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven.plugin-tools</groupId>
+            <artifactId>maven-plugin-annotations</artifactId>
+            <version>3.4</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>maven-scr-plugin</artifactId>
+            <version>1.21.0</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven</groupId>
+            <artifactId>maven-artifact</artifactId>
+            <version>3.3.9</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven</groupId>
+            <artifactId>maven-project</artifactId>
+            <version>3.0-alpha-2</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven</groupId>
+            <artifactId>maven-model</artifactId>
+            <version>3.3.9</version>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.12</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.sonatype.plexus</groupId>
+            <artifactId>plexus-build-api</artifactId>
+            <version>0.0.7</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>2.4</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.hamcrest</groupId>
+            <artifactId>hamcrest-all</artifactId>
+            <version>1.3</version>
+        </dependency>
+        <dependency>
+            <groupId>org.antlr</groupId>
+            <artifactId>antlr4-runtime</artifactId>
+            <version>4.5.3</version>
+        </dependency>
+        <dependency>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>build-helper-maven-plugin</artifactId>
+            <version>1.10</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>1.7.21</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.antlr</groupId>
+                <artifactId>antlr4-maven-plugin</artifactId>
+                <version>4.5</version>
+                <executions>
+                    <execution>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>antlr4</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <sourceDirectory>src/main/resources</sourceDirectory>
+                    <outputDirectory>
+                        target/generated-sources/org/onosproject/yangutils/parser/antlrgencode
+                    </outputDirectory>
+                    <visitor>false</visitor>
+                    <listener>true</listener>
+                </configuration>
+            </plugin>
+            <plugin>
+                <artifactId>maven-clean-plugin</artifactId>
+                <version>3.0.0</version>
+                <executions>
+                    <execution>
+                        <id>Deleting auto-generated listener interfaces</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>clean</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <excludeDefaultDirectories>true</excludeDefaultDirectories>
+                    <filesets>
+                        <fileset>
+                            <directory>target</directory>
+                            <followSymlinks>false</followSymlinks>
+                            <useDefaultExcludes>true</useDefaultExcludes>
+                            <excludes>
+                                <exclude>
+                                    **/generated-sources/org/onosproject/yangutils/parser/antlrgencode/GeneratedYangLexer.java
+                                </exclude>
+                                <exclude>
+                                    **/generated-sources/org/onosproject/yangutils/parser/antlrgencode/GeneratedYang.tokens
+                                </exclude>
+                                <exclude>
+                                    **/generated-sources/org/onosproject/yangutils/parser/antlrgencode/GeneratedYangParser.java
+                                </exclude>
+                                <exclude>
+                                    **/generated-sources/org/onosproject/yangutils/parser/antlrgencode/GeneratedYangLexer.tokens
+                                </exclude>
+                                <exclude>
+                                    **/generated-sources/org/onosproject/yangutils/parser/antlrgencode/YangLexer.java
+                                </exclude>
+                                <exclude>
+                                    **/generated-sources/org/onosproject/yangutils/parser/antlrgencode/YangLexer.tokens
+                                </exclude>
+                            </excludes>
+                        </fileset>
+                    </filesets>
+                    <verbose>false</verbose>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <version>1.10</version>
+                <executions>
+                    <execution>
+                        <id>add-source</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>add-source</goal>
+                        </goals>
+                        <configuration>
+                            <sources>
+                                <source>
+                                    target/generated-sources/org/onosproject/yangutils/parser/antlrgencode
+                                </source>
+                                <sourceDirectory>
+                                    target/generated-sources/org/onosproject/yangutils/parser/antlrgencode
+                                </sourceDirectory>
+                            </sources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-plugin-plugin</artifactId>
+                <version>3.4</version>
+                <configuration>
+                    <skipErrorNoDescriptorsFound>true
+                    </skipErrorNoDescriptorsFound>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>descriptor</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <version>2.5.4</version>
+                <extensions>true</extensions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/YangUtilsParser.java b/parser/src/main/java/org/onosproject/yangutils/parser/YangUtilsParser.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/YangUtilsParser.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/YangUtilsParser.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/antlrgencode/GeneratedYangListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/antlrgencode/GeneratedYangListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/antlrgencode/GeneratedYangListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/antlrgencode/GeneratedYangListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/antlrgencode/package-info.java b/parser/src/main/java/org/onosproject/yangutils/parser/antlrgencode/package-info.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/antlrgencode/package-info.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/antlrgencode/package-info.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/exceptions/ParserException.java b/parser/src/main/java/org/onosproject/yangutils/parser/exceptions/ParserException.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/exceptions/ParserException.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/exceptions/ParserException.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/exceptions/package-info.java b/parser/src/main/java/org/onosproject/yangutils/parser/exceptions/package-info.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/exceptions/package-info.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/exceptions/package-info.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/TreeWalkListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/TreeWalkListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/TreeWalkListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/TreeWalkListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/YangUtilsParserManager.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/YangUtilsParserManager.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/YangUtilsParserManager.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/YangUtilsParserManager.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/AppDataStructureListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/AppDataStructureListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/AppDataStructureListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/AppDataStructureListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/AppExtendedNameListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/AppExtendedNameListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/AppExtendedNameListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/AppExtendedNameListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ArgumentListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ArgumentListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ArgumentListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ArgumentListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/AugmentListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/AugmentListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/AugmentListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/AugmentListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BaseFileListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BaseFileListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BaseFileListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BaseFileListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BaseListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BaseListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BaseListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BaseListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BelongsToListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BelongsToListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BelongsToListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BelongsToListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BitListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BitListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BitListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BitListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BitsListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BitsListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BitsListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/BitsListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/CaseListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/CaseListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/CaseListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/CaseListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ChoiceListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ChoiceListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ChoiceListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ChoiceListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/CompilerAnnotationListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/CompilerAnnotationListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/CompilerAnnotationListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/CompilerAnnotationListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ConfigListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ConfigListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ConfigListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ConfigListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ContactListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ContactListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ContactListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ContactListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ContainerListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ContainerListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ContainerListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ContainerListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/DataStructureKeyListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/DataStructureKeyListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/DataStructureKeyListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/DataStructureKeyListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/Decimal64Listener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/Decimal64Listener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/Decimal64Listener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/Decimal64Listener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/DefaultListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/DefaultListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/DefaultListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/DefaultListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/DescriptionListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/DescriptionListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/DescriptionListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/DescriptionListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/EnumListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/EnumListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/EnumListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/EnumListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/EnumerationListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/EnumerationListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/EnumerationListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/EnumerationListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ErrorAppTagListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ErrorAppTagListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ErrorAppTagListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ErrorAppTagListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ErrorMessageListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ErrorMessageListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ErrorMessageListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ErrorMessageListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ExtensionListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ExtensionListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ExtensionListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ExtensionListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/FeatureListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/FeatureListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/FeatureListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/FeatureListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/FractionDigitsListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/FractionDigitsListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/FractionDigitsListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/FractionDigitsListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/GroupingListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/GroupingListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/GroupingListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/GroupingListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/IdentityListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/IdentityListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/IdentityListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/IdentityListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/IdentityrefListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/IdentityrefListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/IdentityrefListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/IdentityrefListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/IfFeatureListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/IfFeatureListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/IfFeatureListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/IfFeatureListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ImportListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ImportListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ImportListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ImportListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/IncludeListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/IncludeListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/IncludeListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/IncludeListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/InputListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/InputListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/InputListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/InputListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/KeyListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/KeyListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/KeyListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/KeyListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LeafListListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LeafListListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LeafListListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LeafListListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LeafListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LeafListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LeafListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LeafListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LeafrefListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LeafrefListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LeafrefListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LeafrefListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LengthRestrictionListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LengthRestrictionListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LengthRestrictionListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/LengthRestrictionListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ListListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ListListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ListListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ListListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/MandatoryListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/MandatoryListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/MandatoryListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/MandatoryListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/MaxElementsListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/MaxElementsListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/MaxElementsListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/MaxElementsListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/MinElementsListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/MinElementsListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/MinElementsListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/MinElementsListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ModuleListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ModuleListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ModuleListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ModuleListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/MustListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/MustListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/MustListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/MustListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/NamespaceListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/NamespaceListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/NamespaceListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/NamespaceListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/NotificationListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/NotificationListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/NotificationListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/NotificationListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/OrganizationListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/OrganizationListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/OrganizationListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/OrganizationListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/OutputListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/OutputListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/OutputListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/OutputListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PathListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PathListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PathListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PathListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PatternRestrictionListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PatternRestrictionListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PatternRestrictionListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PatternRestrictionListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PositionListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PositionListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PositionListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PositionListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PrefixListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PrefixListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PrefixListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PrefixListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PresenceListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PresenceListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PresenceListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/PresenceListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RangeRestrictionListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RangeRestrictionListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RangeRestrictionListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RangeRestrictionListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ReferenceListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ReferenceListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ReferenceListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ReferenceListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RequireInstanceListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RequireInstanceListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RequireInstanceListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RequireInstanceListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RevisionDateListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RevisionDateListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RevisionDateListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RevisionDateListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RevisionListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RevisionListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RevisionListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RevisionListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RpcListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RpcListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RpcListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/RpcListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ShortCaseListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ShortCaseListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ShortCaseListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ShortCaseListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/StatusListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/StatusListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/StatusListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/StatusListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/SubModuleListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/SubModuleListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/SubModuleListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/SubModuleListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeDefListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeDefListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeDefListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeDefListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/TypeListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UnionListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UnionListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UnionListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UnionListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UniqueListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UniqueListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UniqueListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UniqueListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UnitsListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UnitsListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UnitsListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UnitsListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UsesListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UsesListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UsesListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/UsesListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ValueListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ValueListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ValueListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/ValueListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/VersionListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/VersionListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/VersionListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/VersionListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/WhenListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/WhenListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/WhenListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/WhenListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/package-info.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/package-info.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/package-info.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/listeners/package-info.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/package-info.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/package-info.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/package-info.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/package-info.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerCollisionDetector.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerCollisionDetector.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerCollisionDetector.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerCollisionDetector.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerErrorLocation.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerErrorLocation.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerErrorLocation.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerErrorLocation.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerErrorMessageConstruction.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerErrorMessageConstruction.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerErrorMessageConstruction.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerErrorMessageConstruction.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerErrorType.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerErrorType.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerErrorType.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerErrorType.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerUtil.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerUtil.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerUtil.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerUtil.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerValidation.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerValidation.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerValidation.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerValidation.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ParseTreeErrorListener.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ParseTreeErrorListener.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ParseTreeErrorListener.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ParseTreeErrorListener.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/package-info.java b/parser/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/package-info.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/package-info.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/package-info.java
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/package-info.java b/parser/src/main/java/org/onosproject/yangutils/parser/package-info.java
similarity index 100%
rename from plugin/src/main/java/org/onosproject/yangutils/parser/package-info.java
rename to parser/src/main/java/org/onosproject/yangutils/parser/package-info.java
diff --git a/parser/src/main/resources/CopyrightHeader.txt b/parser/src/main/resources/CopyrightHeader.txt
new file mode 100644
index 0000000..2cbed45
--- /dev/null
+++ b/parser/src/main/resources/CopyrightHeader.txt
@@ -0,0 +1,14 @@
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
diff --git a/plugin/src/main/resources/GeneratedYang.g4 b/parser/src/main/resources/GeneratedYang.g4
similarity index 100%
rename from plugin/src/main/resources/GeneratedYang.g4
rename to parser/src/main/resources/GeneratedYang.g4
diff --git a/plugin/src/main/resources/YangLexer.g4 b/parser/src/main/resources/YangLexer.g4
similarity index 100%
rename from plugin/src/main/resources/YangLexer.g4
rename to parser/src/main/resources/YangLexer.g4
diff --git a/plugin/pom.xml b/plugin/pom.xml
index 066cb15..28839f4 100644
--- a/plugin/pom.xml
+++ b/plugin/pom.xml
@@ -24,7 +24,7 @@
         <version>1.9-SNAPSHOT</version>
     </parent>
 
-    <artifactId>onos-yang-maven-plugin</artifactId>
+    <artifactId>onos-yang-utils-plugin</artifactId>
     <version>1.9-SNAPSHOT</version>
     <packaging>maven-plugin</packaging>
 
@@ -35,6 +35,16 @@
             <version>${project.version}</version>
         </dependency>
         <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-yang-utils-generator</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-yang-utils-parser</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
             <groupId>org.apache.maven</groupId>
             <artifactId>maven-core</artifactId>
             <version>3.3.9</version>
diff --git a/pom.xml b/pom.xml
index 53ab907..c2bb335 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
         <version>1</version>
     </parent>
 
-    <artifactId>onos-yang-tools</artifactId>
+    <artifactId>onos-yang-utils</artifactId>
     <version>1.9-SNAPSHOT</version>
     <packaging>pom</packaging>
 
@@ -34,6 +34,8 @@
 
     <modules>
         <module>datamodel</module>
+        <module>generator</module>
+        <module>parser</module>
         <module>plugin</module>
     </modules>