diff --git a/apps/aaa/app.xml b/apps/aaa/app.xml
index 167a419..9ad7681 100644
--- a/apps/aaa/app.xml
+++ b/apps/aaa/app.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2015 Open Networking Laboratory
+  ~ Copyright 2015-2016 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.
@@ -15,9 +15,11 @@
   ~ limitations under the License.
   -->
 <app name="org.onosproject.aaa" origin="ATT" version="${project.version}"
+     category="default" url="http://onosproject.org"
      featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
      features="${project.artifactId}">
     <description>${project.description}</description>
+    <readme>ONOS authentication application.</readme>
     <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact>
     <artifact>mvn:${project.groupId}/onos-app-xos-integration/${project.version}</artifact>
     <bundle>mvn:com.sun.jersey/jersey-client/1.19</bundle>
diff --git a/apps/aaa/pom.xml b/apps/aaa/pom.xml
index 1da6bc3..4693a56 100644
--- a/apps/aaa/pom.xml
+++ b/apps/aaa/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2014-2016 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.
@@ -19,7 +19,6 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
-
     <parent>
         <groupId>org.onosproject</groupId>
         <artifactId>onos-apps</artifactId>
@@ -32,10 +31,6 @@
 
     <description>ONOS authentication application</description>
 
-    <properties>
-        <onos.app.name>org.onosproject.aaa</onos.app.name>
-    </properties>
-
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/apps/acl/pom.xml b/apps/acl/pom.xml
index 2145e52..180b66f 100644
--- a/apps/acl/pom.xml
+++ b/apps/acl/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2015 Open Networking Laboratory
+  ~ Copyright 2015-2016 Open Networking Laboratory
   ~ Originally created by Pengfei Lu, Network and Cloud Computing Laboratory, Dalian University of Technology, China
   ~ Advisers: Keqiu Li and Heng Qi
   ~ This work is supported by the State Key Program of National Natural Science of China(Grant No. 61432002)
@@ -40,6 +40,9 @@
     <properties>
         <onos.app.name>org.onosproject.acl</onos.app.name>
         <onos.app.origin>DLUT</onos.app.origin>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>ONOS ACL application.</onos.app.readme>
 
         <web.context>/onos/v1/acl</web.context>
         <api.version>1.0.0</api.version>
diff --git a/apps/bgprouter/app.xml b/apps/bgprouter/app.xml
index 2fc47be..6cbcb20 100644
--- a/apps/bgprouter/app.xml
+++ b/apps/bgprouter/app.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2015 Open Networking Laboratory
+  ~ Copyright 2015-2016 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.
@@ -15,9 +15,11 @@
   ~ limitations under the License.
   -->
 <app name="org.onosproject.bgprouter" origin="ON.Lab" version="${project.version}"
+     category="default" url="http://onosproject.org"
      featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
      features="${project.artifactId}">
     <description>${project.description}</description>
+    <readme>BGP router application.</readme>
     <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact>
     <artifact>mvn:${project.groupId}/onos-app-routing-api/${project.version}</artifact>
     <artifact>mvn:${project.groupId}/onos-app-routing/${project.version}</artifact>
diff --git a/apps/bgprouter/pom.xml b/apps/bgprouter/pom.xml
index 7bee742..964be8e 100644
--- a/apps/bgprouter/pom.xml
+++ b/apps/bgprouter/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2015 Open Networking Laboratory
+  ~ Copyright 2015-2016 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.
diff --git a/apps/cip/pom.xml b/apps/cip/pom.xml
index f60de80..687de60 100644
--- a/apps/cip/pom.xml
+++ b/apps/cip/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2014-2016 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.
@@ -33,6 +33,9 @@
 
     <properties>
         <onos.app.name>org.onosproject.cip</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Cluster IP alias application.</onos.app.readme>
     </properties>
 
     <dependencies>
diff --git a/apps/cordfabric/pom.xml b/apps/cordfabric/pom.xml
index 53e3e7f..fbd202c 100644
--- a/apps/cordfabric/pom.xml
+++ b/apps/cordfabric/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2015 Open Networking Laboratory
+  ~ Copyright 2015-2016 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.
@@ -32,6 +32,9 @@
 
     <properties>
         <onos.app.name>org.onosproject.cordfabric</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Simple fabric application for CORD.</onos.app.readme>
         <web.context>/onos/cordfabric</web.context>
         <api.version>1.0.0</api.version>
         <api.title>ONOS CORD Fabric REST API</api.title>
