-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathpackage.sh
More file actions
87 lines (60 loc) · 1.58 KB
/
Copy pathpackage.sh
File metadata and controls
87 lines (60 loc) · 1.58 KB
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
84
85
86
87
#!/usr/bin/env bash
set -euo pipefail
VERSION="$1"
TARGET_OS="$2"
TARGET_ARCH="$3"
PROJECT_NAME="OmegaCode"
ROOT_DIR="$(pwd)"
BUILD_DIR="$ROOT_DIR/build"
BUNDLE_DIR="$BUILD_DIR/release_bundle"
OUTPUT_DIR="$ROOT_DIR/target/${PROJECT_NAME}-${VERSION}"
mkdir -p "$OUTPUT_DIR"
echo "Packaging..."
echo "Version : $VERSION"
echo "OS : $TARGET_OS"
echo "Arch : $TARGET_ARCH"
tar -czf \
"$OUTPUT_DIR/${PROJECT_NAME}_${VERSION}_${TARGET_OS}_${TARGET_ARCH}.tar.gz" \
-C "$BUILD_DIR" \
release_bundle
if [ "$TARGET_OS" = "linux" ]; then
fpm \
-s dir \
-t deb \
-n "$PROJECT_NAME" \
-v "$VERSION" \
--architecture "$TARGET_ARCH" \
"$BUNDLE_DIR=/usr/local/OmegaCode"
mv ./*.deb "$OUTPUT_DIR/" 2>/dev/null || true
fpm \
-s dir \
-t rpm \
-n "$PROJECT_NAME" \
-v "$VERSION" \
--architecture "$TARGET_ARCH" \
"$BUNDLE_DIR=/usr/local/OmegaCode"
mv ./*.rpm "$OUTPUT_DIR/" 2>/dev/null || true
fi
if [ "$TARGET_OS" = "windows" ]; then
makensis \
-DVERSION="$VERSION" \
-DARCH="$TARGET_ARCH" \
installer.nsi
mv ./*.exe "$OUTPUT_DIR/" 2>/dev/null || true
fi
if [ "$TARGET_OS" = "macos" ]; then
DMG_NAME="${PROJECT_NAME}_${VERSION}_macOS_${TARGET_ARCH}.dmg"
hdiutil create \
-volname "$PROJECT_NAME" \
-srcfolder "$BUNDLE_DIR" \
-ov \
-format UDZO \
"$OUTPUT_DIR/$DMG_NAME"
fi
if [ -d "$BUNDLE_DIR/sbom" ]; then
tar -czf \
"$OUTPUT_DIR/${PROJECT_NAME}_${VERSION}_sbom.tar.gz" \
-C "$BUNDLE_DIR" \
sbom
fi
echo "Packaging Finished"