/ lakesoul-flink / pom.xml
pom.xml
  1  <?xml version="1.0" encoding="UTF-8"?>
  2  
  3  <!--
  4  SPDX-FileCopyrightText: 2023 LakeSoul Contributors
  5  
  6  SPDX-License-Identifier: Apache-2.0
  7  -->
  8  
  9  <project xmlns="http://maven.apache.org/POM/4.0.0"
 10           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 11           xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 12      <parent>
 13          <artifactId>lakesoul-parent</artifactId>
 14          <groupId>com.dmetasoul</groupId>
 15          <version>${revision}</version>
 16      </parent>
 17      <modelVersion>4.0.0</modelVersion>
 18      <name>LakeSoul Flink</name>
 19  
 20      <artifactId>lakesoul-flink</artifactId>
 21      <version>1.20-${revision}</version>
 22      <properties>
 23          <flink.version>1.20.0</flink.version>
 24          <log4j.version>2.17.2</log4j.version>
 25          <cdc.version>3.5.0</cdc.version>
 26      </properties>
 27  
 28      <dependencies>
 29          <dependency>
 30              <groupId>org.hamcrest</groupId>
 31              <artifactId>hamcrest</artifactId>
 32              <version>2.1</version>
 33              <scope>test</scope>
 34          </dependency>
 35          <dependency>
 36              <groupId>com.dmetasoul</groupId>
 37              <artifactId>lakesoul-common</artifactId>
 38              <version>${revision}</version>
 39              <exclusions>
 40                  <exclusion>
 41                      <groupId>org.slf4j</groupId>
 42                      <artifactId>slf4j-api</artifactId>
 43                  </exclusion>
 44                  <exclusion>
 45                      <groupId>com.fasterxml.jackson.core</groupId>
 46                      <artifactId>*</artifactId>
 47                  </exclusion>
 48                  <exclusion>
 49                      <groupId>commons-io</groupId>
 50                      <artifactId>commons-io</artifactId>
 51                  </exclusion>
 52                  <exclusion>
 53                      <groupId>commons-codec</groupId>
 54                      <artifactId>commons-codec</artifactId>
 55                  </exclusion>
 56              </exclusions>
 57          </dependency>
 58          <dependency>
 59              <groupId>com.dmetasoul</groupId>
 60              <artifactId>lakesoul-io-java</artifactId>
 61              <version>${revision}</version>
 62              <exclusions>
 63                  <exclusion>
 64                      <groupId>org.slf4j</groupId>
 65                      <artifactId>*</artifactId>
 66                  </exclusion>
 67                  <exclusion>
 68                      <groupId>log4j</groupId>
 69                      <artifactId>log4j</artifactId>
 70                  </exclusion>
 71                  <exclusion>
 72                      <groupId>org.slf4j</groupId>
 73                      <artifactId>slf4j-api</artifactId>
 74                  </exclusion>
 75                  <exclusion>
 76                      <groupId>com.fasterxml.jackson.core</groupId>
 77                      <artifactId>*</artifactId>
 78                  </exclusion>
 79              </exclusions>
 80          </dependency>
 81          <!--flink-->
 82          <dependency>
 83              <groupId>org.apache.flink</groupId>
 84              <artifactId>flink-table-common</artifactId>
 85              <version>${flink.version}</version>
 86              <scope>${local.scope}</scope>
 87          </dependency>
 88  
 89  
 90          <dependency>
 91              <groupId>io.openlineage</groupId>
 92              <artifactId>openlineage-flink</artifactId>
 93              <version>1.19.0</version>
 94              <scope>${local.scope}</scope>
 95          </dependency>
 96          <dependency>
 97              <groupId>org.apache.flink</groupId>
 98              <artifactId>flink-connector-kafka</artifactId>
 99              <version>3.4.0-1.20</version>
