/ pom.xml
pom.xml
  1  <!--
  2  SPDX-FileCopyrightText: 2023 LakeSoul Contributors
  3  
  4  SPDX-License-Identifier: Apache-2.0
  5  -->
  6  
  7  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  8           xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  9      <modelVersion>4.0.0</modelVersion>
 10      <groupId>com.dmetasoul</groupId>
 11      <artifactId>lakesoul-parent</artifactId>
 12      <version>${revision}</version>
 13      <inceptionYear>2022</inceptionYear>
 14      <modules>
 15          <module>lakesoul-common</module>
 16          <module>native-io/lakesoul-io-java</module>
 17          <module>lakesoul-spark</module>
 18          <module>lakesoul-flink</module>
 19          <module>lakesoul-presto</module>
 20      </modules>
 21      <packaging>pom</packaging>
 22      <name>LakeSoul</name>
 23      <description>A Table Structure Storage to Unify Batch and Streaming Data Processing</description>
 24      <url>https://github.com/lakesoul-io/LakeSoul</url>
 25      <licenses>
 26          <license>
 27              <name>Apache 2.0 License</name>
 28              <url>https://www.apache.org/licenses/LICENSE-2.0.html</url>
 29              <distribution>repo</distribution>
 30          </license>
 31      </licenses>
 32      <scm>
 33          <connection>scm:git:git@github.com:lakesoul-io/LakeSoul.git</connection>
 34          <url>scm:git:git@github.com:lakesoul-io/LakeSoul.git</url>
 35          <tag>HEAD</tag>
 36      </scm>
 37      <organization>
 38          <name>Linux Foundation AI &amp; Data</name>
 39          <url>https://lfaidata.foundation/</url>
 40      </organization>
 41      <developers>
 42          <developer>
 43              <id>lakesoul-io</id>
 44              <name>lakesoul-io</name>
 45              <email>lakesoul-technical-discuss@lists.lfaidata.foundation</email>
 46              <url>https://github.com/lakesoul-io</url>
 47              <organization>LakeSoul, LF AI &amp; Data</organization>
 48              <organizationUrl>https://github.com/lakesoul-io</organizationUrl>
 49              <timezone>+8</timezone>
 50          </developer>
 51      </developers>
 52  
 53      <properties>
 54          <revision>3.0.0-SNAPSHOT</revision>
 55          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 56          <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 57          <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
 58          <maven.compiler.source>8</maven.compiler.source>
 59          <maven.compiler.target>8</maven.compiler.target>
 60          <scala.binary.version>2.12</scala.binary.version>
 61          <parquet.version>1.11.0</parquet.version>
 62          <log4j.version>2.17.2</log4j.version>
 63          <local.scope>provided</local.scope>
 64          <spark.version>3.3.1</spark.version>
 65          <scala.version>2.12.15</scala.version>
 66          <java.version>1.8</java.version>
 67      </properties>
 68  
 69      <distributionManagement>
 70          <snapshotRepository>
 71              <id>ossrh</id>
 72              <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
 73          </snapshotRepository>
 74      </distributionManagement>
 75  
 76      <dependencies>
 77          <dependency>
 78              <groupId>junit</groupId>
 79              <artifactId>junit</artifactId>
 80              <version>4.13.2</version>
 81              <scope>test</scope>
 82          </dependency>
 83  
 84          <dependency>
 85              <groupId>com.codahale.metrics</groupId>
 86              <artifactId>metrics-core</artifactId>
 87              <version>3.0.2</version>
 88              <scope>test</scope>
 89              <exclusions>
 90                  <exclusion>
 91                      <groupId>org.slf4j</groupId>
 92                      <artifactId>slf4j-api</artifactId>
 93                  </exclusion>
 94              </exclusions>
 95          </dependency>
 96      </dependencies>
 97  
 98      <profiles>
 99          <profile>
