@@ -246,38 +246,42 @@ install_dotnet() {
246
246
return 0
247
247
fi
248
248
249
- show_info " Ensuring that .NET is installed... "
250
-
251
- if dotnet --version | grep 8 \. 0 > /dev/null 2>&1 ; then
252
- local csharp_bin= $( dirname $( which dotnet ) )
253
- show_info " Found C# at $( which csharp ) (.NET $( dotnet --version ) ) "
254
- else
255
- if which dotnet > /dev/null 2>&1 ; then
256
- show_info " dotnet found but it is the wrong version and will be ignored. "
249
+ if command -v dotnet ; then
250
+ show_info " Found $( dotnet --version ) at $( which dotnet ) "
251
+
252
+ if dotnet --version | grep 8 \. 0 > /dev/null 2>&1 ; then
253
+ local csharp_bin= $( dirname $( which dotnet ) )
254
+ show_info " Found C# at $( which csharp ) (.NET $( dotnet --version ) ) "
255
+ DOTNET_ALREADY_INSTALLED=1
256
+ return 0
257
257
fi
258
- local csharp_bin=${ARROW_TMPDIR} /csharp/bin
259
- local dotnet_version=8.0.204
260
- local dotnet_platform=
261
- case " $( uname) " in
258
+ fi
259
+
260
+ show_info " dotnet found but it is the wrong version or dotnet not found"
261
+
262
+ local csharp_bin=${ARROW_TMPDIR} /csharp/bin
263
+ local dotnet_version=8.0.204
264
+ local dotnet_platform=
265
+ case " $( uname) " in
262
266
Linux)
263
- dotnet_platform=linux
264
- ;;
267
+ dotnet_platform=linux
268
+ ;;
265
269
Darwin)
266
- dotnet_platform=macos
267
- ;;
268
- esac
269
- local dotnet_download_thank_you_url=https://dotnet.microsoft.com/download/thank-you/dotnet-sdk-${dotnet_version} -${dotnet_platform} -x64-binaries
270
- local dotnet_download_url=$( \
271
- curl -sL ${dotnet_download_thank_you_url} | \
272
- grep ' directLink' | \
273
- grep -E -o ' https://download[^"]+' | \
274
- sed -n 2p)
275
- mkdir -p ${csharp_bin}
276
- curl -sL ${dotnet_download_url} | \
270
+ dotnet_platform=macos
271
+ ;;
272
+ esac
273
+ local dotnet_download_thank_you_url=https://dotnet.microsoft.com/download/thank-you/dotnet-sdk-${dotnet_version} -${dotnet_platform} -x64-binaries
274
+ show_info " Getting .NET download URL from ${dotnet_download_thank_you_url} "
275
+ local dotnet_download_url=$( curl -sL ${dotnet_download_thank_you_url} | \
276
+ grep ' directLink' | \
277
+ grep -E -o ' https://download[^"]+' | \
278
+ sed -n 2p)
279
+ show_info " Downloading .NET from ${dotnet_download_url} "
280
+ mkdir -p ${csharp_bin}
281
+ curl -sL ${dotnet_download_url} | \
277
282
tar xzf - -C ${csharp_bin}
278
- PATH=${csharp_bin} :${PATH}
279
- show_info " Installed C# at $( which csharp) (.NET $( dotnet --version) )"
280
- fi
283
+ PATH=${csharp_bin} :${PATH}
284
+ show_info " Installed C# at $( which csharp) (.NET $( dotnet --version) )"
281
285
282
286
DOTNET_ALREADY_INSTALLED=1
283
287
}
@@ -296,6 +300,18 @@ install_go() {
296
300
return 0
297
301
fi
298
302
303
+ local prefix=${ARROW_TMPDIR} /go
304
+ mkdir -p $prefix
305
+
306
+ if [ -f " ${prefix} /go/bin/go" ]; then
307
+ export GOROOT=${prefix} /go
308
+ export GOPATH=${prefix} /gopath
309
+ export PATH=$GOROOT /bin:$GOPATH /bin:$PATH
310
+ show_info " Found $( go version) at ${prefix} /go/bin/go"
311
+ GO_ALREADY_INSTALLED=1
312
+ return 0
313
+ fi
314
+
299
315
local version=1.24.2
300
316
show_info " Installing go version ${version} ..."
301
317
@@ -315,8 +331,6 @@ install_go() {
315
331
local archive=" go${version} .${os} -${arch} .tar.gz"
316
332
curl -sLO https://go.dev/dl/$archive
317
333
318
- local prefix=${ARROW_TMPDIR} /go
319
- mkdir -p $prefix
320
334
tar -xzf $archive -C $prefix
321
335
rm -f $archive
322
336
0 commit comments