<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
  ~ 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.
  -->
<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="${project.artifactId}-${project.version}">
    <feature name="${project.artifactId}" version="${project.version}"
             description="${project.description}">
        <feature>onos-api</feature>
        <bundle>mvn:${project.groupId}/onos-bgpio/${project.version}</bundle>
        <bundle>mvn:${project.groupId}/onos-bgp-api/${project.version}</bundle>
        <bundle>mvn:${project.groupId}/onos-bgp-ctl/${project.version}</bundle>
        <bundle>mvn:${project.groupId}/onos-pcep-controller-api/${project.version}</bundle>
        <bundle>mvn:${project.groupId}/onos-bgp-provider-topology/${project.version}</bundle>
        <bundle>mvn:${project.groupId}/onos-bgp-provider-cfg/${project.version}</bundle>
        <bundle>mvn:${project.groupId}/onos-pcepio/${project.version}</bundle>
        <bundle>mvn:${project.groupId}/onos-app-pcep-api/${project.version}</bundle>
        <bundle>mvn:${project.groupId}/onos-pcep-controller-impl/${project.version}</bundle>
        <bundle>mvn:${project.groupId}/onos-pcep-provider-topology/${project.version}</bundle>
        <bundle>mvn:${project.groupId}/onos-pcep-provider-tunnel/${project.version}</bundle>
        <bundle>mvn:${project.groupId}/onos-app-pce/${project.version}</bundle>
        <bundle>mvn:${project.groupId}/onos-app-pceweb/${project.version}</bundle>
        <bundle>mvn:${project.groupId}/onos-bgpcep-provider-flow/${project.version}</bundle>
        <bundle>mvn:${project.groupId}/onos-app-pcerest/${project.version}</bundle>
    </feature>
</features>