diff --git a/apps/cordvtn/pom.xml b/apps/cordvtn/pom.xml
index 460efe1..a807de8 100644
--- a/apps/cordvtn/pom.xml
+++ b/apps/cordvtn/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2014-2016 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.
@@ -33,6 +33,9 @@
 
     <properties>
         <onos.app.name>org.onosproject.cordvtn</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Virtual tenant network service for CORD.</onos.app.readme>
         <web.context>/onos/cordvtn</web.context>
         <api.version>1.0.0</api.version>
         <api.title>CORD VTN REST API</api.title>
diff --git a/apps/cpman/pom.xml b/apps/cpman/pom.xml
index 7a89ab5..5b89e01 100644
--- a/apps/cpman/pom.xml
+++ b/apps/cpman/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2014-2016 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.
@@ -14,7 +14,8 @@
   ~ 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"
+<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>
@@ -29,6 +30,14 @@
 
     <description>Control Plane Management Application</description>
 
+    <properties>
+        <onos.app.name>org.onosproject.cpman</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Control plane management application.
+        </onos.app.readme>
+    </properties>
+
     <dependencies>
         <dependency>
             <groupId>org.onosproject</groupId>
diff --git a/apps/demo/cord-gui/pom.xml b/apps/demo/cord-gui/pom.xml
index 8f2c1a6..56ec4a0 100644
--- a/apps/demo/cord-gui/pom.xml
+++ b/apps/demo/cord-gui/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2014-2016 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.
diff --git a/apps/dhcp/app/app.xml b/apps/dhcp/app/app.xml
index bf324b1..280fc1c 100644
--- a/apps/dhcp/app/app.xml
+++ b/apps/dhcp/app/app.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2015 Open Networking Laboratory
+  ~ Copyright 2015-2016 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.
@@ -15,9 +15,11 @@
   ~ limitations under the License.
   -->
 <app name="org.onosproject.dhcp" origin="ON.Lab" version="${project.version}"
+     category="default" url="http://onosproject.org"
      featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
      features="${project.artifactId}">
     <description>${project.description}</description>
+    <readme>DHCP server application.</readme>
     <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact>
     <artifact>mvn:${project.groupId}/onos-app-dhcp-api/${project.version}</artifact>
 </app>
diff --git a/apps/dhcp/app/pom.xml b/apps/dhcp/app/pom.xml
index e013894..42c31b7 100644
--- a/apps/dhcp/app/pom.xml
+++ b/apps/dhcp/app/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2014-2016 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.
@@ -33,7 +33,6 @@
     <description>DHCP Server application</description>
 
     <properties>
-        <onos.app.name>org.onosproject.dhcp</onos.app.name>
         <web.context>/onos/dhcp</web.context>
         <api.version>1.0.0</api.version>
         <api.title>DHCP Server REST API</api.title>
diff --git a/apps/dhcp/pom.xml b/apps/dhcp/pom.xml
index f4c64e4..924c0bf 100644
--- a/apps/dhcp/pom.xml
+++ b/apps/dhcp/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2014-2016 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.
diff --git a/apps/drivermatrix/pom.xml b/apps/drivermatrix/pom.xml
index 87d25c5..3e5db97 100644
--- a/apps/drivermatrix/pom.xml
+++ b/apps/drivermatrix/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2014-2016 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.
@@ -14,7 +14,9 @@
   ~ 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">
+<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>
@@ -27,10 +29,13 @@
     <artifactId>onos-app-drivermatrix</artifactId>
     <packaging>bundle</packaging>
 
-    <description>Driver behaviour support matric</description>
+    <description>Driver behaviour support matrix</description>
 
     <properties>
         <onos.app.name>org.onosproject.drivermatrix</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Driver behavior support matrix.</onos.app.readme>
     </properties>
 
 </project>
diff --git a/apps/events/pom.xml b/apps/events/pom.xml
index 8415e92..f5ab42d 100644
--- a/apps/events/pom.xml
+++ b/apps/events/pom.xml
@@ -34,6 +34,10 @@
     <properties>
         <onos.version>1.5.0-SNAPSHOT</onos.version>
         <onos.app.name>org.onosproject.events</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>ONOS event history display application.
+        </onos.app.readme>
     </properties>
 
     <dependencies>
