You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by tu...@apache.org on 2023/04/07 16:19:37 UTC
[arrow-rs] branch master updated: Split object_store into separate workspace (#4036)
This is an automated email from the ASF dual-hosted git repository.
tustvold pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
The following commit(s) were added to refs/heads/master by this push:
new 6e9751f6b Split object_store into separate workspace (#4036)
6e9751f6b is described below
commit 6e9751f6b33e17cb811bd89ed94f29b92707e248
Author: Raphael Taylor-Davies <17...@users.noreply.github.com>
AuthorDate: Fri Apr 7 17:19:30 2023 +0100
Split object_store into separate workspace (#4036)
---
Cargo.toml | 14 +++++++++-----
dev/release/create-tarball.sh | 5 +----
dev/release/verify-release-candidate.sh | 15 ++-------------
parquet/Cargo.toml | 3 ++-
4 files changed, 14 insertions(+), 23 deletions(-)
diff --git a/Cargo.toml b/Cargo.toml
index 7d5ff0c7f..34a7951b3 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -16,6 +16,7 @@
# under the License.
[workspace]
+
members = [
"arrow",
"arrow-arith",
@@ -35,7 +36,6 @@ members = [
"arrow-schema",
"arrow-select",
"arrow-string",
- "object_store",
"parquet",
"parquet_derive",
"parquet_derive_test",
@@ -51,10 +51,14 @@ members = [
#
resolver = "2"
-# this package is excluded because it requires different compilation flags, thereby significantly changing
-# how it is compiled within the workspace, causing the whole workspace to be compiled from scratch
-# this way, this is a stand-alone package that compiles independently of the others.
-exclude = ["arrow-pyarrow-integration-testing"]
+exclude = [
+ # arrow-pyarrow-integration-testing is excluded because it requires different compilation flags, thereby
+ # significantly changing how it is compiled within the workspace, causing the whole workspace to be compiled from
+ # scratch this way, this is a stand-alone package that compiles independently of the others.
+ "arrow-pyarrow-integration-testing",
+ # object_store is excluded because it follows a separate release cycle from the other arrow crates
+ "object_store"
+]
[workspace.package]
version = "37.0.0"
diff --git a/dev/release/create-tarball.sh b/dev/release/create-tarball.sh
index 0463f89f7..a77ddbe75 100755
--- a/dev/release/create-tarball.sh
+++ b/dev/release/create-tarball.sh
@@ -117,14 +117,11 @@ echo "---------------------------------------------------------"
# create <tarball> containing the files in git at $release_hash
# the files in the tarball are prefixed with {tag} (e.g. 4.0.1)
-# use --delete to filter out:
-# 1. `object_store` files
-# 2. Workspace `Cargo.toml` file (which refers to object_store)
+# use --delete to filter out `object_store` files
mkdir -p ${distdir}
(cd "${SOURCE_TOP_DIR}" && \
git archive ${release_hash} --prefix ${release}/ \
| $tar --delete ${release}/'object_store' \
- | $tar --delete ${release}/'Cargo.toml' \
| gzip > ${tarball})
echo "Running rat license checker on ${tarball}"
diff --git a/dev/release/verify-release-candidate.sh b/dev/release/verify-release-candidate.sh
index c42391222..2629d362a 100755
--- a/dev/release/verify-release-candidate.sh
+++ b/dev/release/verify-release-candidate.sh
@@ -105,10 +105,7 @@ test_source_distribution() {
# raises on any formatting errors
rustup component add rustfmt --toolchain stable
- (cd arrow && cargo fmt --check)
- (cd arrow-flight && cargo fmt --check)
- (cd parquet && cargo fmt --check)
- (cd parquet_derive && cargo fmt --check)
+ cargo fmt --all -- --check
# Clone testing repositories if not cloned already
git clone https://github.com/apache/arrow-testing.git arrow-testing-data
@@ -116,15 +113,7 @@ test_source_distribution() {
export ARROW_TEST_DATA=$PWD/arrow-testing-data/data
export PARQUET_TEST_DATA=$PWD/parquet-testing-data/data
- (cd arrow && cargo build && cargo test)
- (cd arrow-flight && cargo build && cargo test)
- # To avoid https://github.com/apache/arrow-rs/issues/3410,
- # remove path reference from parquet:
- # object_store = { version = "0.5", path = "../object_store", default-features = false, optional = true }
- # object_store = { version = "0.5", default-features = false, optional = true }
- sed -i -e 's/\(^object_store.*\)\(path = ".*", \)/\1/g' parquet/Cargo.toml
- (cd parquet && cargo build && cargo test)
- (cd parquet_derive && cargo build && cargo test)
+ cargo test --all
# verify that the leaf crates can be published to crates.io
# we can't verify crates that depend on others
diff --git a/parquet/Cargo.toml b/parquet/Cargo.toml
index be61a7cf1..ef5ea8cd1 100644
--- a/parquet/Cargo.toml
+++ b/parquet/Cargo.toml
@@ -43,7 +43,8 @@ arrow-data = { workspace = true, optional = true }
arrow-schema = { workspace = true, optional = true }
arrow-select = { workspace = true, optional = true }
arrow-ipc = { workspace = true, optional = true }
-object_store = { version = "0.5", path = "../object_store", default-features = false, optional = true }
+# Intentionally not a path dependency as object_store is released separately
+object_store = { version = "0.5", default-features = false, optional = true }
bytes = { version = "1.1", default-features = false, features = ["std"] }
thrift = { version = "0.17", default-features = false }