diff --git a/bump_version.sh b/bump_version.sh index d325104..26c4fa2 100755 --- a/bump_version.sh +++ b/bump_version.sh @@ -1,16 +1,17 @@ #!/bin/bash current_version=$(git describe --tags --abbrev=0) -cp library.json.skeleton library.json -while ifs= read -r line; do - name=$(echo "$line" | sed "s/=.*//g") - value=$(echo "$line" | cut -d= -f 2 | sed 's/"//g') - sed -i "s/#$name/$value/g" library.json -done < library.properties - +if [ "$1" == "-d" ]; then + do=0 + shift +else + do=1 +fi if [ "$1" == "" ]; then echo - echo "Syntax: $0 {new_version}" + echo "Syntax: $0 [-d] {new_version}" echo + echo " -d : dry run, generate json and update properties but do not run git commands" + echo "" echo " Current version: $current_version" echo else @@ -23,15 +24,35 @@ else grep $current_version library.properties if [ "$?" == "0" ]; then sed -i "s/$current_version/$1/" library.properties - if [ 0 == 1 ]; then + + cp library.json.skeleton library.json + while ifs= read -r line; do + name=$(echo "$line" | sed "s/=.*//g") + value=$(echo "$line" | cut -d= -f 2 | sed 's/"//g') + echo " Replacing $name in json" + if [ "$name" == "depends" ]; then + depends=$(echo "$value" | sed "s/,/ /g") + echo " Depends=$depends" + fi + echo " " sed -i "s@#$name@$value@g" library.json + sed -i "s@#$name@$value@g" library.json + done < library.properties + deps="" + for depend in $depends; do + if [ "$deps" != "" ]; then + deps="$deps, " + fi + deps="$deps'$depend' : '*'" + done + sed -i "s@#dependencies@$deps@g" library.json + sed -i "s/'/\"/g" library.json + if [ "$do" == "1" ]; then git tag $1 git add library.properties git add library.json git commit -m "Release $1" git push git push --tags - else - echo "No git operation made" fi else echo "Current version does not match library.property version, aborting" diff --git a/library.json b/library.json index d21aa57..9f6c0b5 100644 --- a/library.json +++ b/library.json @@ -8,7 +8,7 @@ }, "dependencies": { "hsaturn/TinyConsole" : "*" }, - "version": "0.9.17", + "version": "0.9.18", "exclude": "", "examples": "examples/*/*.ino", "frameworks": "arduino", diff --git a/library.json.skeleton b/library.json.skeleton index 78b634a..a8765b0 100644 --- a/library.json.skeleton +++ b/library.json.skeleton @@ -6,6 +6,8 @@ "type": "git", "url": "https://github.com/hsaturn/TinyMqtt.git" }, + "dependencies": + { #dependencies }, "version": "#version", "exclude": "", "examples": "examples/*/*.ino", diff --git a/library.properties b/library.properties index 25adb42..817bd61 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=TinyMqtt -version=0.9.17 +version=0.9.18 author=Francois BIOT, HSaturn, maintainer=Francois BIOT sentence=A tiny broker and client library for MQTT messaging.