-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathbuild.sh
More file actions
112 lines (72 loc) · 1.79 KB
/
Copy pathbuild.sh
File metadata and controls
112 lines (72 loc) · 1.79 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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#!/usr/bin/env bash
set -euo pipefail
PROJECT_NAME="OmegaCode"
ROOT_DIR="$(pwd)"
CONSOLE_UI_DIR="$ROOT_DIR/console/console-ui"
CONSOLE_PANEL_DIR="$ROOT_DIR/console/console-panel"
MCP_SERVER_DIR="$ROOT_DIR/mcp-server"
BUILD_DIR="$ROOT_DIR/build"
BUNDLE_DIR="$BUILD_DIR/release_bundle"
RUST_TARGET="${RUST_TARGET:-}"
echo "=================================="
echo "Build Started"
echo "=================================="
rm -rf "$BUILD_DIR"
mkdir -p "$BUNDLE_DIR"
echo "[UI] Building"
pushd "$CONSOLE_UI_DIR"
npm ci
npm run build
if [ ! -d dist ]; then
echo "dist directory not found"
exit 1
fi
popd
echo "[JAVA] Building"
pushd "$CONSOLE_PANEL_DIR"
mvn -B clean package
PANEL_JAR=$(find target -type f -name "*.jar" \
! -name "*sources.jar" \
! -name "*javadoc.jar" \
| head -n 1)
if [ ! -f "$PANEL_JAR" ]; then
echo "Jar not found"
exit 1
fi
popd
echo "[RUST] Building"
if [ -n "$RUST_TARGET" ]; then
cargo build \
--release \
--target "$RUST_TARGET"
RELEASE_DIR="$ROOT_DIR/target/$RUST_TARGET/release"
else
cargo build --release
RELEASE_DIR="$ROOT_DIR/target/release"
fi
EXECUTABLE="$RELEASE_DIR/OmegaCode"
if [ -f "$EXECUTABLE.exe" ]; then
EXECUTABLE="$EXECUTABLE.exe"
fi
if [ ! -f "$EXECUTABLE" ]; then
echo "OmegaCode executable not found"
exit 1
fi
echo "[BUNDLE]"
mkdir -p "$BUNDLE_DIR/ui"
cp "$EXECUTABLE" \
"$BUNDLE_DIR/"
cp "$PANEL_JAR" \
"$BUNDLE_DIR/console_panel.jar"
cp -R "$CONSOLE_UI_DIR/dist/"* \
"$BUNDLE_DIR/ui/"
cp -R "$MCP_SERVER_DIR" \
"$BUNDLE_DIR/"
mkdir -p "$BUNDLE_DIR/sbom"
if command -v cargo-cyclonedx >/dev/null 2>&1; then
cargo cyclonedx \
--format json \
--output-file "$BUNDLE_DIR/sbom/rust-bom.json" || true
fi
echo "Build Finished"
find "$BUNDLE_DIR"