diff options
author | Steven <steven.liekens@gmail.com> | 2023-09-11 21:16:24 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-11 21:16:24 +0300 |
commit | 96c1eea40fc97b471ba0b33fcc79273c7ce586c7 (patch) | |
tree | 1ac35df447d38c00cb35e07a7b876dc985fc1329 /src/dotnet/scripts/string-helpers.sh | |
parent | 038bed3d58a84885da8a008b80905da17d57a543 (diff) |
Use dotnet-install.sh in .NET feature (#628)feature_dotnet_2.0.0
* Use dotnet-install.sh in .NET feature
* Use latest.version files
* Cleanup runtime args
* Use latest.version files in tests as well
* Improve tests, remove code duplication
* Add stderr helper
* Validate version inputs
* Use suggested description
Co-authored-by: Samruddhi Khandale <samruddhikhandale@github.com>
* Shorter version description
Co-authored-by: Samruddhi Khandale <samruddhikhandale@github.com>
* Shorter version description
Co-authored-by: Samruddhi Khandale <samruddhikhandale@github.com>
* Clean up apt lists
* Verify 7.0 is latest
* Fix PATH, add test for .NET global tools
* Include a copy of dotnet-install.sh in the Feature
* Configure useful env variables
* Use stringly typed booleans
* Keep imperative writing style in option hints
* Update maintainers
Co-authored-by: Samruddhi Khandale <samruddhikhandale@github.com>
* Move dotnet-install.sh into a vendor directory
* Refactor variables
* Amend
* Amend 2
* Use default options from devcontainer-feature.json
* Add back variables
* Fix shellchek warning in fetch_latest_sdk_version
* Inline install_version function
* Fix ShellCheck warnings
* Improve CSV parsing
* Default to latest when configuring an empty version
* Add support for runtime-only configurations
* Move 'none' check higher up
* Deduplicate helper functions, sort into files
* Address the user more directly in NOTES
* Remove unnecessary defaults
* Replace feature -> Feature
Co-authored-by: Samruddhi Khandale <samruddhikhandale@github.com>
* Add update-dotnet-install-script workflow
* Apply suggestions from code review
Co-authored-by: Samruddhi Khandale <samruddhikhandale@github.com>
* Don't skip ci for automated script update
---------
Co-authored-by: Samruddhi Khandale <samruddhikhandale@github.com>
Diffstat (limited to 'src/dotnet/scripts/string-helpers.sh')
-rw-r--r-- | src/dotnet/scripts/string-helpers.sh | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/dotnet/scripts/string-helpers.sh b/src/dotnet/scripts/string-helpers.sh new file mode 100644 index 0000000..35b4017 --- /dev/null +++ b/src/dotnet/scripts/string-helpers.sh @@ -0,0 +1,42 @@ +#!/bin/bash +#------------------------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. +#------------------------------------------------------------------------------------------------------------- +# +# Docs: https://github.com/devcontainers/features/tree/main/src/dotnet +# Maintainer: The Dev Container spec maintainers + +# Removes leading and trailing whitespace from an input string +# Usage: trim_whitespace <text> +trim_whitespace() { + text="$1" + + # Remove leading spaces + while [ "${text:0:1}" == " " ]; do + text="${text:1}" + done + + # Remove trailing spaces + while [ "${text: -1}" == " " ]; do + text="${text:0:-1}" + done + + echo "$text" +} + +# Splits comma-separated values into an array while ignoring empty entries +# Usage: split_csv <comma-separated-values> +split_csv() { + local -a values=() + while IFS="," read -ra entries; do + for entry in "${entries[@]}"; do + entry="$(trim_whitespace "$entry")" + if [ -n "$entry" ]; then + values+=("$entry") + fi + done + done <<< "$1" + + echo "${values[@]}" +}
\ No newline at end of file |