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 }