# Targets placed in this list will be published as Maven artifacts
    //apps/newoptical:onos-apps-newoptical
    //apps/optical-model:onos-apps-optical-model
    //apps/restconf/api:onos-apps-restconf-api
    //apps/routing-api:onos-apps-routing-api
    //apps/route-service/api:onos-apps-route-service-api
    //cli:onos-cli
    //core/api:onos-api
    //core/common:onos-core-common
    //core/net:onos-core-net
    //core/store/dist:onos-core-dist
    //core/store/persistence:onos-core-persistence
    //core/store/serializers:onos-core-serializers
    //incubator/api:onos-incubator-api
    //incubator/net:onos-incubator-net
    //incubator/rpc:onos-incubator-rpc
    //incubator/store:onos-incubator-store
    //protocols/bgp/api:onos-protocols-bgp-api
    //protocols/bgp/bgpio:onos-protocols-bgp-bgpio
    //protocols/grpc/api:onos-protocols-grpc-api
    //protocols/isis/api:onos-protocols-isis-api
    //protocols/lisp/api:onos-protocols-lisp-api
    //protocols/lisp/msg:onos-protocols-lisp-msg
    //protocols/netconf/api:onos-protocols-netconf-api
    //protocols/openflow/api:onos-protocols-openflow-api
    //protocols/openflow/ctl:onos-protocols-openflow-ctl
    //protocols/ospf/api:onos-protocols-ospf-api
    //protocols/ospf/protocol:onos-protocols-ospf-protocol
    //protocols/ovsdb/api:onos-protocols-ovsdb-api
    //protocols/ovsdb/ctl:onos-protocols-ovsdb-ctl
    //protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc
    //protocols/pcep/server/api:onos-protocols-pcep-server-api
    //protocols/pcep/pcepio:onos-protocols-pcep-pcepio
    //protocols/rest/api:onos-protocols-rest-api
    //protocols/restconf/client/api:onos-protocols-restconf-client-api
    //protocols/snmp/api:onos-protocols-snmp-api
    //tools/build/conf:onos-build-conf
    //utils/junit:onlab-junit
    //utils/misc:onlab-misc
    //utils/osgi:onlab-osgi
    //utils/rest:onlab-rest
    //web/api:onos-rest
