patch-crates.sh 1.9 KB

123456789101112131415161718192021222324252627282930313233343536
  1. # source this file
  2. update_solana_dependencies() {
  3. declare project_root="$1"
  4. declare solana_ver="$2"
  5. declare tomls=()
  6. while IFS='' read -r line; do tomls+=("$line"); done < <(find "$project_root" -name Cargo.toml)
  7. sed -i -e "s#\(solana-program = \"\)[^\"]*\(\"\)#\1=$solana_ver\2#g" "${tomls[@]}" || return $?
  8. sed -i -e "s#\(solana-program-test = \"\)[^\"]*\(\"\)#\1=$solana_ver\2#g" "${tomls[@]}" || return $?
  9. sed -i -e "s#\(solana-sdk = \"\).*\(\"\)#\1=$solana_ver\2#g" "${tomls[@]}" || return $?
  10. sed -i -e "s#\(solana-sdk = { version = \"\)[^\"]*\(\"\)#\1=$solana_ver\2#g" "${tomls[@]}" || return $?
  11. sed -i -e "s#\(solana-client = \"\)[^\"]*\(\"\)#\1=$solana_ver\2#g" "${tomls[@]}" || return $?
  12. sed -i -e "s#\(solana-client = { version = \"\)[^\"]*\(\"\)#\1=$solana_ver\2#g" "${tomls[@]}" || return $?
  13. sed -i -e "s#\(solana-clap-utils = \"\)[^\"]*\(\"\)#\1=$solana_ver\2#g" "${tomls[@]}" || return $?
  14. sed -i -e "s#\(solana-clap-utils = { version = \"\)[^\"]*\(\"\)#\1=$solana_ver\2#g" "${tomls[@]}" || return $?
  15. sed -i -e "s#\(solana-account-decoder = \"\)[^\"]*\(\"\)#\1=$solana_ver\2#g" "${tomls[@]}" || return $?
  16. sed -i -e "s#\(solana-account-decoder = { version = \"\)[^\"]*\(\"\)#\1=$solana_ver\2#g" "${tomls[@]}" || return $?
  17. sed -i -e "s#\(solana-faucet = \"\)[^\"]*\(\"\)#\1=$solana_ver\2#g" "${tomls[@]}" || return $?
  18. sed -i -e "s#\(solana-faucet = { version = \"\)[^\"]*\(\"\)#\1=$solana_ver\2#g" "${tomls[@]}" || return $?
  19. }
  20. patch_crates_io_solana() {
  21. declare Cargo_toml="$1"
  22. declare solana_dir="$2"
  23. cat >> "$Cargo_toml" <<EOF
  24. [patch.crates-io]
  25. solana-account-decoder = { path = "$solana_dir/account-decoder" }
  26. solana-clap-utils = { path = "$solana_dir/clap-utils" }
  27. solana-client = { path = "$solana_dir/client" }
  28. solana-program = { path = "$solana_dir/sdk/program" }
  29. solana-program-test = { path = "$solana_dir/program-test" }
  30. solana-sdk = { path = "$solana_dir/sdk" }
  31. solana-faucet = { path = "$solana_dir/faucet" }
  32. EOF
  33. }