ONOS-1684 Added support for app dependencies.

Change-Id: Iae318c24c3c9bd43d84318c79ac420fc85d5d599
diff --git a/tools/package/maven-plugin/src/main/java/org/onosproject/maven/OnosAppMojo.java b/tools/package/maven-plugin/src/main/java/org/onosproject/maven/OnosAppMojo.java
index bfc6127..5558b13 100644
--- a/tools/package/maven-plugin/src/main/java/org/onosproject/maven/OnosAppMojo.java
+++ b/tools/package/maven-plugin/src/main/java/org/onosproject/maven/OnosAppMojo.java
@@ -62,6 +62,7 @@
 
     private static final String ONOS_APP_NAME = "onos.app.name";
     private static final String ONOS_APP_ORIGIN = "onos.app.origin";
+    private static final String ONOS_APP_REQUIRES = "onos.app.requires";
 
     private static final String JAR = "jar";
     private static final String XML = "xml";
@@ -80,6 +81,7 @@
 
     private String name;
     private String origin;
+    private String requiredApps;
     private String version = DEFAULT_VERSION;
     private String featuresRepo = DEFAULT_FEATURES_REPO;
     private List<String> artifacts;
@@ -160,6 +162,9 @@
         origin = (String) project.getProperties().get(ONOS_APP_ORIGIN);
         origin = origin != null ? origin : DEFAULT_ORIGIN;
 
+        requiredApps = (String) project.getProperties().get(ONOS_APP_REQUIRES);
+        requiredApps = requiredApps == null ? "" : requiredApps;
+
         if (appFile.exists()) {
             loadAppFile(appFile);
         } else {
@@ -338,6 +343,7 @@
         return string == null ? null :
                 string.replaceAll("\\$\\{onos.app.name\\}", name)
                         .replaceAll("\\$\\{onos.app.origin\\}", origin)
+                        .replaceAll("\\$\\{onos.app.requires\\}", requiredApps)
                         .replaceAll("\\$\\{project.groupId\\}", projectGroupId)
                         .replaceAll("\\$\\{project.artifactId\\}", projectArtifactId)
                         .replaceAll("\\$\\{project.version\\}", projectVersion)