diff --git a/apps/faultmanagement/app/app.xml b/apps/faultmanagement/app/app.xml
index 5c2db0c..f4c20c9 100644
--- a/apps/faultmanagement/app/app.xml
+++ b/apps/faultmanagement/app/app.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2015 Open Networking Laboratory
+  ~ Copyright 2015-2016 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.
@@ -15,10 +15,11 @@
   ~ limitations under the License.
   -->
 <app name="org.onosproject.faultmanagement" origin="BTI Systems" version="${project.version}"
+     category="default" url="http://onosproject.org"
      featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
      features="${project.artifactId}">
     <description>${project.description}</description>
-
+    <readme>ONOS fault management application.</readme>
     <artifact>mvn:${project.groupId}/onos-app-fm-mgr/${project.version}</artifact>
     <artifact>mvn:${project.groupId}/onos-app-fm-web/${project.version}</artifact>
     <artifact>mvn:${project.groupId}/onos-app-fm-gui/${project.version}</artifact>
diff --git a/apps/faultmanagement/app/pom.xml b/apps/faultmanagement/app/pom.xml
index 41c6d8c..fac04b4 100644
--- a/apps/faultmanagement/app/pom.xml
+++ b/apps/faultmanagement/app/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-~ Copyright 2015 Open Networking Laboratory
+~ Copyright 2015-2016 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.
diff --git a/apps/flowanalyzer/pom.xml b/apps/flowanalyzer/pom.xml
index 0221a68..8369087 100644
--- a/apps/flowanalyzer/pom.xml
+++ b/apps/flowanalyzer/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2014-2016 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.
@@ -33,6 +33,9 @@
 
     <properties>
         <onos.app.name>org.onosproject.flowanalyzer</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Simple flow space analyzer.</onos.app.readme>
     </properties>
 
     <dependencies>
diff --git a/apps/fwd/pom.xml b/apps/fwd/pom.xml
index d6f7827..d902ace 100644
--- a/apps/fwd/pom.xml
+++ b/apps/fwd/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2014-2016 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.
@@ -33,6 +33,9 @@
 
     <properties>
         <onos.app.name>org.onosproject.fwd</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Reactive forwarding application using flow subsystem.</onos.app.readme>
     </properties>
 
     <dependencies>
diff --git a/apps/icon.png b/apps/icon.png
new file mode 100644
index 0000000..01ea558
--- /dev/null
+++ b/apps/icon.png
Binary files differ
diff --git a/apps/igmp/pom.xml b/apps/igmp/pom.xml
index 4ef3c9f..a8f1298 100644
--- a/apps/igmp/pom.xml
+++ b/apps/igmp/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2014-2016 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.
@@ -33,6 +33,9 @@
 
     <properties>
         <onos.app.name>org.onosproject.igmp</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>IGMP implementation.</onos.app.readme>
     </properties>
 
     <dependencies>
diff --git a/apps/iptopology-api/pom.xml b/apps/iptopology-api/pom.xml
index 0a8dfdc..b8cf442 100644
--- a/apps/iptopology-api/pom.xml
+++ b/apps/iptopology-api/pom.xml
@@ -1,5 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2015 Open Networking Laboratory
+  ~ Copyright 2015-2016 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.
@@ -26,4 +27,11 @@
     <packaging>bundle</packaging>
 
     <description>IP Layer Topology API</description>
+
+    <properties>
+        <onos.app.name>org.onosproject.iptopology-api</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>IP layer topology API.</onos.app.readme>
+    </properties>
 </project>
diff --git a/apps/metrics/pom.xml b/apps/metrics/pom.xml
index 63a1770..f3cdd0d 100644
--- a/apps/metrics/pom.xml
+++ b/apps/metrics/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2014-2016 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.
@@ -33,6 +33,10 @@
 
     <properties>
         <onos.app.name>org.onosproject.metrics</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Performance metrics collection application.
+        </onos.app.readme>
     </properties>
 
     <dependencies>
diff --git a/apps/mfwd/pom.xml b/apps/mfwd/pom.xml
index 2dc3a66..45d3cd5 100644
--- a/apps/mfwd/pom.xml
+++ b/apps/mfwd/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2014-2016 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.
@@ -33,6 +33,10 @@
 
     <properties>
         <onos.app.name>org.onosproject.mfwd</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Multicast forwarding application.
+        </onos.app.readme>
     </properties>
 
     <dependencies>