100              <id>release-sign-artifacts</id>
101              <activation>
102                  <property>
103                      <name>performRelease</name>
104                      <value>true</value>
105                  </property>
106              </activation>
107              <build>
108                  <plugins>
109                      <plugin>
110                          <groupId>org.apache.maven.plugins</groupId>
111                          <artifactId>maven-gpg-plugin</artifactId>
112                          <version>1.6</version>
113                          <executions>
114                              <execution>
115                                  <id>sign-artifacts</id>
116                                  <phase>verify</phase>
117                                  <goals>
118                                      <goal>sign</goal>
119                                  </goals>
120                                  <configuration>
121                                      <gpgArguments>
122                                          <arg>--pinentry-mode</arg>
123                                          <arg>loopback</arg>
124                                      </gpgArguments>
125                                  </configuration>
126                              </execution>
127                          </executions>
128                      </plugin>
129                  </plugins>
130              </build>
131          </profile>
132          <profile>
133              <id>gluten</id>
134              <activation>
135                  <activeByDefault>false</activeByDefault>
136              </activation>
137              <modules>
138                  <module>lakesoul-spark-gluten</module>
139              </modules>
140          </profile>
141      </profiles>
142  
143      <build>
144          <plugins>
145              <plugin>
146                  <groupId>org.apache.maven.plugins</groupId>
147                  <artifactId>maven-surefire-plugin</artifactId>
148                  <version>3.1.0</version>
149              </plugin>
150              <plugin>
151                  <groupId>org.apache.maven.plugins</groupId>
152                  <artifactId>maven-compiler-plugin</artifactId>
153                  <version>3.13.0</version>
154              </plugin>
155              <plugin>
156                  <groupId>org.apache.maven.plugins</groupId>
157                  <artifactId>maven-resources-plugin</artifactId>
158                  <version>2.3</version>
159                  <configuration>
160                      <encoding>UTF-8</encoding>
161                  </configuration>
162              </plugin>
163              <plugin>
164                  <groupId>org.sonatype.central</groupId>
165                  <artifactId>central-publishing-maven-plugin</artifactId>
166                  <version>0.8.0</version>
167                  <extensions>true</extensions>
168                  <configuration>
169                      <publishingServerId>central</publishingServerId>
170                      <autoPublish>true</autoPublish>
171                      <waitUntil>published</waitUntil>
172                  </configuration>
173              </plugin>
174              <plugin>
175                  <groupId>org.apache.maven.plugins</groupId>
176                  <artifactId>maven-source-plugin</artifactId>
177                  <version>3.4.0</version>
178                  <executions>
179                      <execution>
180                          <id>attach-sources</id>
181                          <goals>
182                              <goal>jar-no-fork</goal>
183                          </goals>
184                      </execution>
185                  </executions>
186              </plugin>
187              <!-- We must generate a -javadoc JAR file to publish on Maven Central -->
188              <plugin>
189                  <groupId>org.apache.maven.plugins</groupId>
190                  <artifactId>maven-jar-plugin</artifactId>
191                  <version>3.3.0</version>
192                  <executions>
193                      <execution>
194                          <id>empty-javadoc-jar</id>
195                          <phase>package</phase>
196                          <goals>
197                              <goal>jar</goal>
198                          </goals>
199                          <configuration>
200                              <classifier>javadoc</classifier>
201                              <classesDirectory>${basedir}/javadoc</classesDirectory>
202                          </configuration>
203                      </execution>
204                      <execution>
205                          <id>test-jar</id>
206                          <goals>
207                              <goal>test-jar</goal>
208                          </goals>
209                      </execution>
210                  </executions>
211              </plugin>
212              <plugin>
213                  <groupId>org.codehaus.mojo</groupId>
214                  <artifactId>flatten-maven-plugin</artifactId>
215                  <version>1.6.0</version>
216                  <configuration>
217                      <flattenMode>ossrh</flattenMode>
218                  </configuration>
219                  <executions>
220                      <!-- enable flattening -->
221                      <execution>
222                          <id>flatten</id>
223                          <phase>process-resources</phase>
224                          <goals>
225                              <goal>flatten</goal>
226                          </goals>
227                      </execution>
228                      <!-- ensure proper cleanup -->
229                      <execution>
230                          <id>flatten.clean</id>
231                          <phase>clean</phase>
232                          <goals>
233                              <goal>clean</goal>
234                          </goals>
235                      </execution>
236                  </executions>
237              </plugin>
238          </plugins>
239      </build>
240  
241  </project>