| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| ~ 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. |
| --> |
| <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"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <groupId>org.apache.paimon</groupId> |
| <artifactId>paimon-python-java-bridge</artifactId> |
| <version>1.0-SNAPSHOT</version> |
| <name>Paimon : Python-Java Bridge</name> |
| |
| <packaging>jar</packaging> |
| <inceptionYear>2024</inceptionYear> |
| |
| <properties> |
| <paimon.version>1.0.0</paimon.version> |
| <py4j.version>0.10.9.7</py4j.version> |
| <slf4j.version>1.7.32</slf4j.version> |
| <log4j.version>2.17.1</log4j.version> |
| <spotless.version>2.13.0</spotless.version> |
| <spotless.delimiter>package</spotless.delimiter> |
| <arrow.version>14.0.0</arrow.version> |
| <target.java.version>1.8</target.java.version> |
| <paimon.ci.tools.version>1.0.0</paimon.ci.tools.version> |
| </properties> |
| |
| <dependencies> |
| |
| <!-- Java dependencies --> |
| |
| <dependency> |
| <groupId>org.apache.paimon</groupId> |
| <artifactId>paimon-bundle</artifactId> |
| <version>${paimon.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.paimon</groupId> |
| <artifactId>paimon-arrow</artifactId> |
| <version>${paimon.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-1.2-api</artifactId> |
| <version>${log4j.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.arrow</groupId> |
| <artifactId>arrow-vector</artifactId> |
| <version>${arrow.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.arrow</groupId> |
| <artifactId>arrow-memory-unsafe</artifactId> |
| <version>${arrow.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.arrow</groupId> |
| <artifactId>arrow-c-data</artifactId> |
| <version>${arrow.version}</version> |
| </dependency> |
| |
| <!-- Python API dependencies --> |
| |
| <dependency> |
| <groupId>net.sf.py4j</groupId> |
| <artifactId>py4j</artifactId> |
| <version>${py4j.version}</version> |
| </dependency> |
| |
| </dependencies> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>com.diffplug.spotless</groupId> |
| <artifactId>spotless-maven-plugin</artifactId> |
| <version>${spotless.version}</version> |
| <configuration> |
| <java> |
| <googleJavaFormat> |
| <version>1.7</version> |
| <style>AOSP</style> |
| </googleJavaFormat> |
| |
| <!-- \# refers to the static imports --> |
| <importOrder> |
| <order>org.apache.paimon,org.apache.paimon.shade,,javax,java,scala,\#</order> |
| </importOrder> |
| |
| <licenseHeader> |
| <!-- replace it with ${project.rootDirectory} after maven 4.0.0, see MNG-7038 --> |
| <file>${maven.multiModuleProjectDirectory}/copyright.txt</file> |
| <delimiter>${spotless.delimiter}</delimiter> |
| </licenseHeader> |
| </java> |
| </configuration> |
| <executions> |
| <execution> |
| <id>spotless-check</id> |
| <phase>validate</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.8.0</version> |
| <configuration> |
| <source>${target.java.version}</source> |
| <target>${target.java.version}</target> |
| <!-- The semantics of this option are reversed, see MCOMPILER-209. --> |
| <useIncrementalCompilation>false</useIncrementalCompilation> |
| <compilerArgs> |
| <!-- Prevents recompilation due to missing package-info.class, see MCOMPILER-205 --> |
| <arg>-Xpkginfo:always</arg> |
| <arg>-Xlint:deprecation</arg> |
| </compilerArgs> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>shade-paimon</id> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| <configuration> |
| <shadeTestJar>false</shadeTestJar> |
| <shadedArtifactAttached>false</shadedArtifactAttached> |
| <createDependencyReducedPom>true</createDependencyReducedPom> |
| <artifactSet> |
| <includes combine.children="append"> |
| <include>org.apache.paimon:paimon-bundle</include> |
| <include>org.apache.paimon:paimon-arrow</include> |
| <include>org.apache.arrow:arrow-vector</include> |
| <include>org.apache.arrow:arrow-memory-core</include> |
| <include>org.apache.arrow:arrow-memory-unsafe</include> |
| <include>org.apache.arrow:arrow-c-data</include> |
| <include>org.apache.arrow:arrow-format</include> |
| <include>com.google.flatbuffers:flatbuffers-java</include> |
| <include>org.slf4j:slf4j-api</include> |
| <include>org.apache.logging.log4j:log4j-1.2-api</include> |
| <include>net.sf.py4j:py4j</include> |
| </includes> |
| </artifactSet> |
| <transformers combine.children="append"> |
| <!-- The service transformer is needed to merge META-INF/services files --> |
| <transformer |
| implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> |
| <!-- The ApacheNoticeResourceTransformer collects and aggregates NOTICE files --> |
| <transformer |
| implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer"> |
| <projectName>Apache Paimon</projectName> |
| <inceptionYear>${project.inceptionYear}</inceptionYear> |
| <encoding>UTF-8</encoding> |
| </transformer> |
| </transformers> |
| <relocations> |
| <relocation> |
| <pattern>com.fasterxml.jackson</pattern> |
| <shadedPattern>org.apache.paimon.shade.jackson2.com.fasterxml.jackson</shadedPattern> |
| </relocation> |
| </relocations> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-clean-plugin</artifactId> |
| <configuration> |
| <filesets> |
| <fileset> |
| <directory>${project.basedir}</directory> |
| <includes> |
| <include>dependency-reduced-pom.xml</include> |
| </includes> |
| </fileset> |
| </filesets> |
| </configuration> |
| </plugin> |
| </plugins> |
| |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>3.1.0</version> |
| <inherited>false</inherited> |
| <executions> |
| <execution> |
| <id>check-license</id> |
| <!-- manually called --> |
| <phase>none</phase> |
| <goals> |
| <goal>java</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <mainClass>org.apache.paimon.tools.ci.licensecheck.LicenseChecker</mainClass> |
| <includePluginDependencies>true</includePluginDependencies> |
| <includeProjectDependencies>false</includeProjectDependencies> |
| </configuration> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.paimon</groupId> |
| <artifactId>paimon-ci-tools</artifactId> |
| <version>${paimon.ci.tools.version}</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| </project> |