diff --git a/apps/mlb/pom.xml b/apps/mlb/pom.xml
index d9dd5a6..a300b41 100644
--- a/apps/mlb/pom.xml
+++ b/apps/mlb/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2015 Open Networking Laboratory
+  ~ Copyright 2015-2016 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.
@@ -33,6 +33,10 @@
 
     <properties>
         <onos.app.name>org.onosproject.mlb</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Application that balances mastership among nodes.
+        </onos.app.readme>
     </properties>
 
     <dependencies>
diff --git a/apps/mobility/pom.xml b/apps/mobility/pom.xml
index 99499d3..0f2b39e 100644
--- a/apps/mobility/pom.xml
+++ b/apps/mobility/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2014-2016 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.
@@ -33,6 +33,10 @@
 
     <properties>
         <onos.app.name>org.onosproject.mobility</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Host mobility application.
+        </onos.app.readme>
     </properties>
 
     <dependencies>
diff --git a/apps/olt/app/app.xml b/apps/olt/app/app.xml
index 8994bd6..b67486a 100644
--- a/apps/olt/app/app.xml
+++ b/apps/olt/app/app.xml
@@ -15,9 +15,11 @@
   ~ limitations under the License.
   -->
 <app name="org.onosproject.olt" origin="ON.Lab" version="${project.version}"
+     category="default" url="http://onosproject.org"
      featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
      features="${project.artifactId}">
     <description>${project.description}</description>
+    <readme>OLT application for CORD.</readme>
     <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact>
     <artifact>mvn:${project.groupId}/onos-app-olt-api/${project.version}</artifact>
 </app>
diff --git a/apps/olt/app/pom.xml b/apps/olt/app/pom.xml
index f4409cb..7ae11e3 100644
--- a/apps/olt/app/pom.xml
+++ b/apps/olt/app/pom.xml
@@ -31,7 +31,6 @@
     <description>OLT application for CORD</description>
 
     <properties>
-        <onos.app.name>org.onosproject.olt</onos.app.name>
         <web.context>/onos/olt</web.context>
         <api.version>1.0.0</api.version>
         <api.title>ONOS OLT REST API</api.title>
diff --git a/apps/openstackswitching/app/app.xml b/apps/openstackswitching/app/app.xml
index e982b90..afd6f86 100644
--- a/apps/openstackswitching/app/app.xml
+++ b/apps/openstackswitching/app/app.xml
@@ -15,9 +15,11 @@
   ~ limitations under the License.
   -->
 <app name="org.onosproject.openstackswitching" origin="ON.Lab" version="${project.version}"
+     category="default" url="http://onosproject.org"
      featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
      features="${project.artifactId}">
     <description>${project.description}</description>
+    <readme>SONA Openstack Switching  application.</readme>
     <artifact>mvn:${project.groupId}/onos-app-openstackswitching/${project.version}</artifact>
     <artifact>mvn:${project.groupId}/onos-app-dhcp-api/${project.version}</artifact>
     <artifact>mvn:${project.groupId}/onos-app-dhcp/${project.version}</artifact>
diff --git a/apps/openstackswitching/app/pom.xml b/apps/openstackswitching/app/pom.xml
index 026beef..d0c04a4 100644
--- a/apps/openstackswitching/app/pom.xml
+++ b/apps/openstackswitching/app/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2015 Open Networking Laboratory
+  ~ Copyright 2015-2016 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.
@@ -31,7 +31,6 @@
 
     <description>SONA Openstack Switching  applications</description>
     <properties>
-        <onos.app.name>org.onosproject.openstackswitching</onos.app.name>
         <web.context>/onos/openstackswitching</web.context>
         <api.version>1.0.0</api.version>
         <api.title>ONOS OpenStack Switching REST API</api.title>
diff --git a/apps/optical/pom.xml b/apps/optical/pom.xml
index 4e001c7..0acae23 100644
--- a/apps/optical/pom.xml
+++ b/apps/optical/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2014-2016 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.
@@ -33,6 +33,10 @@
 
     <properties>
         <onos.app.name>org.onosproject.optical</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Packet/Optical use-case application.
+        </onos.app.readme>
     </properties>
 
     <dependencies>
diff --git a/apps/pathpainter/pom.xml b/apps/pathpainter/pom.xml
index cb2161a..2673c54 100644
--- a/apps/pathpainter/pom.xml
+++ b/apps/pathpainter/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2015-2016 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.
@@ -33,6 +33,9 @@
 
     <properties>
         <onos.app.name>org.onosproject.pathpainter</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Path visualization application.</onos.app.readme>
     </properties>
 
 </project>
