### 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>
78 lines
1.1 KiB
Plaintext
78 lines
1.1 KiB
Plaintext
*#*#
|
|
*.#*
|
|
*.iml
|
|
*.ipr
|
|
*.iws
|
|
*.pyc
|
|
*.pyo
|
|
*.swp
|
|
*~
|
|
.DS_Store
|
|
.bsp
|
|
.cache
|
|
.classpath
|
|
.ensime
|
|
.ensime_cache/
|
|
.ensime_lucene
|
|
.flattened-pom.xml
|
|
.generated-mima*
|
|
.idea/
|
|
.idea_modules/
|
|
.project
|
|
.pydevproject
|
|
.python-version
|
|
.scala_dependencies
|
|
.settings
|
|
/lib/
|
|
build/apache-maven*
|
|
build/sbt-launch-*.jar
|
|
build/sbt-config/repositories-local
|
|
cache
|
|
checkpoint
|
|
conf/*.cmd
|
|
conf/*.conf
|
|
conf/*.sh
|
|
conf/*.xml
|
|
conf/java-opts
|
|
conf/slaves
|
|
dependency-reduced-pom.xml
|
|
derby.log
|
|
dev/create-release/*final
|
|
dev/create-release/*txt
|
|
dev/pr-deps/
|
|
dist/
|
|
assets/_site
|
|
assets/api
|
|
lib_managed/
|
|
lint-r-report.log
|
|
log/
|
|
logs/
|
|
out/
|
|
project/boot/
|
|
project/build/target/
|
|
project/plugins/lib_managed/
|
|
project/plugins/project/build.properties
|
|
project/plugins/src_managed/
|
|
project/plugins/target/
|
|
python/deps
|
|
python/test_coverage/coverage_data
|
|
python/test_coverage/htmlcov
|
|
reports/
|
|
scalastyle-on-compile.generated.xml
|
|
scalastyle-output.xml
|
|
scalastyle.txt
|
|
apache-celeborn-*.tgz
|
|
apache-celeborn-*-bin*
|
|
src_managed/
|
|
target/
|
|
unit-tests.log
|
|
work/
|
|
assets/.jekyll-metadata
|
|
*.crc
|
|
metastore_db/
|
|
spark-warehouse/
|
|
|
|
logs
|
|
pids
|
|
tmp/
|