# common/Makedefs
# Defines commonly used Makefile variables

NO_DOCKER_CACHE      ?= false

COMMON_DIR           ?= $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
CONFIG_DIR           ?= $(COMMON_DIR)

HOME_DIR             ?= $(shell echo ~)
MYIP                 ?= $(shell hostname -i)

XOS_DIR              ?= $(HOME_DIR)/xos
SERVICE_DIR          ?= $(HOME_DIR)/xos_services
LIBRARY_DIR          ?= $(HOME_DIR)/xos_libraries
# NOTE should we move xos-gui and xos-rest-gw to these folder instead that in libraries? In case update repo manifest accordingly
# REST_GW_DIR          ?= $(HOME_DIR)/xos-rest-gw
# GUI_DIR              ?= $(HOME_DIR)/xos-gui

XOS_BOOTSTRAP_PORT   ?= 9001
XOS_UI_PORT          ?= 9000

DOCKER_PROJECT       ?= unknown
BOOTSTRAP_PROJECT    ?= $(DOCKER_PROJECT)bs

ADMIN_USERNAME       ?= padmin@vicci.org
ADMIN_PASSWORD       ?= letmein

BOOTSTRAP_YML        ?= $(CONFIG_DIR)/docker-compose-bootstrap.yml
DOCKER_COMPOSE_YML   ?= $(CONFIG_DIR)/onboarding-docker-compose/docker-compose.yml

# git repos
CORD_BASE_GIT_URL ?= https://gerrit.opencord.org/p
DEFAULT_BRANCH ?= master

XOS_BRANCH ?= $(DEFAULT_BRANCH)
XOS_GIT_URL ?= $(CORD_BASE_GIT_URL)/xos.git

EXAMPLESERVICE_BRANCH ?= $(DEFAULT_BRANCH)
EXAMPLESERVICE_GIT_URL ?= $(CORD_BASE_GIT_URL)/exampleservice.git

OLT_BRANCH ?= $(DEFAULT_BRANCH)
OLT_GIT_URL ?= $(CORD_BASE_GIT_URL)/olt.git

VSG_BRANCH ?= $(DEFAULT_BRANCH)
VSG_GIT_URL ?= $(CORD_BASE_GIT_URL)/vsg.git

VTN_BRANCH ?= $(DEFAULT_BRANCH)
VTN_GIT_URL ?= $(CORD_BASE_GIT_URL)/vtn.git

VROUTER_BRANCH ?= $(DEFAULT_BRANCH)
VROUTER_GIT_URL ?= $(CORD_BASE_GIT_URL)/vrouter.git

VTR_BRANCH ?= $(DEFAULT_BRANCH)
VTR_GIT_URL ?= $(CORD_BASE_GIT_URL)/vtr.git

ONOS_BRANCH ?= $(DEFAULT_BRANCH)
ONOS_GIT_URL ?= $(CORD_BASE_GIT_URL)/onos-service.git

FABRIC_BRANCH ?= $(DEFAULT_BRANCH)
FABRIC_GIT_URL ?= $(CORD_BASE_GIT_URL)/fabric.git

MONITORING_BRANCH ?= $(DEFAULT_BRANCH)
MONITORING_GIT_URL ?= $(CORD_BASE_GIT_URL)/monitoring.git

HYPERCACHE_BRANCH ?= $(DEFAULT_BRANCH)
HYPERCACHE_GIT_URL ?= $(CORD_BASE_GIT_URL)/hypercache.git

METRONETWORK_BRANCH ?= $(DEFAULT_BRANCH)
METRONETWORK_GIT_URL ?= $(CORD_BASE_GIT_URL)/metro-net.git

OPENSTACK_BRANCH ?= $(DEFAULT_BRANCH)
OPENSTACK_GIT_URL ?= $(CORD_BASE_GIT_URL)/openstack.git

NG_XOS_LIB_BRANCH ?= $(DEFAULT_BRANCH)
NG_XOS_LIB_URL ?= $(CORD_BASE_GIT_URL)/ng-xos-lib.git

VNODLOCAL_BRANCH ?= $(DEFAULT_BRANCH)
VNODLOCAL_GIT_URL ?= $(CORD_BASE_GIT_URL)/metronet-local.git

GLOBALXOS_BRANCH ?= $(DEFAULT_BRANCH)
GLOBALXOS_GIT_URL ?= $(CORD_BASE_GIT_URL)/globalxos.git

XOS_REST_GW_BRANCH ?= $(DEFAULT_BRANCH)
XOS_REST_GW_URL ?= $(CORD_BASE_GIT_URL)/xos-rest-gw.git

XOS_GUI_BRANCH ?= $(DEFAULT_BRANCH)
XOS_GUI_URL ?= $(CORD_BASE_GIT_URL)/xos-gui.git