100              <scope>${local.scope}</scope>
101          </dependency>
102  
103          <dependency>
104              <groupId>org.apache.flink</groupId>
105              <artifactId>flink-core</artifactId>
106              <version>${flink.version}</version>
107              <scope>${local.scope}</scope>
108          </dependency>
109          <dependency>
110              <groupId>org.apache.flink</groupId>
111              <artifactId>flink-streaming-java</artifactId>
112              <version>${flink.version}</version>
113              <scope>${local.scope}</scope>
114              <exclusions>
115                  <exclusion>
116                      <groupId>org.scala-lang</groupId>
117                      <artifactId>*</artifactId>
118                  </exclusion>
119              </exclusions>
120          </dependency>
121          <dependency>
122              <groupId>org.apache.flink</groupId>
123              <artifactId>flink-clients</artifactId>
124              <version>${flink.version}</version>
125              <scope>${local.scope}</scope>
126          </dependency>
127          <dependency>
128              <groupId>org.apache.flink</groupId>
129              <artifactId>flink-runtime</artifactId>
130              <version>${flink.version}</version>
131              <scope>${local.scope}</scope>
132          </dependency>
133          <dependency>
134              <groupId>org.apache.flink</groupId>
135              <artifactId>flink-formats</artifactId>
136              <version>${flink.version}</version>
137              <scope>${local.scope}</scope>
138              <type>pom</type>
139          </dependency>
140          <dependency>
141              <groupId>org.apache.flink</groupId>
142              <artifactId>flink-tests</artifactId>
143              <version>${flink.version}</version>
144              <scope>test</scope>
145              <type>test-jar</type>
146          </dependency>
147          <dependency>
148              <groupId>org.apache.flink</groupId>
149              <artifactId>flink-json</artifactId>
150              <version>${flink.version}</version>
151              <scope>test</scope>
152          </dependency>
153          <dependency>
154              <groupId>org.apache.flink</groupId>
155              <artifactId>flink-streaming-java</artifactId>
156              <version>${flink.version}</version>
157              <scope>test</scope>
158              <type>test-jar</type>
159          </dependency>
160          <!-- scala deps -->
161          <dependency>
162              <groupId>org.scala-lang</groupId>
163              <artifactId>scala-library</artifactId>
164              <version>${scala.version}</version>
165          </dependency>
166          <dependency>
167              <groupId>org.scala-lang</groupId>
168              <artifactId>scala-compiler</artifactId>
169              <version>${scala.version}</version>
170              <scope>${local.scope}</scope>
171          </dependency>
172          <dependency>
173              <groupId>org.scala-lang</groupId>
174              <artifactId>scala-reflect</artifactId>
175              <version>${scala.version}</version>
176          </dependency>
177  
178          <dependency>
179              <groupId>org.apache.flink</groupId>
180              <artifactId>flink-sql-connector-sqlserver-cdc</artifactId>
181              <version>${cdc.version}</version>
182          </dependency>
183          <dependency>
184              <groupId>org.apache.flink</groupId>
185              <artifactId>flink-sql-connector-mysql-cdc</artifactId>
186              <version>${cdc.version}</version>
187          </dependency>
188          <dependency>
189              <groupId>org.apache.flink</groupId>
190              <artifactId>flink-sql-connector-oracle-cdc</artifactId>
191              <version>${cdc.version}</version>
192          </dependency>
193          <dependency>
194              <groupId>org.apache.flink</groupId>
195              <artifactId>flink-sql-connector-postgres-cdc</artifactId>
196              <version>${cdc.version}</version>
197          </dependency>
198          <dependency>
199              <groupId>org.apache.flink</groupId>
200              <artifactId>flink-sql-connector-mongodb-cdc</artifactId>
201              <version>${cdc.version}</version>
202          </dependency>
203          <dependency>
204              <groupId>org.apache.flink</groupId>
205              <artifactId>flink-connector-mongodb</artifactId>
206              <version>1.0.1-1.17</version>
207          </dependency>
208          <dependency>
209              <groupId>org.mongodb</groupId>
210              <artifactId>bson</artifactId>
211              <version>4.7.2</version>
212          </dependency>
213          <dependency>
214              <groupId>org.apache.doris</groupId>
215              <artifactId>flink-doris-connector-1.20</artifactId>
216              <version>25.0.0</version>
217              <scope>${local.scope}</scope>
218          </dependency>
219          <dependency>
220              <groupId>org.apache.flink</groupId>
221              <artifactId>flink-connector-jdbc</artifactId>
222              <version>3.3.0-1.20</version>
223              <scope>${local.scope}</scope>
224          </dependency>
225          <dependency>
226              <groupId>org.apache.flink</groupId>
227              <artifactId>flink-table</artifactId>
228              <version>${flink.version}</version>
229              <type>pom</type>
230              <scope>${local.scope}</scope>
231          </dependency>
232          <dependency>
233              <groupId>org.apache.flink</groupId>
234              <artifactId>flink-table-api-scala_2.12</artifactId>
235              <version>${flink.version}</version>
236              <scope>${local.scope}</scope>
237              <exclusions>
238                  <exclusion>
239                      <groupId>org.scala-lang</groupId>
240                      <artifactId>*</artifactId>
241                  </exclusion>
242              </exclusions>
243          </dependency>
244          <dependency>
245              <groupId>org.apache.flink</groupId>
246              <artifactId>flink-table-planner_2.12</artifactId>
247              <version>${flink.version}</version>
248              <scope>${local.scope}</scope>
249              <exclusions>
250                  <exclusion>
251                      <groupId>org.scala-lang</groupId>
252                      <artifactId>*</artifactId>
253                  </exclusion>
254                  <exclusion>
255                      <groupId>org.slf4j</groupId>
256                      <artifactId>slf4j-api</artifactId>
257                  </exclusion>
258              </exclusions>
259          </dependency>
260          <dependency>
261              <groupId>org.apache.flink</groupId>
262              <artifactId>flink-runtime-web</artifactId>
263              <version>${flink.version}</version>
264              <scope>${local.scope}</scope>
265          </dependency>
266          <dependency>
267              <groupId>org.apache.flink</groupId>
268              <artifactId>flink-connector-files</artifactId>
269              <version>${flink.version}</version>
270              <scope>${local.scope}</scope>
271          </dependency>
272          <dependency>
273              <groupId>org.apache.flink</groupId>
274              <artifactId>flink-test-utils</artifactId>
275              <version>${flink.version}</version>
276              <exclusions>
277                  <exclusion>
278                      <groupId>org.slf4j</groupId>
279                      <artifactId>slf4j-api</artifactId>
280                  </exclusion>
281                  <exclusion>
282                      <groupId>com.fasterxml.jackson.core</groupId>
283                      <artifactId>jackson-annotations</artifactId>
284                  </exclusion>
285              </exclusions>
286              <scope>test</scope>
287          </dependency>
288          <dependency>
289              <groupId>org.apache.flink</groupId>
290              <artifactId>flink-csv</artifactId>
291              <version>${flink.version}</version>
292              <scope>test</scope>
293          </dependency>
294          <dependency>
295              <groupId>org.apache.flink</groupId>
296              <artifactId>flink-parquet</artifactId>
297              <version>${flink.version}</version>
298              <scope>test</scope>
299          </dependency>
300          <dependency>
301              <groupId>org.apache.parquet</groupId>
302              <artifactId>parquet-hadoop-bundle</artifactId>
303              <version>1.12.3</version>
304              <scope>test</scope>
305          </dependency>
306          <dependency>
307              <groupId>org.yaml</groupId>
308              <artifactId>snakeyaml</artifactId>
309              <version>2.2</version>
310          </dependency>
311  
312          <!--The following 3 are required to run tests with access to s3/hdfs-->
313          <dependency>
314              <groupId>org.apache.flink</groupId>
315              <artifactId>flink-s3-fs-hadoop</artifactId>
316              <version>${flink.version}</version>
317              <scope>${local.scope}</scope>
318          </dependency>
319  
320          <!--flink-sql-submitter-->
321          <dependency>
322              <groupId>org.apache.flink</groupId>
323              <artifactId>flink-table-api-java-bridge</artifactId>
324              <version>${flink.version}</version>
325              <scope>${local.scope}</scope>
326          </dependency>
327  
328          <dependency>
329              <groupId>org.furyio</groupId>
330              <artifactId>fury-core</artifactId>
331              <version>0.4.1</version>
332              <exclusions>
333                  <exclusion>
334                      <groupId>org.slf4j</groupId>
335                      <artifactId>*</artifactId>
336                  </exclusion>
337                  <exclusion>
338                      <groupId>org.checkerframework</groupId>
339                      <artifactId>checker-qual</artifactId>
340                  </exclusion>
341              </exclusions>
342          </dependency>
343  
344          <dependency>
345              <groupId>org.apache.flink</groupId>
346              <artifactId>flink-table-planner_2.12</artifactId>
347              <version>${flink.version}</version>
348              <type>test-jar</type>
349              <scope>test</scope>
350              <exclusions>
351                  <exclusion>
352                      <groupId>org.scala-lang</groupId>
353                      <artifactId>*</artifactId>
354                  </exclusion>
355                  <exclusion>
356                      <groupId>org.slf4j</groupId>
357                      <artifactId>slf4j-api</artifactId>
358                  </exclusion>
359              </exclusions>
360          </dependency>
361  
362          <dependency>
363              <groupId>org.assertj</groupId>
364              <artifactId>assertj-core</artifactId>
365              <version>3.23.1</version>
366              <scope>test</scope>
367          </dependency>
368  
369          <!--  needed by murmurhash3-->
370          <dependency>
371              <groupId>org.apache.spark</groupId>
372              <artifactId>spark-unsafe_${scala.binary.version}</artifactId>
373              <version>${spark.version}</version>
374              <exclusions>
375                  <exclusion>
376                      <groupId>org.scala-lang</groupId>
377                      <artifactId>*</artifactId>
378                  </exclusion>
379                  <exclusion>
380                      <groupId>com.twitter</groupId>
381                      <artifactId>*</artifactId>
382                  </exclusion>
383              </exclusions>
384          </dependency>
385          <dependency>
386              <groupId>junit</groupId>
387              <artifactId>junit</artifactId>
388              <version>4.13.2</version>
389              <scope>test</scope>
390          </dependency>
391          <dependency>
392              <groupId>org.apache.flink</groupId>
393              <artifactId>flink-hadoop-fs</artifactId>
394              <version>${flink.version}</version>
395              <scope>${local.scope}</scope>
396          </dependency>
397          <dependency>
398              <groupId>org.apache.hadoop</groupId>
399              <artifactId>hadoop-client-api</artifactId>
400              <version>3.3.2</version>
401              <scope>${local.scope}</scope>
402          </dependency>
403          <dependency>
404              <groupId>org.apache.hadoop</groupId>
405              <artifactId>hadoop-client-runtime</artifactId>
406              <version>3.3.2</version>
407              <scope>${local.scope}</scope>
408          </dependency>
409          <dependency>
410              <groupId>io.openlineage</groupId>
411              <artifactId>openlineage-flink</artifactId>
412              <version>1.19.0</version>
413              <scope>${local.scope}</scope>
414          </dependency>
415  
416      </dependencies>
417  
418      <build>
419          <plugins>
420              <plugin>
421                  <groupId>net.alchim31.maven</groupId>
422                  <artifactId>scala-maven-plugin</artifactId>
423                  <version>4.9.0</version>
424                  <executions>
425                      <execution>
426                          <id>scala-compile-first</id>
427                          <phase>process-resources</phase>
428                          <goals>
429                              <goal>add-source</goal>
430                              <goal>compile</goal>
431                          </goals>
432                      </execution>
433                      <execution>
434                          <id>scala-test-compile</id>
435                          <phase>process-test-resources</phase>
436                          <goals>
437                              <goal>testCompile</goal>
438                          </goals>
439                      </execution>
440                  </executions>
441              </plugin>
442              <plugin>
443                  <groupId>org.apache.maven.plugins</groupId>
444                  <artifactId>maven-compiler-plugin</artifactId>
445                  <version>3.13.0</version>
446                  <executions>
447                      <execution>
448                          <phase>compile</phase>
449                          <goals>
450                              <goal>compile</goal>
451                          </goals>
452                      </execution>
453                  </executions>
454                  <configuration>
455                      <source>11</source>
456                      <target>11</target>
457                  </configuration>
458              </plugin>
459              <plugin>
460                  <groupId>org.apache.maven.plugins</groupId>
461                  <artifactId>maven-surefire-plugin</artifactId>
462                  <version>3.1.0</version>
463                  <configuration>
464                      <skip>false</skip>
465                      <includes>
466                          <include>**/*</include>
467                      </includes>
468                      <excludes>
469                          <exclude>LakeSoulPrestoTest</exclude>
470                          <exclude>LakeSoulRBACTest</exclude>
471                      </excludes>
472                  </configuration>
473              </plugin>
474              <plugin>
475                  <groupId>org.apache.maven.plugins</groupId>
476                  <artifactId>maven-jar-plugin</artifactId>
477                  <version>3.3.0</version>
478                  <executions>
479                      <execution>
480                          <goals>
481                              <goal>test-jar</goal>
482                          </goals>
483                      </execution>
484                  </executions>
485              </plugin>
486              <plugin>
487                  <groupId>org.apache.maven.plugins</groupId>
488                  <artifactId>maven-shade-plugin</artifactId>
489                  <version>3.5.2</version>
490                  <executions>
491                      <execution>
492                          <phase>package</phase>
493                          <goals>
494                              <goal>shade</goal>
495                          </goals>
496                      </execution>
497                  </executions>
498                  <configuration>
499                      <createDependencyReducedPom>true</createDependencyReducedPom>
500                      <useDependencyReducedPomInJar>true</useDependencyReducedPomInJar>
501                      <artifactSet>
502                          <includes>
503                              <include>com.dmetasoul:lakesoul-flink</include>
504                              <include>org.apache.flink:flink-sql-connector-mysql-cdc</include>
505                              <include>org.apache.flink:flink-sql-connector-postgres-cdc</include>
506                              <include>org.apache.flink:flink-sql-connector-mongodb-cdc</include>
507                              <include>org.apache.flink:flink-sql-connector-sqlserver-cdc</include>
508                              <include>org.apache.flink:flink-sql-connector-oracle-cdc</include>
509                              <include>org.apache.flink:flink-connector-mongodb</include>
510                              <include>org.mongodb:bson</include>
511                              <include>com.dmetasoul:lakesoul-common</include>
512                              <include>com.dmetasoul:lakesoul-io-java</include>
513                              <include>com.github.jnr:*</include>
514                              <include>org.ow2.asm:*</include>
515                              <include>org.apache.arrow:*</include>
516                              <include>org.eclipse.collections:*</include>
517                              <include>org.apache.parquet:*</include>
518                              <include>org.apache.yetus:*</include>
519                              <include>io.netty:*</include>
520                              <include>com.google.flatbuffers:*</include>
521                              <include>com.zaxxer:HikariCP</include>
522                              <include>org.postgresql:postgresql</include>
523                              <include>com.alibaba:fastjson</include>
524                              <include>org.apache.spark:spark-core_${scala.binary.version}</include>
525                              <include>org.apache.spark:spark-catalyst_${scala.binary.version}</include>
526                              <include>org.apache.spark:spark-unsafe_${scala.binary.version}</include>
527                              <include>org.apache.spark:spark-tags_${scala.binary.version}</include>
528                              <include>org.json4s:json4s-jackson_2.12</include>
529                              <include>org.json4s:json4s-core_2.12</include>
530                              <include>org.json4s:json4s-ast_2.12</include>
531                              <include>org.json4s:json4s-scalap_2.12</include>
532                              <include>org.apache.flink:flink-csv</include>
533                              <include>com.fasterxml.jackson.core:jackson-core</include>
534                              <include>com.fasterxml.jackson.core:jackson-databind</include>
535                              <include>com.fasterxml.jackson.core:jackson-annotations</include>
536                              <include>com.fasterxml.jackson.module:jackson-module-scala_2.12</include>
537                              <include>com.fasterxml.jackson.module:jackson-module-paranamer</include>
538                              <include>com.thoughtworks.paranamer:paranamer</include>
539                              <include>org.furyio:fury-core</include>
540                              <include>com.google.guava:guava</include>
541                              <include>com.google.guava:failureaccess</include>
542                              <!-- casbin & aspectj -->
543                              <include>org.casbin:jdbc-adapter</include>
544                              <include>org.aspectj:aspectjrt</include>
545                              <include>org.aspectj:aspectjweaver</include>
546                              <include>org.apache.commons:commons-collections4</include>
547                              <include>org.casbin:jcasbin</include>
548                              <include>com.googlecode.aviator:aviator</include>
549                              <include>com.github.seancfoley:ipaddress</include>
550                              <include>commons-io:commons-io</include>
551                              <include>org.apache.commons:commons-csv</include>
552                              <include>com.google.code.gson:gson</include>
553                              <include>dev.failsafe:failsafe</include>
554                              <include>com.google.protobuf:protobuf-java</include>
555                              <!--substrait-->
556                              <inclue>io.substrait:core</inclue>
557                              <include>com.fasterxml.jackson.dataformat:jackson-dataformat-yaml</include>
558                              <include>com.fasterxml.jackson.datatype:jackson-datatype-jdk8</include>
559                              <include>org.antlr:*</include>
560                              <include>org.yaml:snakeyaml</include>
561                          </includes>
562                          <excludes>
563                              <exclude>org.apache.logging.log4j:*</exclude>
564                              <exclude>org.slf4j:*</exclude>
565                          </excludes>
566                      </artifactSet>
567                      <filters>
568                          <filter>
569                              <artifact>*:*</artifact>
570                              <excludes>
571                                  <exclude>META-INF/*.SF</exclude>
572                                  <exclude>META-INF/*.DSA</exclude>
573                                  <exclude>META-INF/*.RSA</exclude>
574                                  <exclude>META-INF/versions/**</exclude>
575                              </excludes>
576                          </filter>
577                          <filter>
578                              <artifact>com.ververica:flink-sql-connector-mysql-cdc</artifact>
579                              <excludes>
580                                  <exclude>org/apache/flink/shaded/guava30/**</exclude>
581                                  <exclude>META-INF/maven/com.google.guava/**</exclude>
582                              </excludes>
583                          </filter>
584                      </filters>
585                      <relocations>
586                          <relocation>
587                              <pattern>com.zaxxer.hikari</pattern>
588                              <shadedPattern>com.lakesoul.shaded.com.zaxxer.hikari</shadedPattern>
589                          </relocation>
590                          <relocation>
591                              <pattern>org.postgresql</pattern>
592                              <shadedPattern>com.lakesoul.shaded.org.postgresql</shadedPattern>
593                          </relocation>
594                          <relocation>
595                              <pattern>com.alibaba.fastjson</pattern>
596                              <shadedPattern>com.lakesoul.shaded.com.alibaba.fastjson</shadedPattern>
597                          </relocation>
598                          <relocation>
599                              <pattern>com.google.flatbuffers</pattern>
600                              <shadedPattern>com.lakesoul.shaded.com.google.flatbuffers</shadedPattern>
601                          </relocation>
602                          <relocation>
603                              <pattern>com.google.common</pattern>
604                              <shadedPattern>com.lakesoul.shaded.com.google.common</shadedPattern>
605                          </relocation>
606                          <relocation>
607                              <pattern>org.apache.spark</pattern>
608                              <shadedPattern>com.lakesoul.shaded.org.apache.spark</shadedPattern>
609                          </relocation>
610                          <relocation>
611                              <pattern>org.apache.flink.table.runtime.arrow</pattern>
612                              <shadedPattern>com.lakesoul.shaded.org.apache.flink.table.runtime.arrow</shadedPattern>
613                          </relocation>
614                          <relocation>
615                              <pattern>org.apache.flink.table.runtime.typeutils.serializers.python</pattern>
616                              <shadedPattern>com.lakesoul.shaded.org.apache.flink.table.runtime.typeutils.serializers.python</shadedPattern>
617                          </relocation>
618                          <relocation>
619                              <pattern>org.apache.flink.table.runtime.typeutils.PythonTypeUtils</pattern>
620                              <shadedPattern>com.lakesoul.shaded.org.apache.flink.table.runtime.typeutils.PythonTypeUtils</shadedPattern>
621                          </relocation>
622                          <relocation>
623                              <pattern>org.apache.flink.fnexecution</pattern>
624                              <shadedPattern>com.lakesoul.shaded.org.apache.flink.fnexecution</shadedPattern>
625                          </relocation>
626                          <relocation>
627                              <pattern>io.netty</pattern>
628                              <shadedPattern>com.lakesoul.shaded.io.netty</shadedPattern>
629                          </relocation>
630                          <relocation>
631                              <pattern>org.apache.arrow.flatbuf</pattern>
632                              <shadedPattern>com.lakesoul.shaded.org.apache.arrow.flatbuf</shadedPattern>
633                          </relocation>
634                          <relocation>
635                              <pattern>org.apache.arrow.memory</pattern>
636                              <shadedPattern>com.lakesoul.shaded.org.apache.arrow.memory</shadedPattern>
637                          </relocation>
638                          <relocation>
639                              <pattern>org.apache.arrow.util</pattern>
640                              <shadedPattern>com.lakesoul.shaded.org.apache.arrow.util</shadedPattern>
641                          </relocation>
642                          <relocation>
643                              <pattern>org.apache.arrow.vector</pattern>
644                              <shadedPattern>com.lakesoul.shaded.org.apache.arrow.vector</shadedPattern>
645                          </relocation>
646                          <relocation>
647                              <pattern>com.google.protobuf</pattern>
648                              <shadedPattern>com.lakesoul.shaded.com.google.protobuf</shadedPattern>
649                          </relocation>
650                          <relocation>
651                              <pattern>org.apache.parquet</pattern>
652                              <shadedPattern>com.lakesoul.shaded.org.apache.parquet</shadedPattern>
653                          </relocation>
654                          <relocation>
655                              <pattern>shaded.parquet</pattern>
656                              <shadedPattern>com.lakesoul.shaded.shaded.parquet</shadedPattern>
657                          </relocation>
658                          <relocation>
659                              <pattern>com.fasterxml.jackson</pattern>
660                              <shadedPattern>com.lakesoul.shaded.com.fasterxml.jackson</shadedPattern>
661                          </relocation>
662                          <relocation>
663                              <pattern>org.json4s</pattern>
664                              <shadedPattern>com.lakesoul.shaded.org.json4s</shadedPattern>
665                          </relocation>
666                          <relocation>
667                              <pattern>dev.failsafe</pattern>
668                              <shadedPattern>com.lakesoul.shaded.dev.failsafe</shadedPattern>
669                          </relocation>
670                          <relocation>
671                              <pattern>org.aspectj</pattern>
672                              <shadedPattern>com.lakesoul.shaded.org.aspectj</shadedPattern>
673                          </relocation>
674                          <relocation>
675                              <pattern>org.checkerframework</pattern>
676                              <shadedPattern>com.lakesoul.shaded.org.checkerframework</shadedPattern>
677                          </relocation>
678                          <relocation>
679                              <pattern>org.yaml.snakeyaml</pattern>
680                              <shadedPattern>com.lakesoul.shaded.org.yaml.snakeyaml</shadedPattern>
681                          </relocation>
682                          <relocation>
683                              <pattern>org.antlr</pattern>
684                              <shadedPattern>com.lakesoul.shaded.org.antlr</shadedPattern>
685                          </relocation>
686                          <relocation>
687                              <pattern>io.substrait</pattern>
688                              <shadedPattern>com.lakesoul.shaded.io.substrait</shadedPattern>
689                          </relocation>
690                          <relocation>
691                              <pattern>org.stringtemplate</pattern>
692                              <shadedPattern>com.lakesoul.shaded.org.stringtemplate</shadedPattern>
693                          </relocation>
694                          <relocation>
695                              <pattern>org.abego</pattern>
696                              <shadedPattern>com.lakesoul.shaded.org.abego</shadedPattern>
697                          </relocation>
698                          <relocation>
699                              <pattern>org.antlr</pattern>
700                              <shadedPattern>com.lakesoul.shaded.org.antlr</shadedPattern>
701                          </relocation>
702                          <relocation>
703                              <pattern>org.ow2.asm</pattern>
704                              <shadedPattern>com.lakesoul.shaded.org.ow2.asm</shadedPattern>
705                          </relocation>
706                          <relocation>
707                              <pattern>org.objectweb.asm</pattern>
708                              <shadedPattern>com.lakesoul.shaded.org.objectweb.asm</shadedPattern>
709                          </relocation>
710                      </relocations>
711                      <transformers>
712                          <transformer
713                                  implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
714                      </transformers>
715                  </configuration>
716              </plugin>
717              <plugin>
718                  <groupId>org.codehaus.mojo</groupId>
719                  <artifactId>flatten-maven-plugin</artifactId>
720                  <version>1.6.0</version>
721                  <configuration>
722                      <flattenMode>ossrh</flattenMode>
723                  </configuration>
724                  <executions>
725                      <!-- enable flattening -->
726                      <execution>
727                          <id>flatten</id>
728                          <phase>process-resources</phase>
729                          <goals>
730                              <goal>flatten</goal>
731                          </goals>
732                      </execution>
733                      <!-- ensure proper cleanup -->
734                      <execution>
735                          <id>flatten.clean</id>
736                          <phase>clean</phase>
737                          <goals>
738                              <goal>clean</goal>
739                          </goals>
740                      </execution>
741                  </executions>
742              </plugin>
743          </plugins>
744      </build>
745  </project>