Parse message names from xApp configMap
[ric-plt/appmgr.git] / build / make.docker.mk
1 #   Copyright (c) 2019 AT&T Intellectual Property.
2 #   Copyright (c) 2019 Nokia.
3 #
4 #   Licensed under the Apache License, Version 2.0 (the "License");
5 #   you may not use this file except in compliance with the License.
6 #   You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 #   Unless required by applicable law or agreed to in writing, software
11 #   distributed under the License is distributed on an "AS IS" BASIS,
12 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 #   See the License for the specific language governing permissions and
14 #   limitations under the License.
15
16 #------------------------------------------------------------------------------
17 #
18 #------------------------------------------------------------------------------
19 ifndef MAKE_DOCKER_TARGETS
20 MAKE_DOCKER_TARGETS:=1
21
22 .PHONY: docker-build docker-clean docker-stop FORCE
23
24 FORCE:
25
26
27 docker-name_%:
28         @echo $($*_DCKR_FULLNAME)
29
30
31 docker-build_%:
32         docker build --target $* $($*_DCKR_B_OPTS) -t $($*_DCKR_FULLNAME) -f $($*_DCKR_FILE) .
33
34 .docker-services-drun_%:
35         docker network create --driver bridge $($*_DCKR_FULLNAME)-running_network
36         docker run $($*_DCKR_R_OPTS) -d --name $($*_DCKR_FULLNAME)-running_redis --network $($*_DCKR_FULLNAME)-running_network redis
37
38 docker-irun_%: .docker-services-drun_%
39         docker run $($*_DCKR_R_OPTS) --name $($*_DCKR_FULLNAME)-running_xapp --network $($*_DCKR_FULLNAME)-running_network -e DBAAS_SERVICE_HOST=$($*_DCKR_FULLNAME)-running_redis $($*_DCKR_FULLNAME) /bin/bash
40
41 docker-irun-mounted_%: .docker-services-drun_%
42         docker run $($*_DCKR_R_OPTS) -v $(shell pwd):/ws/go/src/${PACKAGEURL} --workdir "/ws/go/src/${PACKAGEURL}" --name $($*_DCKR_FULLNAME)-running_xapp --network $($*_DCKR_FULLNAME)-running_network -e DBAAS_SERVICE_HOST=$($*_DCKR_FULLNAME)-running_redis $($*_DCKR_FULLNAME) /bin/bash
43
44 docker-run_%: .docker-services-drun_%
45         docker run $($*_DCKR_R_OPTS) --name $($*_DCKR_FULLNAME)-running_xapp --network $($*_DCKR_FULLNAME)-running_network -e DBAAS_SERVICE_HOST=$($*_DCKR_FULLNAME)-running_redis $($*_DCKR_FULLNAME)
46
47 docker-stop_%:
48         docker rm -f $($*_DCKR_FULLNAME)-running_xapp &> /dev/null || true
49         docker rm -f $($*_DCKR_FULLNAME)-running_redis &> /dev/null || true
50         docker network rm $($*_DCKR_FULLNAME)-running_network &> /dev/null || true
51
52 docker-irun-stop_%: docker-irun_%
53         docker rm -f $($*_DCKR_FULLNAME)-running_xapp &> /dev/null || true
54         docker rm -f $($*_DCKR_FULLNAME)-running_redis &> /dev/null || true
55         docker network rm $($*_DCKR_FULLNAME)-running_network &> /dev/null || true
56
57 docker-irun-mounted-stop_%: docker-irun-mounted_%
58         docker rm -f $($*_DCKR_FULLNAME)-running_xapp &> /dev/null || true
59         docker rm -f $($*_DCKR_FULLNAME)-running_redis &> /dev/null || true
60         docker network rm $($*_DCKR_FULLNAME)-running_network &> /dev/null || true
61
62 docker-run-stop_%: docker-run_%
63         docker rm -f $($*_DCKR_FULLNAME)-running_xapp &> /dev/null || true
64         docker rm -f $($*_DCKR_FULLNAME)-running_redis &> /dev/null || true
65         docker network rm $($*_DCKR_FULLNAME)-running_network &> /dev/null || true
66
67 docker-clean_%: docker-stop_%
68         docker rmi $($*_DCKR_FULLNAME) || true
69
70
71 .SECONDEXPANSION:
72 docker-build: DCKR_TARGETS:=
73 docker-build: $$(DCKR_TARGETS)
74
75 .SECONDEXPANSION:
76 docker-clean: DCKR_TARGETS:=
77 docker-clean: $$(DCKR_TARGETS)
78
79 .SECONDEXPANSION:
80 docker-stop: DCKR_TARGETS:=
81 docker-stop: $$(DCKR_TARGETS)
82
83 endif
84
85 #------------------------------------------------------------------------------
86 #
87 #------------------------------------------------------------------------------
88
89 ifndef DCKR_FILE
90 DCKR_FILE:="Dockerfile"
91 endif
92
93 ifndef BUILD_PREFIX
94 BUILD_PREFIX:="${USER}-"
95 endif
96
97
98 #------------------------------------------------------------------------------
99 #
100 #------------------------------------------------------------------------------
101
102 ifndef $(DCKR_NAME)_DCKR_B_PREFIX
103 $(DCKR_NAME)_DCKR_B_PREFIX:=$(BUILD_PREFIX)
104 endif
105
106 ifndef $(DCKR_NAME)_DCKR_FILE
107 $(DCKR_NAME)_DCKR_FILE:=$(DCKR_FILE)
108 endif
109
110 $(DCKR_NAME)_DCKR_B_PREFIX:=$(subst /,_,$(shell echo $($(DCKR_NAME)_DCKR_B_PREFIX) | tr '[:upper:]' '[:lower:]'))
111
112 $(DCKR_NAME)_DCKR_FULLNAME:=$($(DCKR_NAME)_DCKR_B_PREFIX)$(DCKR_NAME)
113
114 $(DCKR_NAME)_DCKR_B_OPTS:=${DCKR_B_OPTS}
115 $(DCKR_NAME)_DCKR_B_OPTS:=$($(DCKR_NAME)_DCKR_B_OPTS) --network=host
116
117 ifdef PACKAGEURL
118 $(DCKR_NAME)_DCKR_B_OPTS:=$($(DCKR_NAME)_DCKR_B_OPTS) --build-arg PACKAGEURL=${PACKAGEURL}
119 endif
120
121 ifdef BUILD_PREFIX
122 $(DCKR_NAME)_DCKR_B_OPTS:=$($(DCKR_NAME)_DCKR_B_OPTS) --build-arg BUILD_PREFIX=${BUILD_PREFIX}
123 endif
124
125
126 $(DCKR_NAME)_DCKR_R_OPTS:=${DCKR_R_OPTS}
127 $(DCKR_NAME)_DCKR_R_OPTS:=$($(DCKR_NAME)_DCKR_R_OPTS) --rm -i --net=host
128 $(DCKR_NAME)_DCKR_R_OPTS:=$($(DCKR_NAME)_DCKR_R_OPTS)$(shell test -t 0 && echo ' -t')
129 $(DCKR_NAME)_DCKR_R_OPTS:=$($(DCKR_NAME)_DCKR_R_OPTS)$(shell test -e /etc/localtime && echo ' -v /etc/localtime:/etc/localtime:ro')
130 $(DCKR_NAME)_DCKR_R_OPTS:=$($(DCKR_NAME)_DCKR_R_OPTS)$(shell test -e /var/run/docker.sock && echo ' -v /var/run/docker.sock:/var/run/docker.sock')
131 $(DCKR_NAME)_DCKR_R_OPTS:=$($(DCKR_NAME)_DCKR_R_OPTS)$(shell test -e ${HOME}/.docker && echo ' -v ${HOME}/.docker:/ws/.docker:ro')
132 $(DCKR_NAME)_DCKR_R_OPTS:=$($(DCKR_NAME)_DCKR_R_OPTS)$(shell test -e ${HOME}/.netrc && echo ' -v ${HOME}/.netrc:/ws/.netrc:ro')
133 $(DCKR_NAME)_DCKR_R_OPTS:=$($(DCKR_NAME)_DCKR_R_OPTS)$(shell test -e ${HOME}/.ssh && echo ' -v ${HOME}/.ssh:/ws/.ssh:ro')
134 $(DCKR_NAME)_DCKR_R_OPTS:=$($(DCKR_NAME)_DCKR_R_OPTS)$(shell test -e ${HOME}/.gitconfig && echo ' -v ${HOME}/.gitconfig:/ws/.gitconfig:ro')
135
136
137 docker-build: DCKR_TARGETS+=docker-build_$(DCKR_NAME)
138
139 docker-clean: DCKR_TARGETS+=docker-clean_$(DCKR_NAME)
140
141 docker-stop: DCKR_TARGETS+=docker-stop_$(DCKR_NAME)
142