diff --git a/apps/pcep-api/pom.xml b/apps/pcep-api/pom.xml
index 24bad14..5d652cf 100644
--- a/apps/pcep-api/pom.xml
+++ b/apps/pcep-api/pom.xml
@@ -1,5 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2015 Open Networking Laboratory
+  ~ Copyright 2015-2016 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.
@@ -26,4 +27,11 @@
     <packaging>bundle</packaging>
 
     <description>PCEP protocol API</description>
+
+    <properties>
+        <onos.app.name>org.onosproject.pcep-api</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>PCEP protocol API.</onos.app.readme>
+    </properties>
 </project>
\ No newline at end of file
diff --git a/apps/pim/pom.xml b/apps/pim/pom.xml
index 71f4a22..02013f7 100644
--- a/apps/pim/pom.xml
+++ b/apps/pim/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2015 Open Networking Laboratory
+  ~ Copyright 2015-2016 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.
@@ -33,6 +33,9 @@
 
     <properties>
         <onos.app.name>org.onosproject.pim</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Protocol independent multicast emulation.</onos.app.readme>
     </properties>
 
     <dependencies>
diff --git a/apps/proxyarp/pom.xml b/apps/proxyarp/pom.xml
index eeca9f2..4dda8aa 100644
--- a/apps/proxyarp/pom.xml
+++ b/apps/proxyarp/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2014-2016 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.
@@ -33,6 +33,9 @@
 
     <properties>
         <onos.app.name>org.onosproject.proxyarp</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Proxy ARP/NDP application.</onos.app.readme>
     </properties>
 
     <dependencies>
diff --git a/apps/reactive-routing/pom.xml b/apps/reactive-routing/pom.xml
index 37527e6..ba43d94 100644
--- a/apps/reactive-routing/pom.xml
+++ b/apps/reactive-routing/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2015 Open Networking Laboratory
+  ~ Copyright 2015-2016 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.
@@ -33,6 +33,9 @@
 
     <properties>
         <onos.app.name>org.onosproject.reactive.routing</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>SDN-IP reactive routing application.</onos.app.readme>
     </properties>
 
     <dependencies>
diff --git a/apps/routing-api/pom.xml b/apps/routing-api/pom.xml
index f02ca94..a7f806a 100644
--- a/apps/routing-api/pom.xml
+++ b/apps/routing-api/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2015 Open Networking Laboratory
+  ~ Copyright 2015-2016 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.
@@ -30,6 +30,13 @@
     <packaging>bundle</packaging>
     <description>API for routing applications</description>
 
+    <properties>
+        <onos.app.name>org.onosproject.routing-api</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>API for routing applications.</onos.app.readme>
+    </properties>
+
     <dependencies>
         <dependency>
             <groupId>org.onosproject</groupId>
diff --git a/apps/routing/pom.xml b/apps/routing/pom.xml
index 51bd396..b1de5f3 100644
--- a/apps/routing/pom.xml
+++ b/apps/routing/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2015 Open Networking Laboratory
+  ~ Copyright 2015-2016 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.
@@ -30,6 +30,13 @@
     <packaging>bundle</packaging>
     <description>Libraries for routing applications</description>
 
+    <properties>
+        <onos.app.name>org.onosproject.routing</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>SDN-IP reactive routing application.</onos.app.readme>
+    </properties>
+
     <dependencies>
         <dependency>
             <groupId>org.onosproject</groupId>
diff --git a/apps/sdnip/app.xml b/apps/sdnip/app.xml
index 7aafa6a..54ddd40 100644
--- a/apps/sdnip/app.xml
+++ b/apps/sdnip/app.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2015 Open Networking Laboratory
+  ~ Copyright 2015-2016 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.
@@ -15,9 +15,11 @@
   ~ limitations under the License.
   -->
 <app name="org.onosproject.sdnip" origin="ON.Lab" version="${project.version}"
+     category="default" url="http://onosproject.org"
      featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
      features="${project.artifactId}">
     <description>${project.description}</description>
+    <readme>SDN-IP peering application.</readme>
     <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact>
     <artifact>mvn:${project.groupId}/onos-app-routing-api/${project.version}</artifact>
     <artifact>mvn:${project.groupId}/onos-app-routing/${project.version}</artifact>
