summaryrefslogtreecommitdiff
path: root/build.sh
blob: 2fce3cca0ebcc0580a2229d30671d7cd5a4e532e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#! /bin/bash

export BASE_DIR=$( cd "$(dirname "$0")" ; pwd )

BINARY_FILE="edge-orchestration"
SERVICE_DIR="/etc/systemd/system"
SERVICE_FILE="edge-orchestration.service"

BUILD_ALL=false

echo "*****************************"
echo " Target Binary arch is amd64 "
echo "*****************************"
export GOARCH=amd64
export GOPATH=$GOPATH:$BASE_DIR:$BASE_DIR/vendor

if [ "$1" = "all" ]; then
    BUILD_ALL=true
fi


function install_prerequisite() {
    go get github.com/axw/gocov/gocov
    go get github.com/matm/gocov-html
    go get github.com/Songmu/make2help/cmd/make2help
}

function build_clean() {
    make clean
}

function build_binary() {
    make build-binary
}

function build_object() {
    make build-object
}

function build_test() {
    make test
}

function lint_src_code() {
    make lint
}

function register_service() {
    echo ""
    echo "-----------------------------------"
    echo "  Create Service File [SuperUser]"
    echo "-----------------------------------"

    sudo systemctl stop $SERVICE_FILE
    sudo cp $BASE_DIR/bin/$BINARY_FILE /usr/bin
    sudo cp $BASE_DIR/packaging/$SERVICE_FILE $SERVICE_DIR
    ls -al $SERVICE_DIR | grep $SERVICE_FILE

    echo ""
    echo "----------------------------------------"
    echo "  Register Edge-Orchestration Service"
    echo "----------------------------------------"

    sudo systemctl daemon-reload
    sudo systemctl restart $SERVICE_FILE
    sudo systemctl status $SERVICE_FILE
}


if [ "$BUILD_ALL" = true ]
then
    install_prerequisite
    build_clean
    build_test
    build_object
    build_binary
    lint_src_code
    register_service
else
    build_clean
    build_binary
fi