forked from GothenburgBitFactory/taskwarrior
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Include cxxbridge-cmd in Cargo.lock, check version consistency
This adds cxxbridge-cmd to Cargo.lock per dtolnay/cxx#1407 (comment) It adds an MSRV to `src/taskchampion-cpp/Cargo.toml` so that the version of `Cargo.lock` is stil compatible with the MSRV. It additionally adds a check of the Cargo metadata for all of the cxx* versions agreeing, and for the MSRV's agreeing.
- Loading branch information
Showing
5 changed files
with
163 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
#! /bin/bash | ||
|
||
# Check the 'cargo metadata' for various requirements | ||
|
||
set -e | ||
|
||
META=$(mktemp) | ||
trap 'rm -rf -- "${META}"' EXIT | ||
|
||
cargo metadata --locked --format-version 1 > "${META}" | ||
|
||
get_version() { | ||
local package="${1}" | ||
jq -r '.packages[] | select(.name == "'"${package}"'") | .version' "${META}" | ||
} | ||
|
||
get_msrv() { | ||
local package="${1}" | ||
jq -r '.packages[] | select(.name == "'"${package}"'") | .rust_version' "${META}" | ||
} | ||
|
||
# check that the cxx packages all have the same version | ||
check_cxx_versions() { | ||
local cxx_version=$(get_version "cxx") | ||
local cxx_build_version=$(get_version "cxx-build") | ||
local cxxbridge_cmd_version=$(get_version "cxx-build") | ||
local cxxbridge_flags_version=$(get_version "cxxbridge-flags") | ||
local cxxbridge_macro_version=$(get_version "cxxbridge-macro") | ||
|
||
ok=true | ||
echo "Found cxx version ${cxx_version}" | ||
if [ "${cxx_version}" != "${cxx_build_version}" ]; then | ||
echo "Found differing cxx-build version ${cxx_build_version}" | ||
ok = false | ||
fi | ||
if [ "${cxx_version}" != "${cxxbridge_cmd_version}" ]; then | ||
echo "Found differing cxxbridge-cmd version ${cxxbridge_cmd_version}" | ||
ok = false | ||
fi | ||
if [ "${cxx_version}" != "${cxxbridge_flags_version}" ]; then | ||
echo "Found differing cxxbridge-flags version ${cxxbridge_flags_version}" | ||
ok = false | ||
fi | ||
if [ "${cxx_version}" != "${cxxbridge_macro_version}" ]; then | ||
echo "Found differing cxxbridge-macro version ${cxxbridge_macro_version}" | ||
ok = false | ||
fi | ||
|
||
if ! $ok; then | ||
echo "All cxx packages must be at the same version. Fix this in src/taskchampion-cpp/Cargo.toml." | ||
exit 1 | ||
else | ||
echo "✓ All cxx packages are at the same version." | ||
fi | ||
} | ||
|
||
check_msrv() { | ||
local taskchampion_msrv=$(get_msrv taskchampion) | ||
local taskchampion_lib_msrv=$(get_msrv taskchampion-lib) | ||
|
||
echo "Found taskchampion MSRV ${taskchampion_msrv}" | ||
echo "Found taskchampion-lib MSRV ${taskchampion_lib_msrv}" | ||
|
||
if [ "${taskchampion_msrv}" != "${taskchampion_lib_msrv}" ]; then | ||
echo "Those MSRVs should be the same (or taskchampion-lib should be greater, in which case adjust this script)" | ||
exit 1 | ||
else | ||
echo "✓ MSRVs are at the same version." | ||
fi | ||
} | ||
|
||
check_cxx_versions | ||
check_msrv |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters