### What changes were proposed in this pull request? This PR introduces the SBT build system implementation that operates independently from the current Maven build system. Different from https://github.com/apache/incubator-celeborn/pull/1627, the current implementation does not depend on `pom.xml` The implementation enables packaging and testing functionalities for server-related modules and Spark-related modules using SBT. For Flink-related build/test, sbt build documentation, continuous integration, and plugins, they will be submitted in separate PRs ### Why are the changes needed? improve project build speed packing the project. ```shell $ ./build/sbt sbt:celeborn> clean [success] Total time: 1 s, completed 2023-7-25 16:36:12 sbt:celeborn> package [success] Total time: 28 s, completed 2023-7-25 16:36:46 ``` packing and shading the spark 3.3 client ```shell $ ./build/sbt -Pspark-3.3 sbt:celeborn> clean [success] Total time: 1 s, completed 2023-7-25 16:39:11 sbt:celeborn> project celeborn-client-spark-3-shaded sbt:celeborn-client-spark-3-shaded> assembly [success] Total time: 37 s, completed 2023-7-25 16:40:03 ``` packing and shading the spark 2.4 client ```shell $ ./build/sbt -Pspark-2.4 sbt:celeborn> clean [success] Total time: 1 s, completed 2023-7-25 16:41:06 sbt:celeborn> project celeborn-client-spark-2-shaded sbt:celeborn-client-spark-2-shaded> assembly [success] Total time: 36 s, completed 2023-7-25 16:41:53 ``` running server-related tests ```shell $ ./build/sbt clean test [success] Total time: 350 s (05:50), completed 2023-7-25 16:48:58 ``` ### Does this PR introduce _any_ user-facing change? yes ### How was this patch tested? tested locally Closes #1757 from cfmcgrady/pure-sbt. Authored-by: Fu Chen <cfmcgrady@gmail.com> Signed-off-by: Cheng Pan <chengpan@apache.org>
21 lines
913 B
Scala
21 lines
913 B
Scala
/*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed with
|
|
* this work for additional information regarding copyright ownership.
|
|
* The ASF licenses this file to You 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.
|
|
*/
|
|
|
|
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "2.1.1")
|
|
|
|
addSbtPlugin("com.thesamet" % "sbt-protoc" % "1.0.6")
|