11#! /bin/bash
2- # Takes 3 parameters the path to navigate to , the language and the port to run the func tools on
3- while getopts l:p: flag
4- do
5- case " ${flag} " in
6- l) language=${OPTARG} ;;
7- p) port=${OPTARG} ;;
8- esac
2+ # Starts Azure Functions for a given language sample
3+ # Usage: start-functions.sh -l <language> -p <port>
4+
5+ while getopts l:p: flag; do
6+ case " ${flag} " in
7+ l) language=${OPTARG} ;;
8+ p) port=${OPTARG} ;;
9+ esac
910done
11+
12+ if [ -z " ${language:- } " ] || [ -z " ${port:- } " ]; then
13+ echo " Usage: start-functions.sh -l <language> -p <port>"
14+ exit 1
15+ fi
16+
1017echo " Using language: $language & Port: $port "
1118echo " Running $language functions samples"
12- cd /src/samples-$language
13- if [ $language == " outofproc" ]; then
14- echo " Changing language to c-sharp for out of process worker"
15- cd bin/Debug/net8.0
16- func start --csharp --verbose --port $port >> func-logs.txt &
17- # Added this as a seperate clause just in case we want to have this independent from OutOfProcess worker
18- elif [ $language == " csharp" ]; then
19- echo " Changing language to c-sharp for out of process worker"
20- cd bin/Debug/net8.0
21- func start --csharp --verbose --port $port >> func-logs.txt &
22- else
23- # the compiled functions are in this location
24- if [[ $language == " java" ]]; then
25- echo " Changing to Java functions directory"
26- cd target/azure-functions/kustojavafunctionssample-20230130111810292
27- fi
28- func start --$language --verbose --port $port >> func-logs.txt &
29- fi
19+
20+ SAMPLES_DIR=" /src/samples-${language} "
21+ if [ ! -d " $SAMPLES_DIR " ]; then
22+ echo " Error: Samples directory $SAMPLES_DIR not found"
23+ exit 1
24+ fi
25+
26+ cd " $SAMPLES_DIR "
27+
28+ case " $language " in
29+ outofproc)
30+ echo " Starting out-of-process dotnet-isolated worker"
31+ cd bin/Debug/net8.0
32+ func start --dotnet-isolated --verbose --port " $port " >> func-logs.txt &
33+ ;;
34+ csharp)
35+ echo " Starting C# in-process worker"
36+ cd bin/Debug/net8.0
37+ func start --csharp --verbose --port " $port " >> func-logs.txt &
38+ ;;
39+ node)
40+ echo " Starting Node.js (JavaScript) worker"
41+ func start --javascript --verbose --port " $port " >> func-logs.txt &
42+ ;;
43+ java)
44+ echo " Starting Java worker"
45+ cd target/azure-functions/kustojavafunctionssample-20230130111810292
46+ func start --java --verbose --port " $port " >> func-logs.txt &
47+ ;;
48+ python)
49+ echo " Starting Python worker"
50+ func start --python --verbose --port " $port " >> func-logs.txt &
51+ ;;
52+ powershell)
53+ echo " Starting PowerShell worker"
54+ func start --powershell --verbose --port " $port " >> func-logs.txt &
55+ ;;
56+ * )
57+ echo " Error: Unsupported language '$language '"
58+ exit 1
59+ ;;
60+ esac
0 commit comments