Skip to content

Commit d317ef7

Browse files
Merge pull request #13 from gitbito/release/1.1.9
Update bito-cra.sh
2 parents 1430b79 + efe8c9f commit d317ef7

File tree

3 files changed

+74
-3
lines changed

3 files changed

+74
-3
lines changed

cra-scripts/bito-cra.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@ git.provider=
66
git.access_token=
77
git.domain=
88
static_analysis=True
9+
static_analysis_tool=fb_infer,astral_ruff,mypy
910
dependency_check=False
11+
code_context=True
1012
dependency_check.snyk_auth_token=
13+
review_comments=2
1114
server_port=10051
1215
cra_version=latest

cra-scripts/bito-cra.ps1

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,25 @@ function Validate-Env {
9393
}
9494
}
9595

96+
# Function to validate a review_comments vallue i.e. 1 mapped to "FULLPOST" or 2 mapped to "INLINE"
97+
function Validate-ReviewComments {
98+
param($reviewcomments_val)
99+
100+
# Check if the provided value is either "1" or "2"
101+
if ($reviewcomments_val -ne "1" -and $reviewcomments_val -ne "2") {
102+
Write-Host "Invalid review comments value. Please enter either 1 or 2."
103+
exit 1
104+
}
105+
106+
if ($reviewcomments_val -eq "1") {
107+
return "FULLPOST"
108+
}
109+
110+
if ($reviewcomments_val -eq "2") {
111+
return "INLINE"
112+
}
113+
}
114+
96115
# Function to display URL using IP address and port
97116
# Run docker ps -l command and store the output
98117
function Display-DockerUrl {
@@ -332,14 +351,17 @@ $required_params_cli = @(
332351
)
333352

334353
$optional_params_cli = @(
354+
"review_comments",
335355
"static_analysis",
356+
"static_analysis_tool",
336357
"dependency_check",
337358
"dependency_check.snyk_auth_token",
338359
"cra_version",
339360
"env",
340361
"cli_path",
341362
"output_path"
342363
"git.domain"
364+
"code_context"
343365
)
344366

345367
# Parameters that are required/optional in mode server
@@ -352,14 +374,17 @@ $optional_params_server = @(
352374
"git.provider",
353375
"git.access_token",
354376
"bito_cli.bito.access_key",
377+
"review_comments",
355378
"static_analysis",
379+
"static_analysis_tool",
356380
"dependency_check",
357381
"dependency_check.snyk_auth_token",
358382
"server_port",
359383
"cra_version"
360384
"env"
361385
"cli_path"
362386
"git.domain"
387+
"code_context"
363388
)
364389

365390
$bee_params = @(
@@ -427,7 +452,7 @@ foreach ($param in $required_params) {
427452
foreach ($param in $optional_params) {
428453
if ($param -eq "dependency_check.snyk_auth_token" -and $props["dependency_check"] -eq "True") {
429454
Ask-For-Param $param $false
430-
} elseif ($param -ne "dependency_check.snyk_auth_token" -and $param -ne "env" -and $param -ne "cli_path" -and $param -ne "output_path" -and $param -ne "git.domain") {
455+
} elseif ($param -ne "dependency_check.snyk_auth_token" -and $param -ne "env" -and $param -ne "cli_path" -and $param -ne "output_path" -and $param -ne "static_analysis_tool" -and $param -ne "git.domain") {
431456
Ask-For-Param $param $false
432457
}
433458
}
@@ -451,12 +476,18 @@ foreach ($param in $required_params + $bee_params + $optional_params) {
451476
} elseif ($param -eq "static_analysis") {
452477
$validated_boolean = Validate-Boolean $props[$param]
453478
$docker_cmd += " --static_analysis.fb_infer.enabled=$validated_boolean"
479+
} elseif ($param -eq "static_analysis_tool") {
480+
$docker_cmd += " --$param=$($props[$param])"
454481
} elseif ($param -eq "dependency_check") {
455482
$validated_boolean = Validate-Boolean $props[$param]
456483
$docker_cmd += " --dependency_check.enabled=$validated_boolean"
457484
} elseif ($param -eq "code_feedback") {
458485
$validated_boolean = Validate-Boolean $props[$param]
459486
$docker_cmd += " --$param=$validated_boolean"
487+
} elseif ($param -eq "code_context") {
488+
#validate the code context boolean value
489+
$validated_boolean = Validate-Boolean $props[$param]
490+
$docker_cmd += " --$param=$validated_boolean"
460491
} elseif ($param -eq "mode") {
461492
Validate-Mode $props[$param]
462493
$docker_cmd += " --$param=$($props[$param])"
@@ -474,6 +505,9 @@ foreach ($param in $required_params + $bee_params + $optional_params) {
474505
$docker_cmd += " --$param=/output_path"
475506
}
476507
}
508+
} elseif ($param -eq "review_comments") {
509+
$review_comments = Validate-ReviewComments $props[$param]
510+
$docker_cmd += " --$param=$review_comments"
477511
} else {
478512
$docker_cmd += " --$param=$($props[$param])"
479513
}

cra-scripts/bito-cra.sh

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,19 @@ validate_env() {
9393
fi
9494
}
9595

96+
# Function to validate a review_comments vallue i.e. 1 mapped to "FULLPOST" or 2 mapped to "INLINE"
97+
validate_review_comments() {
98+
local review_comments="$1"
99+
if [ "$review_comments" == "1" ]; then
100+
echo "FULLPOST"
101+
elif [ "$review_comments" == "2" ]; then
102+
echo "INLINE"
103+
else
104+
echo "Invalid review comments value. Please enter either 1 or 2."
105+
exit 1
106+
fi
107+
}
108+
96109
# Function to display URL using IP address and port
97110
# Run docker ps -l command and store the output
98111
display_docker_url() {
@@ -355,14 +368,17 @@ required_params_cli=(
355368
)
356369

357370
optional_params_cli=(
371+
"review_comments"
358372
"static_analysis"
373+
"static_analysis_tool"
359374
"dependency_check"
360375
"dependency_check.snyk_auth_token"
361376
"cra_version"
362377
"env"
363378
"cli_path"
364379
"output_path"
365380
"git.domain"
381+
"code_context"
366382
)
367383

368384
# Parameters that are required/optional in mode server
@@ -375,14 +391,17 @@ optional_params_server=(
375391
"git.provider"
376392
"git.access_token"
377393
"bito_cli.bito.access_key"
394+
"review_comments"
378395
"static_analysis"
396+
"static_analysis_tool"
379397
"dependency_check"
380398
"dependency_check.snyk_auth_token"
381399
"server_port"
382400
"cra_version"
383401
"env"
384402
"cli_path"
385403
"git.domain"
404+
"code_context"
386405
)
387406

388407
bee_params=(
@@ -444,15 +463,14 @@ done
444463
for param in "${optional_params[@]}"; do
445464
if [ "$param" == "dependency_check.snyk_auth_token" ] && [ "${props["dependency_check"]}" == "True" ]; then
446465
ask_for_param "$param" "False"
447-
elif [ "$param" != "dependency_check.snyk_auth_token" ] && [ "$param" != "env" ] && [ "$param" != "cli_path" ] && [ "$param" != "output_path" ] && [ "$param" != "git.domain" ]; then
466+
elif [ "$param" != "dependency_check.snyk_auth_token" ] && [ "$param" != "env" ] && [ "$param" != "cli_path" ] && [ "$param" != "output_path" ] && [ "$param" != "static_analysis_tool" ] && [ "$param" != "git.domain" ]; then
448467
ask_for_param "$param" "False"
449468
fi
450469
done
451470

452471
# Append parameters to the docker command
453472
for param in "${required_params[@]}" "${bee_params[@]}" "${optional_params[@]}"; do
454473

455-
#echo $param ${props[$param]}
456474
if [ -n "${props[$param]}" ]; then
457475

458476
if [ "$param" == "cra_version" ]; then
@@ -475,6 +493,8 @@ for param in "${required_params[@]}" "${bee_params[@]}" "${optional_params[@]}";
475493
#handle special case of static_analysis.fb_infer.enabled using static_analysis
476494
props[$param]=$(validate_boolean "${props[$param]}")
477495
docker_cmd+=" --static_analysis.fb_infer.enabled=${props[$param]}"
496+
elif [ "$param" == "static_analysis_tool" ]; then
497+
docker_cmd+=" --static_analysis_tool=${props[$param]}"
478498
elif [ "$param" == "dependency_check" ]; then
479499
#validate the dependency check boolean value
480500
props[$param]=$(validate_boolean "${props[$param]}")
@@ -483,6 +503,10 @@ for param in "${required_params[@]}" "${bee_params[@]}" "${optional_params[@]}";
483503
#validate the code feedback boolean value
484504
props[$param]=$(validate_boolean "${props[$param]}")
485505
docker_cmd+=" --$param=${props[$param]}"
506+
elif [ "$param" == "code_context" ]; then
507+
#validate the code context boolean value
508+
props[$param]=$(validate_boolean "${props[$param]}")
509+
docker_cmd+=" --$param=${props[$param]}"
486510
elif [ "$param" == "mode" ]; then
487511
validate_mode "${props[$param]}"
488512
docker_cmd+=" --$param=${props[$param]}"
@@ -503,6 +527,16 @@ for param in "${required_params[@]}" "${bee_params[@]}" "${optional_params[@]}";
503527
docker_cmd+=" --$param=/output_path"
504528
fi
505529
fi
530+
elif [ "$param" == "review_comments" ]; then
531+
#validate the review comments value
532+
props[$param]=$(validate_review_comments "${props[$param]}")
533+
return_val=$? # Capture the return value of the check output directory
534+
if [ $return_val -eq 0 ]; then
535+
docker_cmd+=" --$param=${props[$param]}"
536+
else
537+
echo "Invalid value provided for review_comments. Exiting."
538+
exit 1
539+
fi
506540
else
507541
docker_cmd+=" --$param=${props[$param]}"
508542
fi

0 commit comments

Comments
 (0)