# Targets placed in this list will be published as Maven artifacts
    //apps/intentsync:onos-apps-intentsync
    //apps/mcast/api:onos-apps-mcast-api
    //apps/mcast/cli:onos-apps-mcast-cli
    //apps/newoptical:onos-apps-newoptical
    //apps/optical-model:onos-apps-optical-model
    //apps/portloadbalancer:onos-apps-portloadbalancer
    //apps/restconf/api:onos-apps-restconf-api
    //apps/routing-api:onos-apps-routing-api
    //apps/route-service/api:onos-apps-route-service-api
    //apps/vpls:onos-apps-vpls
    //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/primitives:onos-core-primitives
    //core/store/serializers:onos-core-serializers
    //drivers/utilities:onos-drivers-utilities
    //drivers/default:onos-drivers-default
    //drivers/netconf:onos-drivers-netconf
    //pipelines/fabric/api:onos-pipelines-fabric-api
    //protocols/bgp/api:onos-protocols-bgp-api
    //protocols/bgp/bgpio:onos-protocols-bgp-bgpio
    //protocols/grpc/api:onos-protocols-grpc-api
    //protocols/p4runtime/api:onos-protocols-p4runtime-api
    //protocols/p4runtime/model:onos-protocols-p4runtime-model
    //protocols/p4runtime/proto:onos-protocols-p4runtime-proto
    //protocols/grpc/utils:onos-protocols-grpc-utils
    //protocols/gnmi/api:onos-protocols-gnmi-api
    //protocols/gnoi/api:onos-protocols-gnoi-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
    //tools/package/dependencies:onos-dependencies
    //utils/junit:onlab-junit
    //utils/misc:onlab-misc
    //utils/osgi:onlab-osgi
    //utils/rest:onlab-rest
    //web/api:onos-rest
    //deps:com_google_protobuf_protobuf_java
    //deps:io_grpc_grpc_api_context
    //deps:io_grpc_grpc_stub
    //deps:io_grpc_grpc_protobuf
