#!/bin/bash function rust_rename() { sed -i "s/$1/$2/g" `grep -Rl --include="*.rs" --include="*.stderr" "$1" *` > /dev/null } function cargo_rename() { find . -name "Cargo.toml" -exec sed -i "s/\(^\|[^\/]\)$1/\1$2/g" {} \; } function rename_gitlabci() { sed -i "s/$1/$2/g" .gitlab-ci.yml } function rename() { old=$(echo $1 | cut -f1 -d\ ); new=$(echo $1 | cut -f2 -d\ ); echo "Renaming $old to $new" # rename in Cargo.tomls cargo_rename $old $new rename_gitlabci $old $new # and it appears, we have the same syntax in rust files rust_rename $old $new # but generally we have the snail case syntax in rust files old=$(echo $old | sed s/-/_/g ); new=$(echo $new | sed s/-/_/g ); echo " > $old to $new" rust_rename $old $new } TO_RENAME=( # OLD-CRATE-NAME NEW-CRATE-NAME # PRIMITIVES "substrate-application-crypto sp-application-crypto" "sc-application-crypto sp-application-crypto" "substrate-authority-discovery-primitives sp-authority-discovery" "substrate-block-builder-runtime-api sp-block-builder" "substrate-consensus-aura-primitives sp-consensus-aura" "substrate-consensus-babe-primitives sp-consensus-babe" "substrate-consensus-common sp-consensus" "substrate-consensus-pow-primitives sp-consensus-pow" "substrate-primitives sp-core" "substrate-debug-derive sp-debug-derive" "substrate-primitives-storage sp-storage" "substrate-externalities sp-externalities" "substrate-finality-grandpa-primitives sp-finality-grandpa" "substrate-inherents sp-inherents" "substrate-keyring sp-keyring" "substrate-offchain-primitives sp-offchain" "substrate-panic-handler sp-panic-handler" "substrate-phragmen sp-phragmen" "substrate-rpc-primitives sp-rpc" "substrate-runtime-interface sp-runtime-interface" "substrate-runtime-interface-proc-macro sp-runtime-interface-proc-macro" "substrate-runtime-interface-test-wasm sp-runtime-interface-test-wasm" "substrate-serializer sp-serializer" "substrate-session sp-session" "sr-api sp-api" "sr-api-proc-macro sp-api-proc-macro" "sr-api-test sp-api-test" "sr-arithmetic sp-arithmetic" "sr-arithmetic-fuzzer sp-arithmetic-fuzzer" "sr-io sp-io" "sr-primitives sp-runtime" "sr-sandbox sp-sandbox" "sr-staking-primitives sp-staking" "sr-std sp-std" "sr-version sp-version" "substrate-state-machine sp-state-machine" "substrate-transaction-pool-runtime-api sp-transaction-pool" "substrate-trie sp-trie" "substrate-wasm-interface sp-wasm-interface" # # CLIENT "substrate-client sc-client" "substrate-client-api sc-api" "substrate-authority-discovery sc-authority-discovery" "substrate-basic-authorship sc-basic-authority" "substrate-block-builder sc-block-builder" "substrate-chain-spec sc-chain-spec" "substrate-chain-spec-derive sc-chain-spec-derive" "substrate-cli sc-cli" "substrate-consensus-aura sc-consensus-aura" "substrate-consensus-babe sc-consensus-babe" "substrate-consensus-pow sc-consensus-pow" "substrate-consensus-slots sc-consensus-slots" "substrate-consensus-uncles sc-consensus-uncles" "substrate-client-db sc-database" "substrate-executor sc-executor" "substrate-runtime-test sc-runtime-test" "substrate-finality-grandpa sc-finality-grandpa" "substrate-keystore sc-keystore" "substrate-network sc-network" "substrate-offchain sc-offchain" "substrate-peerset sc-peerset" "substrate-rpc-servers sc-rpc-server" "substrate-rpc sc-rpc" "substrate-service sc-service" "substrate-service-test sc-service-test" "substrate-state-db sc-state-db" "substrate-telemetry sc-telemetry" "substrate-test-primitives sp-test-primitives" "substrate-tracing sc-tracing" ); for rule in "${TO_RENAME[@]}" do rename "$rule"; done