/[sudobot]/trunk/blazew
ViewVC logotype

Contents of /trunk/blazew

Parent Directory Parent Directory | Revision Log Revision Log


Revision 575 - (show annotations)
Mon Jul 29 17:59:26 2024 UTC (7 months, 4 weeks ago) by rakinar2
File size: 3147 byte(s)
chore: add trunk
1 #!/usr/bin/env sh
2
3 set -e
4
5 argv_0=$0
6 projectdir=$(dirname $0)
7 projectdir=$(readlink -f "$projectdir")
8
9 tmp_dir="$projectdir/.blaze"
10 bun_dir="$tmp_dir/bun"
11 bun="bun"
12
13 has_curl=$(command -v curl)
14 has_wget=$(command -v wget)
15
16 if [ -z "$has_curl" ] && [ -z "$has_wget" ]; then
17 echo "error: No curl or wget found. Please install one of them."
18 exit 1
19 fi
20
21 mkdir -p "$tmp_dir"
22
23 getprop() {
24 value=$(cat "$projectdir/blaze/wrapper/blaze_wrapper.properties" | grep "$1" | cut -d'=' -f2)
25 echo $value
26 }
27
28 print() {
29 printf "\033[${1}m$2\033[0m"
30 printf " $3\n"
31 }
32
33 blaze_srcpath=$(getprop "blaze.srcpath")
34 blaze_srcpath=$(readlink -f "$blaze_srcpath")
35
36 if [ -z "$blaze_srcpath" ]; then
37 print "31" "error" "blaze.srcpath is not set in blaze_wrapper.properties"
38 exit 1
39 fi
40
41 pushd() {
42 if [ -z "$1" ]; then
43 return 1
44 fi
45
46 if [ -z "$DIRSTACK" ]; then
47 DIRSTACK="$1"
48 else
49 DIRSTACK="$1:$DIRSTACK"
50 fi
51
52 cd "$1"
53 }
54
55 popd() {
56 if [ -z "$DIRSTACK" ]; then
57 return 1
58 fi
59
60 cd "$(echo "$DIRSTACK" | cut -d: -f1)"
61 DIRSTACK=$(echo "$DIRSTACK" | cut -d: -f2-)
62 }
63
64 summary() {
65 title=$1
66
67 if [ -z "$title" ]; then
68 title="Final"
69 fi
70
71 printf "\033[1m -- $title Configuration Summary -- \033[0m\n\n"
72 print "32" "info" "Project root directory: $projectdir"
73 print "32" "info" "BlazeBuild directory: $blaze_srcpath"
74 print "32" "info" "Temporary directory: $tmp_dir"
75 print "32" "info" "Bun executable: $bun"
76
77 printf "\n"
78 }
79
80 bun_run_installer() {
81 rm -rf "$bun_dir"
82 mkdir -p "$bun_dir"
83
84 if [ ! -z "$has_curl" ]; then
85 export BUN_INSTALL="$bun_dir" && export PATH="$BUN_INSTALL":"$PATH":"$BUN_INSTALL" && export SHELL=blazew && (curl -fsSL https://bun.sh/install | bash -s "bun-v$1") >"$tmp_dir/bun_install.log" 2>&1
86 else
87 export BUN_INSTALL="$bun_dir" && export PATH="$BUN_INSTALL":"$PATH":"$BUN_INSTALL" && export SHELL=blazew && (wget -qO- https://bun.sh/install | bash -s "bun-v$1") >"$tmp_dir/bun_install.log" 2>&1
88 fi
89
90 bun="$bun_dir/bin/bun"
91 }
92
93 install_bun() {
94 local bun_version=$(getprop "bun.version")
95
96 if [ -z "$bun_version" ]; then
97 print "31" "error" "bun.version is not set in blaze_wrapper.properties"
98 exit 1
99 fi
100
101 export PATH="$bun_dir/bin":"$PATH":"$bun_dir/bin"
102
103 if [ -z "$(command -v bun)" ]; then
104 print "33" "warn" "Could not find bun installation"
105 print "32" "info" "Installing bun"
106 bun_run_installer $bun_version
107 else
108 existing_version=$(bun --version)
109
110 if [ "$existing_version" != "$bun_version" ]; then
111 print "33" "warn" "Bun version mismatch in existing installation: required $bun_version, found $existing_version"
112 print "32" "info" "Installing bun version: $bun_version"
113 bun_run_installer $bun_version
114 else
115 bun="$(command -v bun)"
116 fi
117 fi
118 }
119
120 if [ "$BLAZEW_DEBUG" = "1" ]; then
121 summary "Initial"
122 fi
123
124 install_bun
125
126 if [ "$BLAZEW_DEBUG" = "1" ]; then
127 printf "\n"
128 summary
129 fi
130
131 $bun $projectdir/blaze/wrapper/blaze_wrapper.js $@

Properties

Name Value
svn:executable *

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26