You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ji...@apache.org on 2024/12/01 14:03:02 UTC
(hadoop) 37/41: Integration of TOS: Shade tos dependencies.
This is an automated email from the ASF dual-hosted git repository.
jinglun pushed a commit to branch HADOOP-19236-original
in repository https://gitbox.apache.org/repos/asf/hadoop.git
commit 72b31bc7ce806a9a15a4c37da87e9b81537f8d9f
Author: Codebase CI <gi...@codebaseci.byted.org>
AuthorDate: Fri Nov 15 12:51:38 2024 +0000
Integration of TOS: Shade tos dependencies.
---
.../hadoop-tos/{ => hadoop-tos-core}/pom.xml | 100 +++--
.../java/org/apache/hadoop/fs/tosfs/RawFS.java | 0
.../org/apache/hadoop/fs/tosfs/RawFSUtils.java | 0
.../org/apache/hadoop/fs/tosfs/RawFileStatus.java | 0
.../org/apache/hadoop/fs/tosfs/RawFileSystem.java | 0
.../hadoop/fs/tosfs/RawLocatedFileStatus.java | 0
.../org/apache/hadoop/fs/tosfs/TosChecksum.java | 0
.../java/org/apache/hadoop/fs/tosfs/TosFS.java | 0
.../org/apache/hadoop/fs/tosfs/TosFileSystem.java | 0
.../hadoop/fs/tosfs/commit/CommitContext.java | 0
.../apache/hadoop/fs/tosfs/commit/CommitUtils.java | 0
.../apache/hadoop/fs/tosfs/commit/Committer.java | 0
.../hadoop/fs/tosfs/commit/CommitterFactory.java | 0
.../hadoop/fs/tosfs/commit/MagicOutputStream.java | 0
.../org/apache/hadoop/fs/tosfs/commit/Pending.java | 0
.../apache/hadoop/fs/tosfs/commit/PendingSet.java | 0
.../apache/hadoop/fs/tosfs/commit/SuccessData.java | 0
.../hadoop/fs/tosfs/commit/mapred/Committer.java | 0
.../hadoop/fs/tosfs/commit/ops/PendingOps.java | 0
.../fs/tosfs/commit/ops/PendingOpsFactory.java | 0
.../hadoop/fs/tosfs/commit/ops/RawPendingOps.java | 0
.../org/apache/hadoop/fs/tosfs/common/Bytes.java | 0
.../org/apache/hadoop/fs/tosfs/common/Chain.java | 0
.../org/apache/hadoop/fs/tosfs/common/Tasks.java | 0
.../apache/hadoop/fs/tosfs/common/ThreadPools.java | 0
.../apache/hadoop/fs/tosfs/conf/ArgumentKey.java | 0
.../org/apache/hadoop/fs/tosfs/conf/ConfKeys.java | 0
.../apache/hadoop/fs/tosfs/conf/FileStoreKeys.java | 0
.../org/apache/hadoop/fs/tosfs/conf/TosKeys.java | 0
.../apache/hadoop/fs/tosfs/object/BucketInfo.java | 0
.../hadoop/fs/tosfs/object/ChecksumInfo.java | 0
.../hadoop/fs/tosfs/object/ChecksumType.java | 0
.../apache/hadoop/fs/tosfs/object/Constants.java | 0
.../hadoop/fs/tosfs/object/DirectoryStorage.java | 0
.../apache/hadoop/fs/tosfs/object/FileStore.java | 0
.../fs/tosfs/object/InputStreamProvider.java | 0
.../hadoop/fs/tosfs/object/MultipartUpload.java | 0
.../hadoop/fs/tosfs/object/ObjectConstants.java | 0
.../hadoop/fs/tosfs/object/ObjectContent.java | 0
.../apache/hadoop/fs/tosfs/object/ObjectInfo.java | 0
.../tosfs/object/ObjectMultiRangeInputStream.java | 0
.../hadoop/fs/tosfs/object/ObjectOutputStream.java | 0
.../fs/tosfs/object/ObjectRangeInputStream.java | 0
.../hadoop/fs/tosfs/object/ObjectStorage.java | 0
.../fs/tosfs/object/ObjectStorageFactory.java | 0
.../apache/hadoop/fs/tosfs/object/ObjectUtils.java | 0
.../org/apache/hadoop/fs/tosfs/object/Part.java | 0
.../hadoop/fs/tosfs/object/PrefixStorage.java | 0
.../exceptions/ChecksumMismatchException.java | 0
.../exceptions/InvalidObjectKeyException.java | 0
.../object/exceptions/NotAppendableException.java | 0
.../tosfs/object/request/ListObjectsRequest.java | 0
.../tosfs/object/response/ListObjectsResponse.java | 0
.../fs/tosfs/object/staging/FileStagingPart.java | 0
.../fs/tosfs/object/staging/StagingPart.java | 0
.../hadoop/fs/tosfs/object/staging/State.java | 0
.../fs/tosfs/object/tos/ChainTOSInputStream.java | 0
.../fs/tosfs/object/tos/DelegationClient.java | 452 ++++++++++-----------
.../tosfs/object/tos/DelegationClientBuilder.java | 6 +-
.../fs/tosfs/object/tos/GetObjectOutput.java | 2 +-
.../org/apache/hadoop/fs/tosfs/object/tos/TOS.java | 90 ++--
.../hadoop/fs/tosfs/object/tos/TOSErrorCodes.java | 0
.../hadoop/fs/tosfs/object/tos/TOSInputStream.java | 0
.../hadoop/fs/tosfs/object/tos/TOSUtils.java | 4 +-
.../hadoop/fs/tosfs/object/tos/TosObjectInfo.java | 0
.../tos/auth/AbstractCredentialsProvider.java | 0
.../tosfs/object/tos/auth/CredentialsProvider.java | 2 +-
.../tos/auth/DefaultCredentialsProviderChain.java | 2 +-
.../tos/auth/EnvironmentCredentialsProvider.java | 0
.../object/tos/auth/ExpireableCredential.java | 2 +-
.../object/tos/auth/SimpleCredentialsProvider.java | 0
.../apache/hadoop/fs/tosfs/ops/DefaultFsOps.java | 0
.../apache/hadoop/fs/tosfs/ops/DirectoryFsOps.java | 0
.../java/org/apache/hadoop/fs/tosfs/ops/FsOps.java | 0
.../org/apache/hadoop/fs/tosfs/ops/RenameOp.java | 0
.../apache/hadoop/fs/tosfs/util/CommonUtils.java | 0
.../org/apache/hadoop/fs/tosfs/util/FSUtils.java | 0
.../org/apache/hadoop/fs/tosfs/util/FuseUtils.java | 0
.../org/apache/hadoop/fs/tosfs/util/Iterables.java | 0
.../org/apache/hadoop/fs/tosfs/util/JsonCodec.java | 0
.../apache/hadoop/fs/tosfs/util/LazyReload.java | 0
.../hadoop/fs/tosfs/util/LazyReloadIter.java | 0
.../apache/hadoop/fs/tosfs/util/ParseUtils.java | 0
.../org/apache/hadoop/fs/tosfs/util/Range.java | 0
.../org/apache/hadoop/fs/tosfs/util/Reload.java | 0
.../hadoop/fs/tosfs/util/RemoteIterators.java | 0
.../hadoop/fs/tosfs/util/RetryableUtils.java | 2 +-
.../apache/hadoop/fs/tosfs/util/Serializer.java | 0
.../fs/tosfs/util/TOSClientContextUtils.java | 0
.../org/apache/hadoop/fs/tosfs/util/UUIDUtils.java | 0
.../src/site/markdown/cloud-storage/index.md | 0
.../java/org/apache/hadoop/fs/tosfs/TestEnv.java | 0
.../org/apache/hadoop/fs/tosfs/TestRawFSUtils.java | 0
.../apache/hadoop/fs/tosfs/TestRawFileSystem.java | 0
.../apache/hadoop/fs/tosfs/TestTosChecksum.java | 0
.../apache/hadoop/fs/tosfs/TestTosFileSystem.java | 0
.../hadoop/fs/tosfs/commit/BaseJobSuite.java | 0
.../hadoop/fs/tosfs/commit/CommitterTestBase.java | 0
.../apache/hadoop/fs/tosfs/commit/JobSuite.java | 0
.../hadoop/fs/tosfs/commit/MRJobTestBase.java | 0
.../hadoop/fs/tosfs/commit/TestCommitter.java | 0
.../apache/hadoop/fs/tosfs/commit/TestMRJob.java | 0
.../fs/tosfs/commit/TestMagicOutputStream.java | 0
.../fs/tosfs/commit/mapred/CommitterTestBase.java | 0
.../hadoop/fs/tosfs/commit/mapred/JobSuite.java | 0
.../fs/tosfs/commit/mapred/TestCommitter.java | 0
.../hadoop/fs/tosfs/contract/TestChecksum.java | 0
.../hadoop/fs/tosfs/contract/TestCreate.java | 0
.../hadoop/fs/tosfs/contract/TestDelete.java | 0
.../hadoop/fs/tosfs/contract/TestDistCp.java | 0
.../fs/tosfs/contract/TestGetFileStatus.java | 0
.../apache/hadoop/fs/tosfs/contract/TestMkdir.java | 0
.../apache/hadoop/fs/tosfs/contract/TestOpen.java | 0
.../hadoop/fs/tosfs/contract/TestRename.java | 0
.../hadoop/fs/tosfs/contract/TestRootDir.java | 0
.../apache/hadoop/fs/tosfs/contract/TestSeek.java | 0
.../hadoop/fs/tosfs/contract/TestUnbuffer.java | 0
.../apache/hadoop/fs/tosfs/contract/TestXAttr.java | 0
.../hadoop/fs/tosfs/contract/TosContract.java | 0
.../fs/tosfs/object/ObjectStorageTestBase.java | 0
.../hadoop/fs/tosfs/object/ObjectTestUtils.java | 0
.../fs/tosfs/object/TestDirectoryStorage.java | 0
.../object/TestObjectMultiRangeInputStream.java | 0
.../fs/tosfs/object/TestObjectOutputStream.java | 0
.../tosfs/object/TestObjectRangeInputStream.java | 0
.../hadoop/fs/tosfs/object/TestObjectStorage.java | 2 +-
.../tosfs/object/tos/TestChainTOSInputStream.java | 4 +-
.../object/tos/TestDelegationClientBuilder.java | 28 +-
.../fs/tosfs/object/tos/TestTOSInputStream.java | 6 +-
.../fs/tosfs/object/tos/TestTOSObjectStorage.java | 2 +-
.../fs/tosfs/object/tos/TestTOSRetryPolicy.java | 14 +-
.../tos/auth/TestAbstractCredentialsProvider.java | 0
.../auth/TestDefaultCredentialsProviderChain.java | 2 +-
.../auth/TestEnvironmentCredentialsProvider.java | 0
.../tos/auth/TestSimpleCredentialsProvider.java | 2 +-
.../apache/hadoop/fs/tosfs/ops/TestBaseFsOps.java | 0
.../apache/hadoop/fs/tosfs/ops/TestBaseOps.java | 0
.../hadoop/fs/tosfs/ops/TestDefaultFsOps.java | 0
.../hadoop/fs/tosfs/ops/TestDirectoryFsOps.java | 0
.../apache/hadoop/fs/tosfs/ops/TestRenameOp.java | 0
.../org/apache/hadoop/fs/tosfs/util/TempFiles.java | 0
.../apache/hadoop/fs/tosfs/util/TestFSUtils.java | 0
.../apache/hadoop/fs/tosfs/util/TestIterables.java | 0
.../hadoop/fs/tosfs/util/TestLazyReload.java | 0
.../org/apache/hadoop/fs/tosfs/util/TestRange.java | 0
.../apache/hadoop/fs/tosfs/util/TestUtility.java | 0
.../src/test/resources/contract/tos.xml | 0
.../src/test/resources/core-site.xml | 0
.../src/test/resources/log4j.properties | 0
.../hadoop-tos/hadoop-tos-shade/pom.xml | 129 ++++++
hadoop-cloud-storage-project/hadoop-tos/pom.xml | 96 +----
hadoop-project/pom.xml | 12 +
pom.xml | 7 +
153 files changed, 539 insertions(+), 427 deletions(-)
diff --git a/hadoop-cloud-storage-project/hadoop-tos/pom.xml b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/pom.xml
similarity index 63%
copy from hadoop-cloud-storage-project/hadoop-tos/pom.xml
copy to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/pom.xml
index 86994472595..b8739880c44 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/pom.xml
+++ b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/pom.xml
@@ -20,12 +20,12 @@
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-project</artifactId>
<version>3.5.0-SNAPSHOT</version>
- <relativePath>../../hadoop-project</relativePath>
+ <relativePath>../../../hadoop-project/pom.xml</relativePath>
</parent>
- <artifactId>hadoop-tos</artifactId>
+ <artifactId>hadoop-tos-core</artifactId>
<version>3.5.0-SNAPSHOT</version>
- <name>Apache Hadoop Volcano Engine Services support</name>
+ <name>Apache Hadoop Volcano Engine Services Core</name>
<description>
This module contains code to support integration with Volcano Engine TOS.
It also declares the dependencies needed to work with Volcano Engine services.
@@ -35,8 +35,22 @@
<properties>
<file.encoding>UTF-8</file.encoding>
<ve-tos-java-sdk.version>2.8.6</ve-tos-java-sdk.version>
+ <tos.shading.prefix>org.apache.hadoop.fs.tosfs.shaded</tos.shading.prefix>
</properties>
+ <dependencyManagement>
+ <dependencies>
+ <!-- The ve-tos-java-sdk 2.8.6 depends on okhttp, but okhttp violates dependency convergence.
+ The com.squareup.okhttp3:okhttp:jar:4.10.0 depends on org.jetbrains.kotlin:kotlin-stdlib-common,
+ with 2 different versions: 1.5.31 and 1.6.20. Force configure it to 1.6.20. -->
+ <dependency>
+ <groupId>org.jetbrains.kotlin</groupId>
+ <artifactId>kotlin-stdlib-common</artifactId>
+ <version>1.6.20</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
@@ -48,7 +62,29 @@
<artifactId>hadoop-mapreduce-client-core</artifactId>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-tos-shade</artifactId>
+ <exclusions>
+ <exclusion>
+ <!-- Provided by hadoop-common -->
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-annotations</artifactId>
+ </exclusion>
+ <exclusion>
+ <!-- Provided by hadoop-common -->
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ </exclusion>
+ <!-- Provided by hadoop-common -->
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <!-- Test dependencies -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
@@ -66,17 +102,18 @@
<artifactId>hadoop-minicluster</artifactId>
<scope>test</scope>
</dependency>
-
<dependency>
- <groupId>com.volcengine</groupId>
- <artifactId>ve-tos-java-sdk</artifactId>
- <version>${ve-tos-java-sdk.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.jetbrains.kotlin</groupId>
- <artifactId>kotlin-stdlib-common</artifactId>
- </exclusion>
- </exclusions>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-distcp</artifactId>
+ <version>${hadoop.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-distcp</artifactId>
+ <version>${hadoop.version}</version>
+ <scope>test</scope>
+ <type>test-jar</type>
</dependency>
<dependency>
@@ -94,19 +131,6 @@
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-distcp</artifactId>
- <version>${hadoop.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-distcp</artifactId>
- <version>${hadoop.version}</version>
- <scope>test</scope>
- <type>test-jar</type>
- </dependency>
</dependencies>
<build>
@@ -124,6 +148,30 @@
<argLine>-Xmx2048m</argLine>
</configuration>
</plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>${maven-shade-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>package-dependency</id>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <shadeSourcesContent>true</shadeSourcesContent>
+ <createSourcesJar>true</createSourcesJar>
+ <artifactSet>
+ <includes>
+ <include>org.apache.hadoop:hadoop-tos-shade</include>
+ </includes>
+ </artifactSet>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</project>
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/RawFS.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/RawFS.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/RawFS.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/RawFS.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/RawFSUtils.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/RawFSUtils.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/RawFSUtils.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/RawFSUtils.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/RawFileStatus.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/RawFileStatus.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/RawFileStatus.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/RawFileStatus.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/RawFileSystem.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/RawFileSystem.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/RawFileSystem.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/RawFileSystem.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/RawLocatedFileStatus.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/RawLocatedFileStatus.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/RawLocatedFileStatus.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/RawLocatedFileStatus.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/TosChecksum.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/TosChecksum.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/TosChecksum.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/TosChecksum.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/TosFS.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/TosFS.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/TosFS.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/TosFS.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/TosFileSystem.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/TosFileSystem.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/TosFileSystem.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/TosFileSystem.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/CommitContext.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/CommitContext.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/CommitContext.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/CommitContext.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/CommitUtils.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/CommitUtils.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/CommitUtils.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/CommitUtils.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/Committer.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/Committer.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/Committer.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/Committer.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/CommitterFactory.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/CommitterFactory.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/CommitterFactory.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/CommitterFactory.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/MagicOutputStream.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/MagicOutputStream.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/MagicOutputStream.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/MagicOutputStream.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/Pending.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/Pending.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/Pending.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/Pending.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/PendingSet.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/PendingSet.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/PendingSet.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/PendingSet.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/SuccessData.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/SuccessData.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/SuccessData.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/SuccessData.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/mapred/Committer.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/mapred/Committer.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/mapred/Committer.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/mapred/Committer.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/ops/PendingOps.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/ops/PendingOps.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/ops/PendingOps.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/ops/PendingOps.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/ops/PendingOpsFactory.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/ops/PendingOpsFactory.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/ops/PendingOpsFactory.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/ops/PendingOpsFactory.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/ops/RawPendingOps.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/ops/RawPendingOps.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/commit/ops/RawPendingOps.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/commit/ops/RawPendingOps.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/common/Bytes.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/common/Bytes.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/common/Bytes.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/common/Bytes.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/common/Chain.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/common/Chain.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/common/Chain.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/common/Chain.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/common/Tasks.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/common/Tasks.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/common/Tasks.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/common/Tasks.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/common/ThreadPools.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/common/ThreadPools.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/common/ThreadPools.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/common/ThreadPools.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/conf/ArgumentKey.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/conf/ArgumentKey.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/conf/ArgumentKey.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/conf/ArgumentKey.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/conf/ConfKeys.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/conf/ConfKeys.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/conf/ConfKeys.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/conf/ConfKeys.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/conf/FileStoreKeys.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/conf/FileStoreKeys.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/conf/FileStoreKeys.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/conf/FileStoreKeys.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/conf/TosKeys.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/conf/TosKeys.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/conf/TosKeys.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/conf/TosKeys.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/BucketInfo.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/BucketInfo.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/BucketInfo.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/BucketInfo.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ChecksumInfo.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ChecksumInfo.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ChecksumInfo.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ChecksumInfo.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ChecksumType.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ChecksumType.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ChecksumType.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ChecksumType.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/Constants.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/Constants.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/Constants.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/Constants.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/DirectoryStorage.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/DirectoryStorage.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/DirectoryStorage.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/DirectoryStorage.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/FileStore.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/FileStore.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/FileStore.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/FileStore.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/InputStreamProvider.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/InputStreamProvider.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/InputStreamProvider.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/InputStreamProvider.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/MultipartUpload.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/MultipartUpload.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/MultipartUpload.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/MultipartUpload.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectConstants.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectConstants.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectConstants.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectConstants.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectContent.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectContent.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectContent.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectContent.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectInfo.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectInfo.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectInfo.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectInfo.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectMultiRangeInputStream.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectMultiRangeInputStream.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectMultiRangeInputStream.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectMultiRangeInputStream.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectOutputStream.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectOutputStream.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectOutputStream.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectOutputStream.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectRangeInputStream.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectRangeInputStream.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectRangeInputStream.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectRangeInputStream.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectStorage.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectStorage.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectStorage.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectStorage.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectStorageFactory.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectStorageFactory.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectStorageFactory.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectStorageFactory.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectUtils.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectUtils.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectUtils.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/ObjectUtils.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/Part.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/Part.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/Part.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/Part.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/PrefixStorage.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/PrefixStorage.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/PrefixStorage.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/PrefixStorage.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/exceptions/ChecksumMismatchException.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/exceptions/ChecksumMismatchException.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/exceptions/ChecksumMismatchException.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/exceptions/ChecksumMismatchException.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/exceptions/InvalidObjectKeyException.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/exceptions/InvalidObjectKeyException.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/exceptions/InvalidObjectKeyException.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/exceptions/InvalidObjectKeyException.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/exceptions/NotAppendableException.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/exceptions/NotAppendableException.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/exceptions/NotAppendableException.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/exceptions/NotAppendableException.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/request/ListObjectsRequest.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/request/ListObjectsRequest.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/request/ListObjectsRequest.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/request/ListObjectsRequest.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/response/ListObjectsResponse.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/response/ListObjectsResponse.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/response/ListObjectsResponse.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/response/ListObjectsResponse.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/staging/FileStagingPart.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/staging/FileStagingPart.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/staging/FileStagingPart.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/staging/FileStagingPart.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/staging/StagingPart.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/staging/StagingPart.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/staging/StagingPart.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/staging/StagingPart.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/staging/State.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/staging/State.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/staging/State.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/staging/State.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/ChainTOSInputStream.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/ChainTOSInputStream.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/ChainTOSInputStream.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/ChainTOSInputStream.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/DelegationClient.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/DelegationClient.java
similarity index 60%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/DelegationClient.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/DelegationClient.java
index 884e98535da..be8274939ac 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/DelegationClient.java
+++ b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/DelegationClient.java
@@ -18,232 +18,232 @@
package org.apache.hadoop.fs.tosfs.object.tos;
-import com.volcengine.tos.TOSClientConfiguration;
-import com.volcengine.tos.TOSV2ClientBuilder;
-import com.volcengine.tos.TosClientException;
-import com.volcengine.tos.TosException;
-import com.volcengine.tos.TosServerException;
-import com.volcengine.tos.auth.Credential;
-import com.volcengine.tos.auth.Credentials;
-import com.volcengine.tos.TOSV2;
-import com.volcengine.tos.comm.HttpStatus;
-import com.volcengine.tos.comm.common.ACLType;
-import com.volcengine.tos.internal.RequestOptionsBuilder;
-import com.volcengine.tos.model.acl.GetObjectAclOutput;
-import com.volcengine.tos.model.acl.PutObjectAclInput;
-import com.volcengine.tos.model.acl.PutObjectAclOutput;
-import com.volcengine.tos.model.bucket.CreateBucketInput;
-import com.volcengine.tos.model.bucket.CreateBucketOutput;
-import com.volcengine.tos.model.bucket.CreateBucketV2Input;
-import com.volcengine.tos.model.bucket.CreateBucketV2Output;
-import com.volcengine.tos.model.bucket.DeleteBucketCORSInput;
-import com.volcengine.tos.model.bucket.DeleteBucketCORSOutput;
-import com.volcengine.tos.model.bucket.DeleteBucketCustomDomainInput;
-import com.volcengine.tos.model.bucket.DeleteBucketCustomDomainOutput;
-import com.volcengine.tos.model.bucket.DeleteBucketEncryptionInput;
-import com.volcengine.tos.model.bucket.DeleteBucketEncryptionOutput;
-import com.volcengine.tos.model.bucket.DeleteBucketInput;
-import com.volcengine.tos.model.bucket.DeleteBucketInventoryInput;
-import com.volcengine.tos.model.bucket.DeleteBucketInventoryOutput;
-import com.volcengine.tos.model.bucket.DeleteBucketLifecycleInput;
-import com.volcengine.tos.model.bucket.DeleteBucketLifecycleOutput;
-import com.volcengine.tos.model.bucket.DeleteBucketMirrorBackInput;
-import com.volcengine.tos.model.bucket.DeleteBucketMirrorBackOutput;
-import com.volcengine.tos.model.bucket.DeleteBucketOutput;
-import com.volcengine.tos.model.bucket.DeleteBucketPolicyInput;
-import com.volcengine.tos.model.bucket.DeleteBucketPolicyOutput;
-import com.volcengine.tos.model.bucket.DeleteBucketRealTimeLogInput;
-import com.volcengine.tos.model.bucket.DeleteBucketRealTimeLogOutput;
-import com.volcengine.tos.model.bucket.DeleteBucketRenameInput;
-import com.volcengine.tos.model.bucket.DeleteBucketRenameOutput;
-import com.volcengine.tos.model.bucket.DeleteBucketReplicationInput;
-import com.volcengine.tos.model.bucket.DeleteBucketReplicationOutput;
-import com.volcengine.tos.model.bucket.DeleteBucketTaggingInput;
-import com.volcengine.tos.model.bucket.DeleteBucketTaggingOutput;
-import com.volcengine.tos.model.bucket.DeleteBucketWebsiteInput;
-import com.volcengine.tos.model.bucket.DeleteBucketWebsiteOutput;
-import com.volcengine.tos.model.bucket.GetBucketACLInput;
-import com.volcengine.tos.model.bucket.GetBucketACLOutput;
-import com.volcengine.tos.model.bucket.GetBucketCORSInput;
-import com.volcengine.tos.model.bucket.GetBucketCORSOutput;
-import com.volcengine.tos.model.bucket.GetBucketEncryptionInput;
-import com.volcengine.tos.model.bucket.GetBucketEncryptionOutput;
-import com.volcengine.tos.model.bucket.GetBucketInventoryInput;
-import com.volcengine.tos.model.bucket.GetBucketInventoryOutput;
-import com.volcengine.tos.model.bucket.GetBucketLifecycleInput;
-import com.volcengine.tos.model.bucket.GetBucketLifecycleOutput;
-import com.volcengine.tos.model.bucket.GetBucketLocationInput;
-import com.volcengine.tos.model.bucket.GetBucketLocationOutput;
-import com.volcengine.tos.model.bucket.GetBucketMirrorBackInput;
-import com.volcengine.tos.model.bucket.GetBucketMirrorBackOutput;
-import com.volcengine.tos.model.bucket.GetBucketNotificationInput;
-import com.volcengine.tos.model.bucket.GetBucketNotificationOutput;
-import com.volcengine.tos.model.bucket.GetBucketNotificationType2Input;
-import com.volcengine.tos.model.bucket.GetBucketNotificationType2Output;
-import com.volcengine.tos.model.bucket.GetBucketPolicyInput;
-import com.volcengine.tos.model.bucket.GetBucketPolicyOutput;
-import com.volcengine.tos.model.bucket.GetBucketRealTimeLogInput;
-import com.volcengine.tos.model.bucket.GetBucketRealTimeLogOutput;
-import com.volcengine.tos.model.bucket.GetBucketRenameInput;
-import com.volcengine.tos.model.bucket.GetBucketRenameOutput;
-import com.volcengine.tos.model.bucket.GetBucketReplicationInput;
-import com.volcengine.tos.model.bucket.GetBucketReplicationOutput;
-import com.volcengine.tos.model.bucket.GetBucketTaggingInput;
-import com.volcengine.tos.model.bucket.GetBucketTaggingOutput;
-import com.volcengine.tos.model.bucket.GetBucketVersioningInput;
-import com.volcengine.tos.model.bucket.GetBucketVersioningOutput;
-import com.volcengine.tos.model.bucket.GetBucketWebsiteInput;
-import com.volcengine.tos.model.bucket.GetBucketWebsiteOutput;
-import com.volcengine.tos.model.bucket.HeadBucketOutput;
-import com.volcengine.tos.model.bucket.HeadBucketV2Input;
-import com.volcengine.tos.model.bucket.HeadBucketV2Output;
-import com.volcengine.tos.model.bucket.ListBucketCustomDomainInput;
-import com.volcengine.tos.model.bucket.ListBucketCustomDomainOutput;
-import com.volcengine.tos.model.bucket.ListBucketInventoryInput;
-import com.volcengine.tos.model.bucket.ListBucketInventoryOutput;
-import com.volcengine.tos.model.bucket.ListBucketsInput;
-import com.volcengine.tos.model.bucket.ListBucketsOutput;
-import com.volcengine.tos.model.bucket.ListBucketsV2Input;
-import com.volcengine.tos.model.bucket.ListBucketsV2Output;
-import com.volcengine.tos.model.bucket.PutBucketACLInput;
-import com.volcengine.tos.model.bucket.PutBucketACLOutput;
-import com.volcengine.tos.model.bucket.PutBucketCORSInput;
-import com.volcengine.tos.model.bucket.PutBucketCORSOutput;
-import com.volcengine.tos.model.bucket.PutBucketCustomDomainInput;
-import com.volcengine.tos.model.bucket.PutBucketCustomDomainOutput;
-import com.volcengine.tos.model.bucket.PutBucketEncryptionInput;
-import com.volcengine.tos.model.bucket.PutBucketEncryptionOutput;
-import com.volcengine.tos.model.bucket.PutBucketInventoryInput;
-import com.volcengine.tos.model.bucket.PutBucketInventoryOutput;
-import com.volcengine.tos.model.bucket.PutBucketLifecycleInput;
-import com.volcengine.tos.model.bucket.PutBucketLifecycleOutput;
-import com.volcengine.tos.model.bucket.PutBucketMirrorBackInput;
-import com.volcengine.tos.model.bucket.PutBucketMirrorBackOutput;
-import com.volcengine.tos.model.bucket.PutBucketNotificationInput;
-import com.volcengine.tos.model.bucket.PutBucketNotificationOutput;
-import com.volcengine.tos.model.bucket.PutBucketNotificationType2Input;
-import com.volcengine.tos.model.bucket.PutBucketNotificationType2Output;
-import com.volcengine.tos.model.bucket.PutBucketPolicyInput;
-import com.volcengine.tos.model.bucket.PutBucketPolicyOutput;
-import com.volcengine.tos.model.bucket.PutBucketRealTimeLogInput;
-import com.volcengine.tos.model.bucket.PutBucketRealTimeLogOutput;
-import com.volcengine.tos.model.bucket.PutBucketRenameInput;
-import com.volcengine.tos.model.bucket.PutBucketRenameOutput;
-import com.volcengine.tos.model.bucket.PutBucketReplicationInput;
-import com.volcengine.tos.model.bucket.PutBucketReplicationOutput;
-import com.volcengine.tos.model.bucket.PutBucketStorageClassInput;
-import com.volcengine.tos.model.bucket.PutBucketStorageClassOutput;
-import com.volcengine.tos.model.bucket.PutBucketTaggingInput;
-import com.volcengine.tos.model.bucket.PutBucketTaggingOutput;
-import com.volcengine.tos.model.bucket.PutBucketVersioningInput;
-import com.volcengine.tos.model.bucket.PutBucketVersioningOutput;
-import com.volcengine.tos.model.bucket.PutBucketWebsiteInput;
-import com.volcengine.tos.model.bucket.PutBucketWebsiteOutput;
-import com.volcengine.tos.model.object.AbortMultipartUploadInput;
-import com.volcengine.tos.model.object.AbortMultipartUploadOutput;
-import com.volcengine.tos.model.object.AppendObjectInput;
-import com.volcengine.tos.model.object.AppendObjectOutput;
-import com.volcengine.tos.model.object.CompleteMultipartUploadInput;
-import com.volcengine.tos.model.object.CompleteMultipartUploadOutput;
-import com.volcengine.tos.model.object.CompleteMultipartUploadV2Input;
-import com.volcengine.tos.model.object.CompleteMultipartUploadV2Output;
-import com.volcengine.tos.model.object.CopyObjectOutput;
-import com.volcengine.tos.model.object.CopyObjectV2Input;
-import com.volcengine.tos.model.object.CopyObjectV2Output;
-import com.volcengine.tos.model.object.CreateMultipartUploadInput;
-import com.volcengine.tos.model.object.CreateMultipartUploadOutput;
-import com.volcengine.tos.model.object.DeleteMultiObjectsInput;
-import com.volcengine.tos.model.object.DeleteMultiObjectsOutput;
-import com.volcengine.tos.model.object.DeleteMultiObjectsV2Input;
-import com.volcengine.tos.model.object.DeleteMultiObjectsV2Output;
-import com.volcengine.tos.model.object.DeleteObjectInput;
-import com.volcengine.tos.model.object.DeleteObjectOutput;
-import com.volcengine.tos.model.object.DeleteObjectTaggingInput;
-import com.volcengine.tos.model.object.DeleteObjectTaggingOutput;
-import com.volcengine.tos.model.object.DownloadFileInput;
-import com.volcengine.tos.model.object.DownloadFileOutput;
-import com.volcengine.tos.model.object.FetchObjectInput;
-import com.volcengine.tos.model.object.FetchObjectOutput;
-import com.volcengine.tos.model.object.GetFetchTaskInput;
-import com.volcengine.tos.model.object.GetFetchTaskOutput;
-import com.volcengine.tos.model.object.GetFileStatusInput;
-import com.volcengine.tos.model.object.GetFileStatusOutput;
-import com.volcengine.tos.model.object.GetObjectACLV2Input;
-import com.volcengine.tos.model.object.GetObjectACLV2Output;
-import com.volcengine.tos.model.object.GetObjectOutput;
-import com.volcengine.tos.model.object.GetObjectTaggingInput;
-import com.volcengine.tos.model.object.GetObjectTaggingOutput;
-import com.volcengine.tos.model.object.GetObjectToFileInput;
-import com.volcengine.tos.model.object.GetObjectToFileOutput;
-import com.volcengine.tos.model.object.GetObjectV2Input;
-import com.volcengine.tos.model.object.GetObjectV2Output;
-import com.volcengine.tos.model.object.GetSymlinkInput;
-import com.volcengine.tos.model.object.GetSymlinkOutput;
-import com.volcengine.tos.model.object.HeadObjectOutput;
-import com.volcengine.tos.model.object.HeadObjectV2Input;
-import com.volcengine.tos.model.object.HeadObjectV2Output;
-import com.volcengine.tos.model.object.ListMultipartUploadsInput;
-import com.volcengine.tos.model.object.ListMultipartUploadsOutput;
-import com.volcengine.tos.model.object.ListMultipartUploadsV2Input;
-import com.volcengine.tos.model.object.ListMultipartUploadsV2Output;
-import com.volcengine.tos.model.object.ListObjectVersionsInput;
-import com.volcengine.tos.model.object.ListObjectVersionsOutput;
-import com.volcengine.tos.model.object.ListObjectVersionsV2Input;
-import com.volcengine.tos.model.object.ListObjectVersionsV2Output;
-import com.volcengine.tos.model.object.ListObjectsInput;
-import com.volcengine.tos.model.object.ListObjectsOutput;
-import com.volcengine.tos.model.object.ListObjectsType2Input;
-import com.volcengine.tos.model.object.ListObjectsType2Output;
-import com.volcengine.tos.model.object.ListObjectsV2Input;
-import com.volcengine.tos.model.object.ListObjectsV2Output;
-import com.volcengine.tos.model.object.ListPartsInput;
-import com.volcengine.tos.model.object.ListPartsOutput;
-import com.volcengine.tos.model.object.ListUploadedPartsInput;
-import com.volcengine.tos.model.object.ListUploadedPartsOutput;
-import com.volcengine.tos.model.object.ObjectMetaRequestOptions;
-import com.volcengine.tos.model.object.PreSignedPolicyURLInput;
-import com.volcengine.tos.model.object.PreSignedPolicyURLOutput;
-import com.volcengine.tos.model.object.PreSignedPostSignatureInput;
-import com.volcengine.tos.model.object.PreSignedPostSignatureOutput;
-import com.volcengine.tos.model.object.PreSignedURLInput;
-import com.volcengine.tos.model.object.PreSignedURLOutput;
-import com.volcengine.tos.model.object.PreSingedPolicyURLInput;
-import com.volcengine.tos.model.object.PreSingedPolicyURLOutput;
-import com.volcengine.tos.model.object.PutFetchTaskInput;
-import com.volcengine.tos.model.object.PutFetchTaskOutput;
-import com.volcengine.tos.model.object.PutObjectACLInput;
-import com.volcengine.tos.model.object.PutObjectACLOutput;
-import com.volcengine.tos.model.object.PutObjectFromFileInput;
-import com.volcengine.tos.model.object.PutObjectFromFileOutput;
-import com.volcengine.tos.model.object.PutObjectInput;
-import com.volcengine.tos.model.object.PutObjectOutput;
-import com.volcengine.tos.model.object.PutObjectTaggingInput;
-import com.volcengine.tos.model.object.PutObjectTaggingOutput;
-import com.volcengine.tos.model.object.PutSymlinkInput;
-import com.volcengine.tos.model.object.PutSymlinkOutput;
-import com.volcengine.tos.model.object.RenameObjectInput;
-import com.volcengine.tos.model.object.RenameObjectOutput;
-import com.volcengine.tos.model.object.RestoreObjectInput;
-import com.volcengine.tos.model.object.RestoreObjectOutput;
-import com.volcengine.tos.model.object.ResumableCopyObjectInput;
-import com.volcengine.tos.model.object.ResumableCopyObjectOutput;
-import com.volcengine.tos.model.object.SetObjectMetaInput;
-import com.volcengine.tos.model.object.SetObjectMetaOutput;
-import com.volcengine.tos.model.object.UploadFileInput;
-import com.volcengine.tos.model.object.UploadFileOutput;
-import com.volcengine.tos.model.object.UploadFileV2Input;
-import com.volcengine.tos.model.object.UploadFileV2Output;
-import com.volcengine.tos.model.object.UploadPartCopyInput;
-import com.volcengine.tos.model.object.UploadPartCopyOutput;
-import com.volcengine.tos.model.object.UploadPartCopyV2Input;
-import com.volcengine.tos.model.object.UploadPartCopyV2Output;
-import com.volcengine.tos.model.object.UploadPartFromFileInput;
-import com.volcengine.tos.model.object.UploadPartFromFileOutput;
-import com.volcengine.tos.model.object.UploadPartInput;
-import com.volcengine.tos.model.object.UploadPartOutput;
-import com.volcengine.tos.model.object.UploadPartV2Input;
-import com.volcengine.tos.model.object.UploadPartV2Output;
-import com.volcengine.tos.transport.TransportConfig;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TOSClientConfiguration;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TOSV2ClientBuilder;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TosClientException;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TosException;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TosServerException;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.auth.Credential;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.auth.Credentials;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TOSV2;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.comm.HttpStatus;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.comm.common.ACLType;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.internal.RequestOptionsBuilder;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.acl.GetObjectAclOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.acl.PutObjectAclInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.acl.PutObjectAclOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.CreateBucketInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.CreateBucketOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.CreateBucketV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.CreateBucketV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketCORSInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketCORSOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketCustomDomainInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketCustomDomainOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketEncryptionInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketEncryptionOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketInventoryInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketInventoryOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketLifecycleInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketLifecycleOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketMirrorBackInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketMirrorBackOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketPolicyInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketPolicyOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketRealTimeLogInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketRealTimeLogOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketRenameInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketRenameOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketReplicationInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketReplicationOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketTaggingInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketTaggingOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketWebsiteInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.DeleteBucketWebsiteOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketACLInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketACLOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketCORSInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketCORSOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketEncryptionInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketEncryptionOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketInventoryInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketInventoryOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketLifecycleInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketLifecycleOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketLocationInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketLocationOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketMirrorBackInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketMirrorBackOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketNotificationInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketNotificationOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketNotificationType2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketNotificationType2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketPolicyInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketPolicyOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketRealTimeLogInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketRealTimeLogOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketRenameInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketRenameOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketReplicationInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketReplicationOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketTaggingInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketTaggingOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketVersioningInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketVersioningOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketWebsiteInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.GetBucketWebsiteOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.HeadBucketOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.HeadBucketV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.HeadBucketV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.ListBucketCustomDomainInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.ListBucketCustomDomainOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.ListBucketInventoryInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.ListBucketInventoryOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.ListBucketsInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.ListBucketsOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.ListBucketsV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.ListBucketsV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketACLInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketACLOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketCORSInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketCORSOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketCustomDomainInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketCustomDomainOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketEncryptionInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketEncryptionOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketInventoryInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketInventoryOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketLifecycleInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketLifecycleOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketMirrorBackInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketMirrorBackOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketNotificationInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketNotificationOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketNotificationType2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketNotificationType2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketPolicyInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketPolicyOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketRealTimeLogInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketRealTimeLogOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketRenameInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketRenameOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketReplicationInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketReplicationOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketStorageClassInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketStorageClassOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketTaggingInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketTaggingOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketVersioningInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketVersioningOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketWebsiteInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.PutBucketWebsiteOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.AbortMultipartUploadInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.AbortMultipartUploadOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.AppendObjectInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.AppendObjectOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.CompleteMultipartUploadInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.CompleteMultipartUploadOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.CompleteMultipartUploadV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.CompleteMultipartUploadV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.CopyObjectOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.CopyObjectV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.CopyObjectV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.CreateMultipartUploadInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.CreateMultipartUploadOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.DeleteMultiObjectsInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.DeleteMultiObjectsOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.DeleteMultiObjectsV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.DeleteMultiObjectsV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.DeleteObjectInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.DeleteObjectOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.DeleteObjectTaggingInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.DeleteObjectTaggingOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.DownloadFileInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.DownloadFileOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.FetchObjectInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.FetchObjectOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetFetchTaskInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetFetchTaskOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetFileStatusInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetFileStatusOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetObjectACLV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetObjectACLV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetObjectOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetObjectTaggingInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetObjectTaggingOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetObjectToFileInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetObjectToFileOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetObjectV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetObjectV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetSymlinkInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetSymlinkOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.HeadObjectOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.HeadObjectV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.HeadObjectV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListMultipartUploadsInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListMultipartUploadsOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListMultipartUploadsV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListMultipartUploadsV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListObjectVersionsInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListObjectVersionsOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListObjectVersionsV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListObjectVersionsV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListObjectsInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListObjectsOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListObjectsType2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListObjectsType2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListObjectsV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListObjectsV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListPartsInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListPartsOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListUploadedPartsInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListUploadedPartsOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ObjectMetaRequestOptions;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PreSignedPolicyURLInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PreSignedPolicyURLOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PreSignedPostSignatureInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PreSignedPostSignatureOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PreSignedURLInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PreSignedURLOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PreSingedPolicyURLInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PreSingedPolicyURLOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PutFetchTaskInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PutFetchTaskOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PutObjectACLInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PutObjectACLOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PutObjectFromFileInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PutObjectFromFileOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PutObjectInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PutObjectOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PutObjectTaggingInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PutObjectTaggingOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PutSymlinkInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PutSymlinkOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.RenameObjectInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.RenameObjectOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.RestoreObjectInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.RestoreObjectOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ResumableCopyObjectInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ResumableCopyObjectOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.SetObjectMetaInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.SetObjectMetaOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.UploadFileInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.UploadFileOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.UploadFileV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.UploadFileV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.UploadPartCopyInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.UploadPartCopyOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.UploadPartCopyV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.UploadPartCopyV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.UploadPartFromFileInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.UploadPartFromFileOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.UploadPartInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.UploadPartOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.UploadPartV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.UploadPartV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.transport.TransportConfig;
import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.classification.VisibleForTesting;
import org.apache.hadoop.fs.tosfs.object.InputStreamProvider;
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/DelegationClientBuilder.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/DelegationClientBuilder.java
similarity index 96%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/DelegationClientBuilder.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/DelegationClientBuilder.java
index 58b99eb0892..209053033a6 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/DelegationClientBuilder.java
+++ b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/DelegationClientBuilder.java
@@ -18,9 +18,9 @@
package org.apache.hadoop.fs.tosfs.object.tos;
-import com.volcengine.tos.TOSClientConfiguration;
-import com.volcengine.tos.TosException;
-import com.volcengine.tos.transport.TransportConfig;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TOSClientConfiguration;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TosException;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.transport.TransportConfig;
import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.classification.VisibleForTesting;
import org.apache.hadoop.conf.Configuration;
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/GetObjectOutput.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/GetObjectOutput.java
similarity index 95%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/GetObjectOutput.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/GetObjectOutput.java
index 6a525d7beff..6b0eb2d32eb 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/GetObjectOutput.java
+++ b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/GetObjectOutput.java
@@ -18,7 +18,7 @@
package org.apache.hadoop.fs.tosfs.object.tos;
-import com.volcengine.tos.model.object.GetObjectV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetObjectV2Output;
import org.apache.hadoop.fs.tosfs.object.exceptions.ChecksumMismatchException;
import org.apache.hadoop.fs.tosfs.util.CommonUtils;
import org.apache.hadoop.util.Preconditions;
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOS.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOS.java
similarity index 89%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOS.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOS.java
index 06a52f0f7c7..f0e70737502 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOS.java
+++ b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOS.java
@@ -16,51 +16,51 @@
package org.apache.hadoop.fs.tosfs.object.tos;
-import com.volcengine.tos.TOSV2;
-import com.volcengine.tos.TosException;
-import com.volcengine.tos.TosServerException;
-import com.volcengine.tos.comm.common.ACLType;
-import com.volcengine.tos.comm.common.BucketType;
-import com.volcengine.tos.internal.util.TypeConverter;
-import com.volcengine.tos.model.bucket.HeadBucketV2Input;
-import com.volcengine.tos.model.bucket.HeadBucketV2Output;
-import com.volcengine.tos.model.bucket.Tag;
-import com.volcengine.tos.model.object.AbortMultipartUploadInput;
-import com.volcengine.tos.model.object.AppendObjectOutput;
-import com.volcengine.tos.model.object.CompleteMultipartUploadV2Input;
-import com.volcengine.tos.model.object.CopyObjectV2Input;
-import com.volcengine.tos.model.object.CreateMultipartUploadInput;
-import com.volcengine.tos.model.object.CreateMultipartUploadOutput;
-import com.volcengine.tos.model.object.DeleteError;
-import com.volcengine.tos.model.object.DeleteMultiObjectsV2Input;
-import com.volcengine.tos.model.object.DeleteMultiObjectsV2Output;
-import com.volcengine.tos.model.object.DeleteObjectInput;
-import com.volcengine.tos.model.object.DeleteObjectTaggingInput;
-import com.volcengine.tos.model.object.GetFileStatusInput;
-import com.volcengine.tos.model.object.GetFileStatusOutput;
-import com.volcengine.tos.model.object.GetObjectBasicOutput;
-import com.volcengine.tos.model.object.GetObjectTaggingInput;
-import com.volcengine.tos.model.object.GetObjectTaggingOutput;
-import com.volcengine.tos.model.object.GetObjectV2Input;
-import com.volcengine.tos.model.object.GetObjectV2Output;
-import com.volcengine.tos.model.object.HeadObjectV2Input;
-import com.volcengine.tos.model.object.HeadObjectV2Output;
-import com.volcengine.tos.model.object.ListMultipartUploadsV2Input;
-import com.volcengine.tos.model.object.ListMultipartUploadsV2Output;
-import com.volcengine.tos.model.object.ListObjectsType2Input;
-import com.volcengine.tos.model.object.ListObjectsType2Output;
-import com.volcengine.tos.model.object.ListedCommonPrefix;
-import com.volcengine.tos.model.object.ListedObjectV2;
-import com.volcengine.tos.model.object.ListedUpload;
-import com.volcengine.tos.model.object.ObjectMetaRequestOptions;
-import com.volcengine.tos.model.object.ObjectTobeDeleted;
-import com.volcengine.tos.model.object.PutObjectOutput;
-import com.volcengine.tos.model.object.PutObjectTaggingInput;
-import com.volcengine.tos.model.object.RenameObjectInput;
-import com.volcengine.tos.model.object.TagSet;
-import com.volcengine.tos.model.object.UploadPartCopyV2Input;
-import com.volcengine.tos.model.object.UploadPartCopyV2Output;
-import com.volcengine.tos.model.object.UploadedPartV2;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TOSV2;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TosException;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TosServerException;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.comm.common.ACLType;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.comm.common.BucketType;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.internal.util.TypeConverter;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.HeadBucketV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.HeadBucketV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.bucket.Tag;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.AbortMultipartUploadInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.AppendObjectOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.CompleteMultipartUploadV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.CopyObjectV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.CreateMultipartUploadInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.CreateMultipartUploadOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.DeleteError;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.DeleteMultiObjectsV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.DeleteMultiObjectsV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.DeleteObjectInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.DeleteObjectTaggingInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetFileStatusInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetFileStatusOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetObjectBasicOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetObjectTaggingInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetObjectTaggingOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetObjectV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetObjectV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.HeadObjectV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.HeadObjectV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListMultipartUploadsV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListMultipartUploadsV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListObjectsType2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListObjectsType2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListedCommonPrefix;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListedObjectV2;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListedUpload;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ObjectMetaRequestOptions;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ObjectTobeDeleted;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PutObjectOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PutObjectTaggingInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.RenameObjectInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.TagSet;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.UploadPartCopyV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.UploadPartCopyV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.UploadedPartV2;
import org.apache.hadoop.classification.VisibleForTesting;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.tosfs.conf.ConfKeys;
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOSErrorCodes.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOSErrorCodes.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOSErrorCodes.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOSErrorCodes.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOSInputStream.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOSInputStream.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOSInputStream.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOSInputStream.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOSUtils.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOSUtils.java
similarity index 95%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOSUtils.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOSUtils.java
index 93deef9e941..57f54202c93 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOSUtils.java
+++ b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TOSUtils.java
@@ -18,8 +18,8 @@
package org.apache.hadoop.fs.tosfs.object.tos;
-import com.volcengine.tos.model.object.GetFileStatusOutput;
-import com.volcengine.tos.model.object.ListedObjectV2;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetFileStatusOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListedObjectV2;
import org.apache.hadoop.fs.tosfs.common.Bytes;
import org.apache.hadoop.fs.tosfs.object.ChecksumInfo;
import org.apache.hadoop.fs.tosfs.object.ChecksumType;
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TosObjectInfo.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TosObjectInfo.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TosObjectInfo.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/TosObjectInfo.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/AbstractCredentialsProvider.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/AbstractCredentialsProvider.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/AbstractCredentialsProvider.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/AbstractCredentialsProvider.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/CredentialsProvider.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/CredentialsProvider.java
similarity index 94%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/CredentialsProvider.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/CredentialsProvider.java
index f16d0c47b65..45698272ea2 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/CredentialsProvider.java
+++ b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/CredentialsProvider.java
@@ -18,7 +18,7 @@
package org.apache.hadoop.fs.tosfs.object.tos.auth;
-import com.volcengine.tos.auth.Credentials;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.auth.Credentials;
import org.apache.hadoop.conf.Configuration;
import javax.annotation.Nullable;
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/DefaultCredentialsProviderChain.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/DefaultCredentialsProviderChain.java
similarity index 98%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/DefaultCredentialsProviderChain.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/DefaultCredentialsProviderChain.java
index 4201994280c..1e9a40b4e0e 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/DefaultCredentialsProviderChain.java
+++ b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/DefaultCredentialsProviderChain.java
@@ -16,7 +16,7 @@
package org.apache.hadoop.fs.tosfs.object.tos.auth;
-import com.volcengine.tos.TosException;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TosException;
import org.apache.hadoop.classification.VisibleForTesting;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.util.Preconditions;
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/EnvironmentCredentialsProvider.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/EnvironmentCredentialsProvider.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/EnvironmentCredentialsProvider.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/EnvironmentCredentialsProvider.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/ExpireableCredential.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/ExpireableCredential.java
similarity index 96%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/ExpireableCredential.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/ExpireableCredential.java
index 24319775668..750ec75a14b 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/ExpireableCredential.java
+++ b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/ExpireableCredential.java
@@ -16,7 +16,7 @@
package org.apache.hadoop.fs.tosfs.object.tos.auth;
-import com.volcengine.tos.auth.Credential;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.auth.Credential;
import org.apache.hadoop.fs.tosfs.conf.TosKeys;
import org.apache.hadoop.util.Preconditions;
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/SimpleCredentialsProvider.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/SimpleCredentialsProvider.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/SimpleCredentialsProvider.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/object/tos/auth/SimpleCredentialsProvider.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/ops/DefaultFsOps.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/ops/DefaultFsOps.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/ops/DefaultFsOps.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/ops/DefaultFsOps.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/ops/DirectoryFsOps.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/ops/DirectoryFsOps.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/ops/DirectoryFsOps.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/ops/DirectoryFsOps.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/ops/FsOps.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/ops/FsOps.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/ops/FsOps.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/ops/FsOps.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/ops/RenameOp.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/ops/RenameOp.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/ops/RenameOp.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/ops/RenameOp.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/CommonUtils.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/CommonUtils.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/CommonUtils.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/CommonUtils.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/FSUtils.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/FSUtils.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/FSUtils.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/FSUtils.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/FuseUtils.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/FuseUtils.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/FuseUtils.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/FuseUtils.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/Iterables.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/Iterables.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/Iterables.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/Iterables.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/JsonCodec.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/JsonCodec.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/JsonCodec.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/JsonCodec.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/LazyReload.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/LazyReload.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/LazyReload.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/LazyReload.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/LazyReloadIter.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/LazyReloadIter.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/LazyReloadIter.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/LazyReloadIter.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/ParseUtils.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/ParseUtils.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/ParseUtils.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/ParseUtils.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/Range.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/Range.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/Range.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/Range.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/Reload.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/Reload.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/Reload.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/Reload.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/RemoteIterators.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/RemoteIterators.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/RemoteIterators.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/RemoteIterators.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/RetryableUtils.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/RetryableUtils.java
similarity index 93%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/RetryableUtils.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/RetryableUtils.java
index 7117a6becc2..73aee47f0dd 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/RetryableUtils.java
+++ b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/RetryableUtils.java
@@ -27,7 +27,7 @@ public class RetryableUtils {
}
/**
- * Copy from {@link com.volcengine.tos.internal.util.TosUtils#backoff(int)}
+ * Copy from {@link org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.internal.util.TosUtils#backoff(int)}
*
* @param attempt the attempt count
* @return backoff milliseconds
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/Serializer.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/Serializer.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/Serializer.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/Serializer.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/TOSClientContextUtils.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/TOSClientContextUtils.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/TOSClientContextUtils.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/TOSClientContextUtils.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/UUIDUtils.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/UUIDUtils.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/main/java/org/apache/hadoop/fs/tosfs/util/UUIDUtils.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/main/java/org/apache/hadoop/fs/tosfs/util/UUIDUtils.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/site/markdown/cloud-storage/index.md b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/site/markdown/cloud-storage/index.md
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/site/markdown/cloud-storage/index.md
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/site/markdown/cloud-storage/index.md
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/TestEnv.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/TestEnv.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/TestEnv.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/TestEnv.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/TestRawFSUtils.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/TestRawFSUtils.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/TestRawFSUtils.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/TestRawFSUtils.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/TestRawFileSystem.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/TestRawFileSystem.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/TestRawFileSystem.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/TestRawFileSystem.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/TestTosChecksum.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/TestTosChecksum.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/TestTosChecksum.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/TestTosChecksum.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/TestTosFileSystem.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/TestTosFileSystem.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/TestTosFileSystem.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/TestTosFileSystem.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/BaseJobSuite.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/BaseJobSuite.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/BaseJobSuite.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/BaseJobSuite.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/CommitterTestBase.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/CommitterTestBase.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/CommitterTestBase.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/CommitterTestBase.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/JobSuite.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/JobSuite.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/JobSuite.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/JobSuite.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/MRJobTestBase.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/MRJobTestBase.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/MRJobTestBase.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/MRJobTestBase.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/TestCommitter.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/TestCommitter.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/TestCommitter.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/TestCommitter.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/TestMRJob.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/TestMRJob.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/TestMRJob.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/TestMRJob.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/TestMagicOutputStream.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/TestMagicOutputStream.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/TestMagicOutputStream.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/TestMagicOutputStream.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/mapred/CommitterTestBase.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/mapred/CommitterTestBase.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/mapred/CommitterTestBase.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/mapred/CommitterTestBase.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/mapred/JobSuite.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/mapred/JobSuite.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/mapred/JobSuite.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/mapred/JobSuite.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/mapred/TestCommitter.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/mapred/TestCommitter.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/commit/mapred/TestCommitter.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/commit/mapred/TestCommitter.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestChecksum.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestChecksum.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestChecksum.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestChecksum.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestCreate.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestCreate.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestCreate.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestCreate.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestDelete.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestDelete.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestDelete.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestDelete.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestDistCp.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestDistCp.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestDistCp.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestDistCp.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestGetFileStatus.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestGetFileStatus.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestGetFileStatus.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestGetFileStatus.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestMkdir.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestMkdir.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestMkdir.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestMkdir.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestOpen.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestOpen.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestOpen.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestOpen.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestRename.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestRename.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestRename.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestRename.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestRootDir.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestRootDir.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestRootDir.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestRootDir.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestSeek.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestSeek.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestSeek.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestSeek.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestUnbuffer.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestUnbuffer.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestUnbuffer.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestUnbuffer.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestXAttr.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestXAttr.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestXAttr.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TestXAttr.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TosContract.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TosContract.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/contract/TosContract.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/contract/TosContract.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/ObjectStorageTestBase.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/ObjectStorageTestBase.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/ObjectStorageTestBase.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/ObjectStorageTestBase.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/ObjectTestUtils.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/ObjectTestUtils.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/ObjectTestUtils.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/ObjectTestUtils.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/TestDirectoryStorage.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/TestDirectoryStorage.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/TestDirectoryStorage.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/TestDirectoryStorage.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/TestObjectMultiRangeInputStream.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/TestObjectMultiRangeInputStream.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/TestObjectMultiRangeInputStream.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/TestObjectMultiRangeInputStream.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/TestObjectOutputStream.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/TestObjectOutputStream.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/TestObjectOutputStream.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/TestObjectOutputStream.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/TestObjectRangeInputStream.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/TestObjectRangeInputStream.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/TestObjectRangeInputStream.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/TestObjectRangeInputStream.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/TestObjectStorage.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/TestObjectStorage.java
similarity index 99%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/TestObjectStorage.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/TestObjectStorage.java
index cbe1677a710..5316952f6f2 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/TestObjectStorage.java
+++ b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/TestObjectStorage.java
@@ -18,7 +18,7 @@
package org.apache.hadoop.fs.tosfs.object;
-import com.volcengine.tos.TosServerException;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TosServerException;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.io.IOUtils;
import org.apache.hadoop.conf.Configuration;
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestChainTOSInputStream.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestChainTOSInputStream.java
similarity index 98%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestChainTOSInputStream.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestChainTOSInputStream.java
index 0dd31d208c8..32817960583 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestChainTOSInputStream.java
+++ b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestChainTOSInputStream.java
@@ -18,8 +18,8 @@
package org.apache.hadoop.fs.tosfs.object.tos;
-import com.volcengine.tos.model.object.GetObjectBasicOutput;
-import com.volcengine.tos.model.object.GetObjectV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetObjectBasicOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetObjectV2Output;
import org.apache.hadoop.fs.tosfs.common.Bytes;
import org.apache.hadoop.fs.tosfs.object.Constants;
import org.apache.hadoop.fs.tosfs.util.TestUtility;
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestDelegationClientBuilder.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestDelegationClientBuilder.java
similarity index 94%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestDelegationClientBuilder.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestDelegationClientBuilder.java
index bbe34b0a81b..7e788c5ccd0 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestDelegationClientBuilder.java
+++ b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestDelegationClientBuilder.java
@@ -18,20 +18,20 @@
package org.apache.hadoop.fs.tosfs.object.tos;
-import com.volcengine.tos.TOSV2;
-import com.volcengine.tos.TOSV2ClientBuilder;
-import com.volcengine.tos.TosClientException;
-import com.volcengine.tos.TosException;
-import com.volcengine.tos.TosServerException;
-import com.volcengine.tos.auth.Credential;
-import com.volcengine.tos.auth.StaticCredentials;
-import com.volcengine.tos.comm.HttpStatus;
-import com.volcengine.tos.model.object.DeleteObjectInput;
-import com.volcengine.tos.model.object.HeadObjectV2Input;
-import com.volcengine.tos.model.object.HeadObjectV2Output;
-import com.volcengine.tos.model.object.ListObjectsV2Input;
-import com.volcengine.tos.model.object.ListObjectsV2Output;
-import com.volcengine.tos.model.object.PutObjectInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TOSV2;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TOSV2ClientBuilder;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TosClientException;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TosException;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TosServerException;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.auth.Credential;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.auth.StaticCredentials;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.comm.HttpStatus;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.DeleteObjectInput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.HeadObjectV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.HeadObjectV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListObjectsV2Input;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.ListObjectsV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PutObjectInput;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.tosfs.TestEnv;
import org.apache.hadoop.fs.tosfs.common.Tasks;
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestTOSInputStream.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestTOSInputStream.java
similarity index 94%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestTOSInputStream.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestTOSInputStream.java
index 59f9862d7de..50e6f229a66 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestTOSInputStream.java
+++ b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestTOSInputStream.java
@@ -18,9 +18,9 @@
package org.apache.hadoop.fs.tosfs.object.tos;
-import com.volcengine.tos.internal.util.aborthook.AbortInputStreamHook;
-import com.volcengine.tos.model.object.GetObjectBasicOutput;
-import com.volcengine.tos.model.object.GetObjectV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.internal.util.aborthook.AbortInputStreamHook;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetObjectBasicOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.GetObjectV2Output;
import org.apache.hadoop.fs.tosfs.object.Constants;
import org.apache.hadoop.fs.tosfs.util.TestUtility;
import org.apache.hadoop.thirdparty.com.google.common.io.ByteStreams;
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestTOSObjectStorage.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestTOSObjectStorage.java
similarity index 99%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestTOSObjectStorage.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestTOSObjectStorage.java
index 3b97cf25e3f..3895a20389b 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestTOSObjectStorage.java
+++ b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestTOSObjectStorage.java
@@ -18,7 +18,7 @@
package org.apache.hadoop.fs.tosfs.object.tos;
-import com.volcengine.tos.internal.model.CRC64Checksum;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.internal.model.CRC64Checksum;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.tosfs.TestEnv;
import org.apache.hadoop.fs.tosfs.common.Bytes;
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestTOSRetryPolicy.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestTOSRetryPolicy.java
similarity index 93%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestTOSRetryPolicy.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestTOSRetryPolicy.java
index a17c92504d0..2bcec4e086f 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestTOSRetryPolicy.java
+++ b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/TestTOSRetryPolicy.java
@@ -18,13 +18,13 @@
package org.apache.hadoop.fs.tosfs.object.tos;
-import com.volcengine.tos.TOSV2;
-import com.volcengine.tos.TosException;
-import com.volcengine.tos.TosServerException;
-import com.volcengine.tos.comm.HttpStatus;
-import com.volcengine.tos.model.RequestInfo;
-import com.volcengine.tos.model.object.PutObjectOutput;
-import com.volcengine.tos.model.object.UploadPartV2Output;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TOSV2;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TosException;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TosServerException;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.comm.HttpStatus;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.RequestInfo;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.PutObjectOutput;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.model.object.UploadPartV2Output;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.tosfs.TestEnv;
import org.apache.hadoop.fs.tosfs.conf.ConfKeys;
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestAbstractCredentialsProvider.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestAbstractCredentialsProvider.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestAbstractCredentialsProvider.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestAbstractCredentialsProvider.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestDefaultCredentialsProviderChain.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestDefaultCredentialsProviderChain.java
similarity index 99%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestDefaultCredentialsProviderChain.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestDefaultCredentialsProviderChain.java
index ca5f0ff7e36..77b51559b7e 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestDefaultCredentialsProviderChain.java
+++ b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestDefaultCredentialsProviderChain.java
@@ -16,7 +16,7 @@
package org.apache.hadoop.fs.tosfs.object.tos.auth;
-import com.volcengine.tos.TosException;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.TosException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.tosfs.conf.TosKeys;
import org.apache.hadoop.fs.tosfs.object.tos.TOS;
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestEnvironmentCredentialsProvider.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestEnvironmentCredentialsProvider.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestEnvironmentCredentialsProvider.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestEnvironmentCredentialsProvider.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestSimpleCredentialsProvider.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestSimpleCredentialsProvider.java
similarity index 97%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestSimpleCredentialsProvider.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestSimpleCredentialsProvider.java
index 3579ff73e87..c61dd0b339c 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestSimpleCredentialsProvider.java
+++ b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/object/tos/auth/TestSimpleCredentialsProvider.java
@@ -16,7 +16,7 @@
package org.apache.hadoop.fs.tosfs.object.tos.auth;
-import com.volcengine.tos.auth.Credential;
+import org.apache.hadoop.fs.tosfs.shaded.com.volcengine.tos.auth.Credential;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.tosfs.conf.TosKeys;
import org.junit.Assert;
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestBaseFsOps.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestBaseFsOps.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestBaseFsOps.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestBaseFsOps.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestBaseOps.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestBaseOps.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestBaseOps.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestBaseOps.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestDefaultFsOps.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestDefaultFsOps.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestDefaultFsOps.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestDefaultFsOps.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestDirectoryFsOps.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestDirectoryFsOps.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestDirectoryFsOps.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestDirectoryFsOps.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestRenameOp.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestRenameOp.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestRenameOp.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/ops/TestRenameOp.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/util/TempFiles.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/util/TempFiles.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/util/TempFiles.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/util/TempFiles.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/util/TestFSUtils.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/util/TestFSUtils.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/util/TestFSUtils.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/util/TestFSUtils.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/util/TestIterables.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/util/TestIterables.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/util/TestIterables.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/util/TestIterables.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/util/TestLazyReload.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/util/TestLazyReload.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/util/TestLazyReload.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/util/TestLazyReload.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/util/TestRange.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/util/TestRange.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/util/TestRange.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/util/TestRange.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/util/TestUtility.java b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/util/TestUtility.java
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/java/org/apache/hadoop/fs/tosfs/util/TestUtility.java
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/java/org/apache/hadoop/fs/tosfs/util/TestUtility.java
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/resources/contract/tos.xml b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/resources/contract/tos.xml
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/resources/contract/tos.xml
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/resources/contract/tos.xml
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/resources/core-site.xml b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/resources/core-site.xml
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/resources/core-site.xml
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/resources/core-site.xml
diff --git a/hadoop-cloud-storage-project/hadoop-tos/src/test/resources/log4j.properties b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/resources/log4j.properties
similarity index 100%
rename from hadoop-cloud-storage-project/hadoop-tos/src/test/resources/log4j.properties
rename to hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core/src/test/resources/log4j.properties
diff --git a/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-shade/pom.xml b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-shade/pom.xml
new file mode 100644
index 00000000000..bc41731d3ab
--- /dev/null
+++ b/hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-shade/pom.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License. See accompanying LICENSE file.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-project</artifactId>
+ <version>3.5.0-SNAPSHOT</version>
+ <relativePath>../../../hadoop-project</relativePath>
+ </parent>
+
+ <artifactId>hadoop-tos-shade</artifactId>
+ <version>3.5.0-SNAPSHOT</version>
+ <name>Apache Hadoop Volcano Engine Services Shade Dependencies</name>
+ <description>
+ This module contains code to support integration with Volcano Engine TOS.
+ It also declares the dependencies needed to work with Volcano Engine services.
+ </description>
+ <packaging>jar</packaging>
+
+ <properties>
+ <file.encoding>UTF-8</file.encoding>
+ <ve-tos-java-sdk.version>2.8.6</ve-tos-java-sdk.version>
+ <tos.shading.prefix>org.apache.hadoop.fs.tosfs.shaded</tos.shading.prefix>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <!-- The ve-tos-java-sdk 2.8.6 depends on okhttp, but okhttp violates dependency convergence.
+ The com.squareup.okhttp3:okhttp:jar:4.10.0 depends on org.jetbrains.kotlin:kotlin-stdlib-common,
+ with 2 different versions: 1.5.31 and 1.6.20. Force configure it to 1.6.20. -->
+ <dependency>
+ <groupId>org.jetbrains.kotlin</groupId>
+ <artifactId>kotlin-stdlib-common</artifactId>
+ <version>1.6.20</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.volcengine</groupId>
+ <artifactId>ve-tos-java-sdk</artifactId>
+ <version>${ve-tos-java-sdk.version}</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>${maven-shade-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>shade-tos-sdk</id>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <shadeSourcesContent>true</shadeSourcesContent>
+ <createSourcesJar>true</createSourcesJar>
+ <artifactSet>
+ <includes>
+ <include>com.volcengine:*</include>
+ <include>com.squareup.okhttp3:okhttp</include>
+ <include>com.squareup.okio:okio-jvm</include>
+ <include>org.jetbrains.kotlin:kotlin-stdlib*</include>
+ <include>org.jetbrains:annotations</include>
+ <include>com.fasterxml.jackson.core:*</include>
+ <include>commons-codec:commons-codec</include>
+ </includes>
+ </artifactSet>
+ <relocations>
+ <relocation>
+ <pattern>com.volcengine.tos</pattern>
+ <shadedPattern>${tos.shading.prefix}.com.volcengine.tos</shadedPattern>
+ </relocation>
+ <relocation>
+ <pattern>com.fasterxml.jackson</pattern>
+ <shadedPattern>${tos.shading.prefix}.com.fasterxml.jackson</shadedPattern>
+ </relocation>
+ <relocation>
+ <pattern>okhttp3</pattern>
+ <shadedPattern>${tos.shading.prefix}.okhttp3</shadedPattern>
+ </relocation>
+ <relocation>
+ <pattern>okio</pattern>
+ <shadedPattern>${tos.shading.prefix}.okio</shadedPattern>
+ </relocation>
+ <relocation>
+ <pattern>kotlin</pattern>
+ <shadedPattern>${tos.shading.prefix}.kotlin</shadedPattern>
+ </relocation>
+ <relocation>
+ <pattern>org.apache.commons.codec</pattern>
+ <shadedPattern>${tos.shading.prefix}.org.apache.commons.codec</shadedPattern>
+ </relocation>
+ <relocation>
+ <pattern>org.jetbrains</pattern>
+ <shadedPattern>${tos.shading.prefix}.org.jetbrains</shadedPattern>
+ </relocation>
+ <relocation>
+ <pattern>org.intellij</pattern>
+ <shadedPattern>${tos.shading.prefix}.org.intellij</shadedPattern>
+ </relocation>
+ </relocations>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/hadoop-cloud-storage-project/hadoop-tos/pom.xml b/hadoop-cloud-storage-project/hadoop-tos/pom.xml
index 86994472595..7df758c346b 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/pom.xml
+++ b/hadoop-cloud-storage-project/hadoop-tos/pom.xml
@@ -30,100 +30,16 @@
This module contains code to support integration with Volcano Engine TOS.
It also declares the dependencies needed to work with Volcano Engine services.
</description>
- <packaging>jar</packaging>
+ <packaging>pom</packaging>
<properties>
<file.encoding>UTF-8</file.encoding>
<ve-tos-java-sdk.version>2.8.6</ve-tos-java-sdk.version>
+ <tos.shading.prefix>org.apache.hadoop.fs.tosfs.shaded</tos.shading.prefix>
</properties>
- <dependencies>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-common</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-mapreduce-client-core</artifactId>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-common</artifactId>
- <scope>test</scope>
- <type>test-jar</type>
- </dependency>
- <!-- Artifacts needed to bring up a Mini MR Yarn cluster-->
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-mapreduce-examples</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-minicluster</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>com.volcengine</groupId>
- <artifactId>ve-tos-java-sdk</artifactId>
- <version>${ve-tos-java-sdk.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.jetbrains.kotlin</groupId>
- <artifactId>kotlin-stdlib-common</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.assertj</groupId>
- <artifactId>assertj-core</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-distcp</artifactId>
- <version>${hadoop.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-distcp</artifactId>
- <version>${hadoop.version}</version>
- <scope>test</scope>
- <type>test-jar</type>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.21.0</version>
- <configuration>
- <parallel>classes</parallel>
- <threadCount>1</threadCount>
- <perCoreThreadCount>true</perCoreThreadCount>
- <rerunFailingTestsCount>2</rerunFailingTestsCount>
- <forkCount>8</forkCount>
- <argLine>-Xmx2048m</argLine>
- </configuration>
- </plugin>
- </plugins>
- </build>
+ <modules>
+ <module>hadoop-tos-core</module>
+ <module>hadoop-tos-shade</module>
+ </modules>
</project>
diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml
index ca72a855abd..6b43ad59319 100644
--- a/hadoop-project/pom.xml
+++ b/hadoop-project/pom.xml
@@ -782,6 +782,18 @@
<version>${hadoop.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-tos-core</artifactId>
+ <version>${hadoop.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-tos-shade</artifactId>
+ <version>${hadoop.version}</version>
+ </dependency>
+
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-kms</artifactId>
diff --git a/pom.xml b/pom.xml
index 5d2775a813c..5aef75c9fe8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -311,6 +311,13 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/x
<bannedImport>org.apache.commons.logging.**</bannedImport>
</bannedImports>
</restrictImports>
+ <restrictImports>
+ <includeTestCode>true</includeTestCode>
+ <reason>Use shaded tos sdk</reason>
+ <bannedImports>
+ <bannedImport>com.volcengine.tos.**</bannedImport>
+ </bannedImports>
+ </restrictImports>
</rules>
</configuration>
</execution>
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org