compose.sh 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #! /bin/bash
  2. alias_map()
  3. {
  4. VAR_ALIAS="$1"
  5. VAR_NAME="$2"
  6. VAR_VAL="$(eval echo '${'${VAR_NAME}'}')"
  7. eval "${VAR_ALIAS}=${VAR_VAL}"
  8. VARS_LIST="${VARS_LIST} ${VAR_ALIAS}"
  9. }
  10. SELF_DIR=$(cd "$(dirname "$0")";pwd)
  11. JPARSER=${SELF_DIR}/JSON.sh
  12. MODEL_FL="${SELF_DIR}/../../model.json"
  13. SRC_FL="${SELF_DIR}/linkkit_example_auto.c"
  14. DST_FL="$1"
  15. VARS_FL="${PWD}/.temp_dm_auto_cache"
  16. VARS_LIST=""
  17. if [ -f ${MODEL_FL} ]; then
  18. echo "Processing [${MODEL_FL}] ..."
  19. fi
  20. ${JPARSER} -c < ${MODEL_FL} > ${VARS_FL}
  21. source ${VARS_FL}
  22. alias_map "DEVICE_PK" "profile__productKey"
  23. alias_map "DM_PROP_ID" "properties__0__identifier"
  24. alias_map "DM_EVT_ID" "events__1__identifier"
  25. alias_map "DM_EVT_OU_KEY" "events__1__outputData__0__identifier"
  26. mkdir -p $(dirname ${DST_FL})
  27. cp ${SRC_FL} ${DST_FL}
  28. echo "Recognised Variables:"
  29. echo ""
  30. for iter in ${VARS_LIST}; do
  31. iter_val=$(eval echo '$'${iter})
  32. printf "%16s : %-32s\n" ${iter} ${iter_val}
  33. sed -i "s: ###${iter}### :${iter_val}:g" ${DST_FL}
  34. done
  35. echo ""
  36. rm -f ${VARS_FL}