diff --git a/apps/sdnip/pom.xml b/apps/sdnip/pom.xml
index ddfcdb7..506bc60 100644
--- a/apps/sdnip/pom.xml
+++ b/apps/sdnip/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2014-2016 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.
diff --git a/apps/segmentrouting/pom.xml b/apps/segmentrouting/pom.xml
index 1f73e2a..3f59618 100644
--- a/apps/segmentrouting/pom.xml
+++ b/apps/segmentrouting/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2014-2016 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.
@@ -32,6 +32,9 @@
 
     <properties>
         <onos.app.name>org.onosproject.segmentrouting</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Segment routing application.</onos.app.readme>
         <web.context>/onos/segmentrouting</web.context>
         <api.version>1.0.0</api.version>
         <api.title>ONOS Segment Routing REST API</api.title>
diff --git a/apps/test/demo/pom.xml b/apps/test/demo/pom.xml
index 2110abc..a9ab016 100644
--- a/apps/test/demo/pom.xml
+++ b/apps/test/demo/pom.xml
@@ -33,6 +33,9 @@
 
     <properties>
         <onos.app.name>org.onosproject.demo</onos.app.name>
+        <onos.app.category>test</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Flow throughput test application.</onos.app.readme>
         <web.context>/onos/demo</web.context>
         <api.title>ONOS Flow Throughput Test App API</api.title>
         <api.description>
diff --git a/apps/test/distributed-primitives/pom.xml b/apps/test/distributed-primitives/pom.xml
index e4fe505..5ccf518 100644
--- a/apps/test/distributed-primitives/pom.xml
+++ b/apps/test/distributed-primitives/pom.xml
@@ -34,6 +34,9 @@
 
     <properties>
         <onos.app.name>org.onosproject.distributedprimitives</onos.app.name>
+        <onos.app.category>test</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>ONOS app to test distributed primitives.</onos.app.readme>
     </properties>
 
     <dependencies>
diff --git a/apps/test/election/pom.xml b/apps/test/election/pom.xml
index afc6a4f..cca0025 100644
--- a/apps/test/election/pom.xml
+++ b/apps/test/election/pom.xml
@@ -34,6 +34,9 @@
 
     <properties>
         <onos.app.name>org.onosproject.election</onos.app.name>
+        <onos.app.category>test</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Master election test application.</onos.app.readme>
     </properties>
 
     <dependencies>
diff --git a/apps/test/intent-perf/pom.xml b/apps/test/intent-perf/pom.xml
index 4114aaa..1f85c02 100644
--- a/apps/test/intent-perf/pom.xml
+++ b/apps/test/intent-perf/pom.xml
@@ -33,6 +33,9 @@
 
     <properties>
         <onos.app.name>org.onosproject.intentperf</onos.app.name>
+        <onos.app.category>test</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>intent performance test application.</onos.app.readme>
     </properties>
 
     <dependencies>
diff --git a/apps/test/messaging-perf/pom.xml b/apps/test/messaging-perf/pom.xml
index dbe2a29..b8f3f08 100644
--- a/apps/test/messaging-perf/pom.xml
+++ b/apps/test/messaging-perf/pom.xml
@@ -33,6 +33,9 @@
 
     <properties>
         <onos.app.name>org.onosproject.messagingperf</onos.app.name>
+        <onos.app.category>test</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Messaging performance test application.</onos.app.readme>
     </properties>
 
     <dependencies>
diff --git a/apps/virtualbng/pom.xml b/apps/virtualbng/pom.xml
index f3252e1..1588064 100644
--- a/apps/virtualbng/pom.xml
+++ b/apps/virtualbng/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2015 Open Networking Laboratory
+  ~ Copyright 2015-2016 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.
@@ -33,6 +33,9 @@
 
     <properties>
         <onos.app.name>org.onosproject.virtualbng</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>Virtual broadband gateway application.</onos.app.readme>
         <web.context>/onos/virtualbng</web.context>
         <api.version>1.0.0</api.version>
         <api.title>ONOS Virtual BNG Gateway REST API</api.title>
diff --git a/apps/vrouter/app.xml b/apps/vrouter/app.xml
index 9dc3dc4..eeaa7d4 100644
--- a/apps/vrouter/app.xml
+++ b/apps/vrouter/app.xml
@@ -15,9 +15,11 @@
   ~ limitations under the License.
   -->
 <app name="org.onosproject.vrouter" origin="ON.Lab" version="${project.version}"
