1
1
#! /bin/bash
2
2
3
3
EXIT_CODE=0
4
- BUILD_CONFIGURATION=" "
5
- BUILD_FLAGS=" -p:PublishTrimmed=true "
4
+ BUILD_CONFIGURATION=" Release "
5
+ BUILD_FLAGS=" "
6
6
BUILD_VERSION=" "
7
7
SCRIPT_DIR=" $( dirname $( readlink -f " ${BASH_SOURCE} " ) ) "
8
8
9
9
Usage () {
10
10
echo " "
11
- echo " Builds the source code in the repo."
11
+ echo " Builds the source code in the repo. "
12
+ echo " "
13
+ echo " Options:"
14
+ echo " ---------------------"
15
+ echo " --trim - Enables trimming for publish output."
12
16
echo " "
13
17
echo " Usage:"
14
18
echo " ---------------------"
15
- echo " build.sh"
19
+ echo " build.sh [--trim] "
16
20
echo " "
17
21
echo " Examples"
18
22
echo " ---------------------"
19
- echo " # Use defaults"
20
- echo " user@system:~/repo$ chmod +x *.sh"
21
- echo " user@system:~/repo$ ./build.sh"
22
- echo " "
23
- echo " # Set specific version and configuration"
24
- echo " user@system:~/repo$ export VCBuildVersion=\" 1.16.25\" "
25
- echo " user@system:~/repo$ export VCBuildConfiguration=\" Debug\" "
26
- echo " user@system:~/repo$ chmod +x *.sh"
27
23
echo " user@system:~/repo$ ./build.sh"
24
+ echo " user@system:~/repo$ ./build.sh --trim"
28
25
echo " "
29
26
Finish
30
27
}
@@ -45,23 +42,23 @@ Finish() {
45
42
exit $EXIT_CODE
46
43
}
47
44
48
- for (( i= 1 ; i<= $# ; i++ )) ; do
49
- arg=" ${! i} "
50
-
51
- if [ " $arg " == " /?" ] || [ " $arg " == " -?" ] || [ " $arg " == " --help" ]; then
52
- Usage
53
- fi
45
+ # Parse arguments
46
+ while [[ $# -gt 0 ]]; do
47
+ case " ${1,,} " in
48
+ " /?" |" -?" |" --help" )
49
+ Usage
50
+ ;;
51
+ " --trim" )
52
+ BUILD_FLAGS=" -p:PublishTrimmed=true"
53
+ ;;
54
+ * )
55
+ echo " Unknown option: $1 "
56
+ Usage
57
+ ;;
58
+ esac
59
+ shift
54
60
done
55
61
56
- # The default build version is defined in the repo VERSION file.
57
- BUILD_VERSION=$( cat " $SCRIPT_DIR /VERSION" )
58
-
59
- # The default build version can be overridden by the 'VCBuildVersion'
60
- # environment variable
61
- if [[ -v " VCBuildVersion" && -n " $VCBuildVersion " ]]; then
62
- BUILD_VERSION=$VCBuildVersion
63
- fi
64
-
65
62
# The default build configuration is 'Release'.
66
63
BUILD_CONFIGURATION=" Release"
67
64
@@ -71,6 +68,14 @@ if [[ -v "VCBuildConfiguration" && -n "$VCBuildConfiguration" ]]; then
71
68
BUILD_CONFIGURATION=$VCBuildConfiguration
72
69
fi
73
70
71
+ # The default build version is defined in the repo VERSION file.
72
+ BUILD_VERSION=$( cat " $SCRIPT_DIR /VERSION" | sed ' s/^[[:space:]]*//;s/[[:space:]]*$//' )
73
+
74
+ # The default build version can be overridden by the 'VCBuildVersion' environment variable
75
+ if [[ -v " VCBuildVersion" && -n " $VCBuildVersion " ]]; then
76
+ BUILD_VERSION=$VCBuildVersion
77
+ fi
78
+
74
79
echo " "
75
80
echo " **********************************************************************"
76
81
echo " Build Version : $BUILD_VERSION "
@@ -79,6 +84,7 @@ echo "Configuration : $BUILD_CONFIGURATION"
79
84
echo " Flags : $BUILD_FLAGS "
80
85
echo " **********************************************************************"
81
86
87
+
82
88
echo " "
83
89
echo " [Build Solution]"
84
90
echo " ----------------------------------------------------------------------"
@@ -102,7 +108,7 @@ if [ $result -ne 0 ]; then
102
108
fi
103
109
104
110
echo " "
105
- echo " Build Virtual Client: linux-arm64]"
111
+ echo " [ Build Virtual Client: linux-arm64]"
106
112
echo " ----------------------------------------------------------------------"
107
113
dotnet publish " $SCRIPT_DIR /src/VirtualClient/VirtualClient.Main/VirtualClient.Main.csproj" -r linux-arm64 -c $BUILD_CONFIGURATION --self-contained \
108
114
-p:AssemblyVersion=$BUILD_VERSION $BUILD_FLAGS
@@ -113,7 +119,7 @@ if [ $result -ne 0 ]; then
113
119
fi
114
120
115
121
echo " "
116
- echo " Build Virtual Client: win-x64]"
122
+ echo " [ Build Virtual Client: win-x64]"
117
123
echo " ----------------------------------------------------------------------"
118
124
dotnet publish " $SCRIPT_DIR /src/VirtualClient/VirtualClient.Main/VirtualClient.Main.csproj" -r win-x64 -c $BUILD_CONFIGURATION --self-contained \
119
125
-p:AssemblyVersion=$BUILD_VERSION $BUILD_FLAGS
@@ -134,4 +140,4 @@ if [ $result -ne 0 ]; then
134
140
Error
135
141
fi
136
142
137
- End
143
+ End
0 commit comments