You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.8 KiB
72 lines
2.8 KiB
#!/bin/bash |
|
|
|
# Replace hard-coded Compose version in Compose repo projects. Usage: ./replace.sh 1.0.0-rc6 |
|
|
|
ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/.. |
|
|
|
# Add folders which should contain up-to-date versions |
|
declare -a folders=( |
|
"$ROOT/examples" |
|
"$ROOT/gradle-plugins" |
|
"$ROOT/ci" |
|
"$ROOT/tutorials" |
|
) |
|
|
|
if [ ! -z "$COMPOSE_TEMPLATES_FOLDER" ]; then |
|
folders+=( |
|
"$COMPOSE_TEMPLATES_FOLDER/compose-multiplatform-desktop-template" |
|
"$COMPOSE_TEMPLATES_FOLDER/compose-multiplatform-html-library-template" |
|
"$COMPOSE_TEMPLATES_FOLDER/compose-multiplatform-ios-android-template" |
|
"$COMPOSE_TEMPLATES_FOLDER/compose-multiplatform-template" |
|
) |
|
fi |
|
|
|
if [ -z "$1" ]; then |
|
echo "Specify Compose version. For example: ./replaceVersion.sh 1.2.0-beta02 1.7.10" |
|
exit 1 |
|
fi |
|
|
|
if [ -z "$2" ]; then |
|
echo "Specify Kotlin version. For example: ./replaceVersion.sh 1.2.0-beta02 1.7.10" |
|
exit 1 |
|
fi |
|
|
|
COMPOSE_VERSION=$1 |
|
KOTLIN_VERSION=$2 |
|
|
|
if [[ $OSTYPE == 'darwin'* ]]; then |
|
SED=gsed |
|
else |
|
SED=sed |
|
fi |
|
|
|
replaceVersion() { |
|
$SED -i -e "s/$1/$2/g" $3 |
|
} |
|
|
|
replaceVersionInFile() { |
|
echo "Replace in $1" |
|
replaceVersion '^compose.version=.*' 'compose.version='"$COMPOSE_VERSION"'' $1 |
|
replaceVersion '<compose.version>.*<\/compose.version>' '<compose.version>'"$COMPOSE_VERSION"'<\/compose.version>' $1 |
|
replaceVersion '^COMPOSE_CORE_VERSION=.*' 'COMPOSE_CORE_VERSION='"$COMPOSE_VERSION"'' $1 |
|
replaceVersion '^COMPOSE_WEB_VERSION=.*' 'COMPOSE_WEB_VERSION='"$COMPOSE_VERSION"'' $1 |
|
replaceVersion 'id("org.jetbrains.compose") version ".*"' 'id("org.jetbrains.compose") version "'"$COMPOSE_VERSION"'"' $1 |
|
replaceVersion '"org.jetbrains.compose:compose-gradle-plugin:.*"' '"org.jetbrains.compose:compose-gradle-plugin:'"$COMPOSE_VERSION"'"' $1 |
|
replaceVersion '^kotlin.version=.*' 'kotlin.version='"$KOTLIN_VERSION"'' $1 |
|
replaceVersion '<kotlin.version>.*<\/kotlin.version>' '<kotlin.version>'"$KOTLIN_VERSION"'<\/kotlin.version>' $1 |
|
replaceVersion '^compose.tests.compiler.compatible.kotlin.version=.*' 'compose.tests.compiler.compatible.kotlin.version='"$KOTLIN_VERSION"'' $1 |
|
replaceVersion '^compose.tests.js.compiler.compatible.kotlin.version=.*' 'compose.tests.js.compiler.compatible.kotlin.version='"$KOTLIN_VERSION"'' $1 |
|
replaceVersion 'kotlin("multiplatform") version ".*"' 'kotlin("multiplatform") version "'"$KOTLIN_VERSION"'"' $1 |
|
replaceVersion 'kotlin("jvm") version ".*"' 'kotlin("jvm") version "'"$KOTLIN_VERSION"'"' $1 |
|
} |
|
|
|
replaceVersionInFolder() { |
|
find $1 -wholename $2 -not -path "**/build**" -not -path "**/.gradle**" | while read file; do replaceVersionInFile "$file"; done |
|
} |
|
|
|
for folder in "${folders[@]}" |
|
do |
|
replaceVersionInFolder $folder "**gradle.properties" |
|
replaceVersionInFolder $folder "**pom.xml" |
|
replaceVersionInFolder $folder "**README.md" |
|
done
|
|
|