Brian O'Connor | 9e1352f | 2016-04-29 17:13:33 -0700 | [diff] [blame^] | 1 | KARAF = '//lib:apache-karaf' |
| 2 | BRANDING = '//tools/package/branding:onos-tools-package-branding' |
| 3 | |
| 4 | FEATURES = [ |
| 5 | '//features:onos-thirdparty-base', |
| 6 | '//features:onos-thirdparty-web', |
| 7 | '//features:onos-api', |
| 8 | '//features:onos-core', |
| 9 | '//features:onos-incubator', |
| 10 | '//features:onos-rest', |
| 11 | '//features:onos-gui', |
| 12 | '//features:onos-cli', |
| 13 | #'//features:onos-security', |
| 14 | ] |
| 15 | |
| 16 | #FIXME this list is currently mirrored from the root Buck file |
| 17 | APPS = [ |
| 18 | #Drivers |
| 19 | '//drivers/default:onos-drivers-default-oar', |
| 20 | |
| 21 | # Providers |
| 22 | '//providers/bgp:onos-providers-bgp-oar', |
| 23 | '//providers/host:onos-providers-host-oar', |
| 24 | '//providers/lldp:onos-providers-lldp-oar', |
| 25 | '//providers/netcfghost:onos-providers-netcfghost-oar', |
| 26 | '//providers/netcfglinks:onos-providers-netcfglinks-oar', |
| 27 | '//providers/netconf:onos-providers-netconf-oar', |
| 28 | '//providers/openflow/message:onos-providers-openflow-message-oar', |
| 29 | '//providers/ovsdb:onos-providers-ovsdb-oar', |
| 30 | '//providers/pcep:onos-providers-pcep-oar', |
| 31 | '//providers/null:onos-providers-null-oar', |
| 32 | '//providers/openflow/base:onos-providers-openflow-base-oar', |
| 33 | '//providers/rest:onos-providers-rest-oar', |
| 34 | '//providers/isis:onos-providers-isis-oar', |
| 35 | |
| 36 | # Apps |
| 37 | '//apps/dhcp:onos-apps-dhcp-oar', |
| 38 | '//apps/fwd:onos-apps-fwd-oar', |
| 39 | '//apps/aaa:onos-apps-aaa-oar', |
| 40 | '//apps/acl:onos-apps-acl-oar', |
| 41 | '//apps/bgprouter:onos-apps-bgprouter-oar', |
| 42 | '//apps/proxyarp:onos-apps-proxyarp-oar', |
| 43 | '//apps/segmentrouting:onos-apps-segmentrouting-oar', |
| 44 | '//apps/gangliametrics:onos-apps-gangliametrics-oar', |
| 45 | '//apps/graphitemetrics:onos-apps-graphitemetrics-oar', |
| 46 | '//apps/igmp:onos-apps-igmp-oar', |
| 47 | '//apps/cordmcast:onos-apps-cordmcast-oar', |
| 48 | '//apps/olt:onos-apps-olt-oar', |
| 49 | '//apps/influxdbmetrics:onos-apps-influxdbmetrics-oar', |
| 50 | '//apps/metrics:onos-apps-metrics-oar', |
| 51 | '//apps/mfwd:onos-apps-mfwd-oar', |
| 52 | '//apps/mlb:onos-apps-mlb-oar', |
| 53 | '//apps/openstackinterface:onos-apps-openstackinterface-oar', |
| 54 | '//apps/openstacknetworking:onos-apps-openstacknetworking-oar', |
| 55 | '//apps/openstacknetworking/openstackrouting:onos-apps-openstacknetworking-openstackrouting-oar', |
| 56 | '//apps/openstacknetworking/openstackswitching:onos-apps-openstacknetworking-openstackswitching-oar', |
| 57 | '//apps/mobility:onos-apps-mobility-oar', |
| 58 | '//apps/optical:onos-apps-optical-oar', |
| 59 | '//apps/pathpainter:onos-apps-pathpainter-oar', |
| 60 | '//apps/pcep-api:onos-apps-pcep-api-oar', |
| 61 | '//apps/pim:onos-apps-pim-oar', |
| 62 | '//apps/reactive-routing:onos-apps-reactive-routing-oar', |
| 63 | '//apps/sdnip:onos-apps-sdnip-oar', |
| 64 | '//apps/virtualbng:onos-apps-virtualbng-oar', |
| 65 | '//apps/cordvtn:onos-apps-cordvtn-oar', |
| 66 | '//apps/vpls:onos-apps-vpls-oar', |
| 67 | '//apps/vrouter:onos-apps-vrouter-oar', |
| 68 | '//apps/vtn:onos-apps-vtn-oar', |
| 69 | '//apps/faultmanagement:onos-apps-faultmanagement-oar', |
| 70 | '//apps/openstacknode:onos-apps-openstacknode-oar', |
| 71 | '//apps/cpman/app:onos-apps-cpman-app-oar', |
| 72 | '//apps/xosclient:onos-apps-xosclient-oar', |
| 73 | ] |
| 74 | |
| 75 | #TODO move to buck-tools |
| 76 | export_file ( |
| 77 | name = 'onos-prep-karaf', |
| 78 | ) |
| 79 | |
| 80 | genrule( |
| 81 | name = 'onos-karaf', |
| 82 | srcs = glob(['bin/*', 'etc/*', 'init/*']), |
| 83 | bash = '$(location :onos-prep-karaf) $OUT $(location %s) %s $(location %s)'\ |
| 84 | % (KARAF, ONOS_VERSION, BRANDING), |
| 85 | out = 'karaf.zip', |
| 86 | ) |
| 87 | |
| 88 | compile_features( |
| 89 | name = 'onos-features', |
| 90 | features = FEATURES, |
| 91 | ) |
| 92 | |
| 93 | staged_repos = ['$(location %s-repo)' % f for f in FEATURES] |
| 94 | staged_apps = ['$(location %s)' % a for a in APPS] |
| 95 | |
| 96 | # feature_coords = 'foo:bar:1.3' |
| 97 | sources = [ '$(location :onos-features)', ] |
| 98 | sources += staged_repos + staged_apps |
| 99 | |
| 100 | genrule( |
| 101 | name = 'onos-package', |
| 102 | out = 'onos.zip', |
| 103 | bash = 'cp $(location :onos-karaf) $OUT && $(exe //buck-tools:onos-stage) $OUT ' + ' '.join(sources), |
| 104 | visibility = [ 'PUBLIC' ], |
| 105 | ) |