@@ -13,11 +13,12 @@ function usage() {
13
13
echo -e " -s SNAPSHOT\t[Optional] Build a snapshot, default is 'false'."
14
14
echo -e " -p PLATFORM\t[Optional] Platform, default is 'uname -s'."
15
15
echo -e " -a ARCHITECTURE\t[Optional] Build architecture, default is 'uname -m'."
16
+ echo -e " -d DISTRIBUTION\t[Optional] Distribution, default is 'tar'."
16
17
echo -e " -o OUTPUT\t[Optional] Output path, default is 'artifacts'."
17
18
echo -e " -h help"
18
19
}
19
20
20
- while getopts " :h:v:s:o:p:a:" arg; do
21
+ while getopts " :h:v:s:o:p:a:d: " arg; do
21
22
case $arg in
22
23
h)
23
24
usage
@@ -38,6 +39,9 @@ while getopts ":h:v:s:o:p:a:" arg; do
38
39
a)
39
40
ARCHITECTURE=$OPTARG
40
41
;;
42
+ d)
43
+ DISTRIBUTION=$OPTARG
44
+ ;;
41
45
:)
42
46
echo " Error: -${OPTARG} requires an argument"
43
47
usage
59
63
[ -z " $OUTPUT " ] && OUTPUT=artifacts
60
64
[ -z " $PLATFORM " ] && PLATFORM=$( uname -s | awk ' {print tolower($0)}' )
61
65
[ -z " $ARCHITECTURE " ] && ARCHITECTURE=` uname -m`
66
+ [ -z " $DISTRIBUTION " ] && DISTRIBUTION=" tar"
67
+ [[ " $SNAPSHOT " == " true" ]] && IDENTIFIER=" -SNAPSHOT"
68
+ [[ " $SNAPSHOT " != " true" ]] && RELEASE=" --release"
62
69
63
70
# Assemble distribution artifact
64
71
# see https://github.com/opensearch-project/OpenSearch/blob/main/settings.gradle#L34 for other distribution targets
65
- case $ARCHITECTURE in
66
- x64)
72
+ case $PLATFORM - $DISTRIBUTION - $ ARCHITECTURE in
73
+ linux-tar- x64)
67
74
TARGET=" --$PLATFORM "
75
+ EXT=" tar.gz"
76
+ EXTRA_PARAMS=" --skip-os-packages"
68
77
QUALIFIER=" $PLATFORM -x64"
69
78
;;
70
- arm64)
79
+ linux-tar- arm64)
71
80
TARGET=" --$PLATFORM -arm"
81
+ EXT=" tar.gz"
82
+ EXTRA_PARAMS=" --skip-os-packages"
72
83
QUALIFIER=" $PLATFORM -arm64"
73
84
;;
85
+ linux-rpm-x64)
86
+ TARGET=" --$DISTRIBUTION "
87
+ EXT=" $DISTRIBUTION "
88
+ EXTRA_PARAMS=" --all-platforms --skip-archives"
89
+ QUALIFIER=" x64"
90
+ ;;
74
91
* )
75
- echo " Unsupported architecture: ${ ARCHITECTURE} "
92
+ echo " Unsupported platform-distribution- architecture combination : $PLATFORM - $DISTRIBUTION - $ ARCHITECTURE"
76
93
exit 1
77
94
;;
78
95
esac
79
96
80
- echo " Building node modules for core"
97
+ echo " Building node modules for core with $PLATFORM - $DISTRIBUTION - $ARCHITECTURE "
81
98
yarn osd bootstrap
82
99
83
100
echo " Building artifact"
84
- [[ " $SNAPSHOT " == " true" ]] && IDENTIFIER=" -SNAPSHOT"
85
- [[ " $SNAPSHOT " != " true" ]] && RELEASE=" --release"
86
101
87
- yarn build-platform $TARGET --skip-os-packages $RELEASE
102
+ yarn build-platform $TARGET $EXTRA_PARAMS $RELEASE
88
103
89
104
mkdir -p " ${OUTPUT} /dist"
90
105
# Copy artifact to dist folder in bundle build output
91
- ARTIFACT_BUILD_NAME=opensearch-dashboards-$VERSION$IDENTIFIER -$QUALIFIER .tar.gz
92
- ARTIFACT_TARGET_NAME=opensearch-dashboards-min-$VERSION$IDENTIFIER -$QUALIFIER .tar.gz
106
+ ARTIFACT_BUILD_NAME=opensearch-dashboards-$VERSION$IDENTIFIER -$QUALIFIER .$EXT
107
+ ARTIFACT_TARGET_NAME=opensearch-dashboards-min-$VERSION$IDENTIFIER -$QUALIFIER .$EXT
93
108
cp target/$ARTIFACT_BUILD_NAME $OUTPUT /dist/$ARTIFACT_TARGET_NAME
0 commit comments