+     category="default" url="http://onosproject.org"
      featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
      features="${project.artifactId}">
     <description>${project.description}</description>
+    <readme>Virtual router application.</readme>
     <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact>
     <artifact>mvn:${project.groupId}/onos-app-routing-api/${project.version}</artifact>
     <artifact>mvn:${project.groupId}/onos-app-routing/${project.version}</artifact>
diff --git a/apps/vrouter/pom.xml b/apps/vrouter/pom.xml
index 8a58c84..8d7d556 100644
--- a/apps/vrouter/pom.xml
+++ b/apps/vrouter/pom.xml
@@ -34,8 +34,6 @@
 
     <properties>
         <onos.version>1.5.0-SNAPSHOT</onos.version>
-        <onos.app.name>org.onosproject.vrouter</onos.app.name>
-        <onos.app.origin>ON.Lab</onos.app.origin>
     </properties>
 
     <dependencies>
diff --git a/apps/vtn/app/app.xml b/apps/vtn/app/app.xml
index 37bba34..5834bb4 100644
--- a/apps/vtn/app/app.xml
+++ b/apps/vtn/app/app.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2015 Open Networking Laboratory
+  ~ Copyright 2015-2016 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.
@@ -15,10 +15,11 @@
   ~ limitations under the License.
   -->
 <app name="org.onosproject.vtn" origin="ON.Lab" version="${project.version}"
+     category="default" url="http://onosproject.org"
      featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
      features="${project.artifactId}">
     <description>${project.description}</description>
-
+    <readme>Virtual tenant network application.</readme>
     <artifact>mvn:${project.groupId}/onos-app-vtn-mgr/${project.version}</artifact>
     <artifact>mvn:${project.groupId}/onos-app-sfc-mgr/${project.version}</artifact>
     <artifact>mvn:${project.groupId}/onos-app-vtn-web/${project.version}</artifact>
diff --git a/apps/vtn/app/pom.xml b/apps/vtn/app/pom.xml
index 7f209ed..f148df9 100644
--- a/apps/vtn/app/pom.xml
+++ b/apps/vtn/app/pom.xml
@@ -1,12 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- ~ Copyright 2014 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. -->
+<!--
+  ~ Copyright 2014-2016 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/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
diff --git a/apps/vtn/sfcmgr/pom.xml b/apps/vtn/sfcmgr/pom.xml
index 32e65a3..88dda53 100644
--- a/apps/vtn/sfcmgr/pom.xml
+++ b/apps/vtn/sfcmgr/pom.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
   ~ Copyright 2015 Open Networking Laboratory
   ~
diff --git a/apps/vtn/vtnmgr/pom.xml b/apps/vtn/vtnmgr/pom.xml
index b087f84..bc5b7ab 100644
--- a/apps/vtn/vtnmgr/pom.xml
+++ b/apps/vtn/vtnmgr/pom.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
   ~ Copyright 2015 Open Networking Laboratory
   ~
diff --git a/apps/vtn/vtnrsc/pom.xml b/apps/vtn/vtnrsc/pom.xml
index b134361..b2f1e6b 100644
--- a/apps/vtn/vtnrsc/pom.xml
+++ b/apps/vtn/vtnrsc/pom.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
   ~ Copyright 2015 Open Networking Laboratory
   ~
diff --git a/apps/vtn/vtnweb/pom.xml b/apps/vtn/vtnweb/pom.xml
index b448b35..fdbfe00 100644
--- a/apps/vtn/vtnweb/pom.xml
+++ b/apps/vtn/vtnweb/pom.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
   ~ Copyright 2015 Open Networking Laboratory
   ~
diff --git a/apps/xos-integration/pom.xml b/apps/xos-integration/pom.xml
index 07e1f7c..e9994c7 100644
--- a/apps/xos-integration/pom.xml
+++ b/apps/xos-integration/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  ~ Copyright 2014 Open Networking Laboratory
+  ~ Copyright 2014-2016 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.
@@ -33,6 +33,9 @@
 
     <properties>
         <onos.app.name>org.onosproject.xosintegration</onos.app.name>
+        <onos.app.category>default</onos.app.category>
+        <onos.app.url>http://onosproject.org</onos.app.url>
+        <onos.app.readme>ONOS XOS integration application.</onos.app.readme>
     </properties>
 
     <dependencies>
