KARAF = '//lib:apache-karaf'
BRANDING = '//tools/package/branding:onos-tools-package-branding'

FEATURES = [
  '//features:onos-thirdparty-base',
  '//features:onos-thirdparty-web',
  '//features:onos-api',
  '//features:onos-core',
  '//features:onos-incubator',
  '//features:onos-rest',
  '//features:onos-gui',
  '//features:onos-cli',
#'//features:onos-security',
]

#FIXME this list is currently mirrored from the root Buck file
APPS = [
  #Drivers
  '//drivers/default:onos-drivers-default-oar',

  # Providers
  '//providers/bgp:onos-providers-bgp-oar',
  '//providers/host:onos-providers-host-oar',
  '//providers/lldp:onos-providers-lldp-oar',
  '//providers/netcfghost:onos-providers-netcfghost-oar',
  '//providers/netcfglinks:onos-providers-netcfglinks-oar',
  '//providers/netconf:onos-providers-netconf-oar',
  '//providers/openflow/message:onos-providers-openflow-message-oar',
  '//providers/ovsdb:onos-providers-ovsdb-oar',
  '//providers/pcep:onos-providers-pcep-oar',
  '//providers/null:onos-providers-null-oar',
  '//providers/openflow/base:onos-providers-openflow-base-oar',
  '//providers/openflow/app:onos-providers-openflow-app-oar',
  '//providers/rest:onos-providers-rest-oar',
  '//providers/isis:onos-providers-isis-oar',
  '//providers/ovsdb/host:onos-providers-ovsdb-host-oar',
  '//providers/ovsdb/base:onos-providers-ovsdb-base-oar',

  # Apps
  '//apps/dhcp:onos-apps-dhcp-oar',
  '//apps/fwd:onos-apps-fwd-oar',
  '//apps/aaa:onos-apps-aaa-oar',
  '//apps/acl:onos-apps-acl-oar',
  '//apps/bgprouter:onos-apps-bgprouter-oar',
  '//apps/proxyarp:onos-apps-proxyarp-oar',
  '//apps/segmentrouting:onos-apps-segmentrouting-oar',
  '//apps/gangliametrics:onos-apps-gangliametrics-oar',
  '//apps/graphitemetrics:onos-apps-graphitemetrics-oar',
  '//apps/igmp:onos-apps-igmp-oar',
  '//apps/cordmcast:onos-apps-cordmcast-oar',
  '//apps/olt:onos-apps-olt-oar',
  '//apps/influxdbmetrics:onos-apps-influxdbmetrics-oar',
  '//apps/metrics:onos-apps-metrics-oar',
  '//apps/mfwd:onos-apps-mfwd-oar',
  '//apps/mlb:onos-apps-mlb-oar',
  '//apps/openstackinterface:onos-apps-openstackinterface-oar',
  '//apps/openstacknetworking:onos-apps-openstacknetworking-oar',
  '//apps/openstacknetworking/openstackrouting:onos-apps-openstacknetworking-openstackrouting-oar',
  '//apps/openstacknetworking/openstackswitching:onos-apps-openstacknetworking-openstackswitching-oar',
  '//apps/mobility:onos-apps-mobility-oar',
  '//apps/optical:onos-apps-optical-oar',
  '//apps/pathpainter:onos-apps-pathpainter-oar',
  '//apps/pcep-api:onos-apps-pcep-api-oar',
  '//apps/pim:onos-apps-pim-oar',
  '//apps/reactive-routing:onos-apps-reactive-routing-oar',
  '//apps/sdnip:onos-apps-sdnip-oar',
  '//apps/virtualbng:onos-apps-virtualbng-oar',
  '//apps/cordvtn:onos-apps-cordvtn-oar',
  '//apps/vpls:onos-apps-vpls-oar',
  '//apps/vrouter:onos-apps-vrouter-oar',
  '//apps/vtn:onos-apps-vtn-oar',
  '//apps/faultmanagement:onos-apps-faultmanagement-oar',
  '//apps/openstacknode:onos-apps-openstacknode-oar',
  '//apps/cpman/app:onos-apps-cpman-app-oar',
  '//apps/xosclient:onos-apps-xosclient-oar',
]

#TODO move to buck-tools
export_file (
  name = 'onos-prep-karaf',
)

genrule(
  name = 'onos-karaf',
  srcs = glob(['bin/*', 'etc/*', 'init/*']),
  bash = '$(location :onos-prep-karaf) $OUT $(location %s) %s $(location %s)'\
            % (KARAF, ONOS_VERSION, BRANDING),
  out = 'karaf.zip',
)

compile_features(
  name = 'onos-features',
  features = FEATURES,
)

staged_repos = ['$(location %s-repo)' % f for f in FEATURES]
staged_apps = ['$(location %s)' % a for a in APPS]

# feature_coords = 'foo:bar:1.3'
sources = [ '$(location :onos-features)', ]
sources += staged_repos + staged_apps

genrule(
  name = 'onos-package',
  out = 'onos.tar.gz',
  bash = '$(exe //buck-tools:onos-stage) $OUT $(location :onos-karaf) ' + ' '.join(sources),
  visibility = [ 'PUBLIC' ],
)

genrule(
  name = 'onos-run',
  out = 'onos-run',
  srcs = [ 'onos-run-karaf' ],
  bash = 'sed "s#ONOS_TAR=#ONOS_TAR=$(location :onos-package)#" $SRCS > $OUT; chmod +x $OUT',
  executable = True,
  visibility = [ 'PUBLIC' ],
)