COMPILE_DEPS = [
    '//lib:CORE_DEPS',
    '//apps/odtn/api:onos-apps-odtn-api',
    '//lib:onos-yang-model',
    '//lib:onos-yang-runtime',
    '//apps/config:onos-apps-config',
    '//models/tapi:onos-models-tapi',
    '//models/openconfig:onos-models-openconfig',
    '//apps/yang:onos-apps-yang',
    '//incubator/api:onos-incubator-api',
    '//lib:org.apache.karaf.shell.console',
    '//cli:onos-cli',
    '//lib:JACKSON',
    '//protocols/netconf/api:onos-protocols-netconf-api'
]

TEST_DEPS = [
    '//lib:TEST_ADAPTERS',
]

osgi_jar_with_tests (
    deps = COMPILE_DEPS,
    test_deps = TEST_DEPS,
)

APPS = [
    'org.onosproject.yang',
    'org.onosproject.config',
    'org.onosproject.configsync',
    'org.onosproject.models.tapi',
    'org.onosproject.models.openconfig',
    'org.onosproject.odtn-api'

    # strictly speaking following are not mandatory
    'org.onosproject.restconf',
    'org.onosproject.drivers.netconf',# will need if using TemplateManager
    'org.onosproject.drivers.odtn',
    'org.onosproject.netconf',
    'org.onosproject.configsync-netconf',
    'org.onosproject.protocols.restconfserver',
]

onos_app (
    app_name = 'org.onosproject.odtn-service',
    title = 'ODTN Service Application',
    category = 'Traffic Steering',
    url = 'http://onosproject.org',
    description = 'ODTN Service Application',
    required_apps = APPS,
)
