Skip to content

Commit 702738b

Browse files
[SPARK-52165][SQL][SDP] Setup build scaffolding for the pipelines project
### What changes were proposed in this pull request? - Defines a new project inside the Spark repository where code for Spark Declarative Pipelines will live ([SPIP](https://issues.apache.org/jira/browse/SPARK-51727)). This PR introduces the basic build scaffolding for Maven and SBT to define the pipelines project which will live under `sql/pipelines/core`. - Ensure that tests for the pipelines project are triggered from Github Actions `Build` job ### Why are the changes needed? Future code that implements functionality for Spark Declarative Pipelines will live in this new project. ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? This PR only includes new build definitions. This patch was tested just by ensuring that the project continues to build. ### Was this patch authored or co-authored using generative AI tooling? No Closes #50905 from jonmio/setup_pipelines_project. Lead-authored-by: Jon Mio <[email protected]> Co-authored-by: Gengliang Wang <[email protected]> Signed-off-by: Gengliang Wang <[email protected]>
1 parent c09ac23 commit 702738b

File tree

4 files changed

+52
-4
lines changed

4 files changed

+52
-4
lines changed

dev/sparktestsupport/modules.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,15 @@ def __hash__(self):
408408
],
409409
)
410410

411+
pipelines = Module(
412+
name="pipelines",
413+
dependencies=[],
414+
source_file_regexes=["sql/pipelines"],
415+
sbt_test_goals=[
416+
"pipelines/test",
417+
],
418+
)
419+
411420
connect = Module(
412421
name="connect",
413422
dependencies=[hive, avro, protobuf, mllib],

pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@
9595
<module>sql/catalyst</module>
9696
<module>sql/core</module>
9797
<module>sql/hive</module>
98+
<module>sql/pipelines</module>
9899
<module>sql/connect/server</module>
99100
<module>sql/connect/common</module>
100101
<module>sql/connect/client/jvm</module>

project/SparkBuild.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,10 @@ object BuildCommons {
5858

5959
val allProjects@Seq(
6060
core, graphx, mllib, mllibLocal, repl, networkCommon, networkShuffle, launcher, unsafe, tags, sketch, kvstore,
61-
commonUtils, variant, _*
61+
commonUtils, variant, pipelines, _*
6262
) = Seq(
6363
"core", "graphx", "mllib", "mllib-local", "repl", "network-common", "network-shuffle", "launcher", "unsafe",
64-
"tags", "sketch", "kvstore", "common-utils", "variant"
64+
"tags", "sketch", "kvstore", "common-utils", "variant", "pipelines"
6565
).map(ProjectRef(buildLocation, _)) ++ sqlProjects ++ streamingProjects ++ connectProjects
6666

6767
val optionallyEnabledProjects@Seq(kubernetes, yarn,
@@ -372,8 +372,8 @@ object SparkBuild extends PomBuild {
372372
val mimaProjects = allProjects.filterNot { x =>
373373
Seq(
374374
spark, hive, hiveThriftServer, repl, networkCommon, networkShuffle, networkYarn,
375-
unsafe, tags, tokenProviderKafka010, sqlKafka010, connectCommon, connect, connectClient,
376-
variant, connectShims, profiler
375+
unsafe, tags, tokenProviderKafka010, sqlKafka010, pipelines, connectCommon, connect,
376+
connectClient, variant, connectShims, profiler
377377
).contains(x)
378378
}
379379

sql/pipelines/pom.xml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
~ Licensed to the Apache Software Foundation (ASF) under one or more
4+
~ contributor license agreements. See the NOTICE file distributed with
5+
~ this work for additional information regarding copyright ownership.
6+
~ The ASF licenses this file to You under the Apache License, Version 2.0
7+
~ (the "License"); you may not use this file except in compliance with
8+
~ the License. You may obtain a copy of the License at
9+
~
10+
~ http://www.apache.org/licenses/LICENSE-2.0
11+
~
12+
~ Unless required by applicable law or agreed to in writing, software
13+
~ distributed under the License is distributed on an "AS IS" BASIS,
14+
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
~ See the License for the specific language governing permissions and
16+
~ limitations under the License.
17+
-->
18+
19+
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
20+
<modelVersion>4.0.0</modelVersion>
21+
<parent>
22+
<groupId>org.apache.spark</groupId>
23+
<artifactId>spark-parent_2.13</artifactId>
24+
<version>4.1.0-SNAPSHOT</version>
25+
<relativePath>../../pom.xml</relativePath>
26+
</parent>
27+
<artifactId>spark-pipelines_2.13</artifactId>
28+
<properties>
29+
<sbt.project.name>pipelines</sbt.project.name>
30+
</properties>
31+
<packaging>jar</packaging>
32+
<name>Spark Project Declarative Pipelines Library</name>
33+
<url>https://spark.apache.org/</url>
34+
<build>
35+
<outputDirectory>core/target/scala-2.13/classes</outputDirectory>
36+
<testOutputDirectory>core/target/scala-2.13/test-classes</testOutputDirectory>
37+
</build>
38+
</project>

0 commit comments

Comments
 (0)