diff --git a/.github/workflows/check-java-bridge-licensing.yml b/.github/workflows/check-java-bridge-licensing.yml
new file mode 100644
index 0000000..1072532
--- /dev/null
+++ b/.github/workflows/check-java-bridge-licensing.yml
@@ -0,0 +1,55 @@
+# 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.
+
+name: Check Java Bridge Licensing
+
+on: [push, pull_request]
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event.number || github.run_id }}
+ cancel-in-progress: true
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ env:
+ MVN_COMMON_OPTIONS: -U -B --no-transfer-progress
+ MVN_BUILD_OUTPUT_FILE: "/tmp/mvn_build_output.out"
+ MVN_VALIDATION_DIR: "/tmp/paimon-validation-deployment"
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Set JDK
+ uses: actions/setup-java@v2
+ with:
+ java-version: 8
+ distribution: 'adopt'
+ - name: Build
+ run: |
+ set -o pipefail
+ cd paimon_python_java/paimon-python-java-bridge
+ mvn clean deploy ${{ env.MVN_COMMON_OPTIONS }} -DskipTests \
+ -DaltDeploymentRepository=validation_repository::default::file:${{ env.MVN_VALIDATION_DIR }} \
+ | tee ${{ env.MVN_BUILD_OUTPUT_FILE }}
+
+ - name: Check licensing
+ run: |
+ cd paimon_python_java/paimon-python-java-bridge
+ mvn ${{ env.MVN_COMMON_OPTIONS }} exec:java@check-licensing -N \
+ -Dexec.args="${{ env.MVN_BUILD_OUTPUT_FILE }} $(pwd) ${{ env.MVN_VALIDATION_DIR }}" \
+ -Dlog4j.configurationFile=file://$(pwd)/tools/ci/log4j.properties
+ env:
+ MAVEN_OPTS: -Xmx4096m
diff --git a/LICENSE b/LICENSE
index 261eeb9..f51b94d 100644
--- a/LICENSE
+++ b/LICENSE
@@ -199,3 +199,23 @@
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.
+
+------------------------------------------------------------------------------------
+
+This product bundles various third-party components under other open source licenses.
+This section summarizes those components and their licenses. See licenses/
+for text of these licenses.
+
+Apache Software Foundation License 2.0
+--------------------------------------
+
+paimon_python_java/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/FileLock.java
+paimon_python_java/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/NetUtils
+paimon_python_java/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/PythonEnvUtils
+paimon_python_java/paimon-python-java-bridge/src/main/java/org/apache/paimon/python/PythonGatewayServer
+
+paimon_python_java/gateway_server.py
+paimon_python_java/java_gateway.py
+paimon_python_java/util/exceptions.py
+
+from http://flink.apache.org/ version 1.20.0
diff --git a/NOTICE b/NOTICE
index b666c9f..81978c0 100644
--- a/NOTICE
+++ b/NOTICE
@@ -2,4 +2,269 @@ Apache Paimon Python
Copyright 2024 The Apache Software Foundation
This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
\ No newline at end of file
+The Apache Software Foundation (http://www.apache.org/).
+
+
+This project bundles the following dependencies under the under the MIT license
+- org.slf4j:slf4j-api:1.7.32
+
+This project bundles the following dependencies under the Apache Software License 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt)
+- org.apache.logging.log4j:log4j-1.2-api:2.17.1
+- org.apache.arrow:arrow-vector:14.0.0
+- org.apache.arrow:arrow-format:14.0.0
+- org.apache.arrow:arrow-memory-core:14.0.0
+- org.apache.arrow:arrow-memory-unsafe:14.0.0
+- org.apache.arrow:arrow-c-data:14.0.0
+- com.google.flatbuffers:flatbuffers-java:1.12.0
+
+This project bundles the following dependencies under the 2-Clause BSD License
+- net.sf.py4j:py4j:0.10.9.7
+
+
+Apache Paimon-shade (incubating)
+Copyright 2023-2024 The Apache Software Foundation
+
+Paimon : Bundle
+Copyright 2023-2024 The Apache Software Foundation
+
+paimon-common
+Copyright 2023-2024 The Apache Software Foundation
+
+This project bundles the following dependencies under the Apache Software License 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt)
+- org.roaringbitmap:RoaringBitmap:1.0.5
+- org.apache.datasketches:datasketches-java:4.2.0
+- org.apache.datasketches:datasketches-memory:2.2.0
+
+This project bundles the following dependencies under the BSD 3-clause license.
+You find them under licenses/LICENSE.antlr-runtime and licenses/LICENSE.janino.
+
+- org.antlr:antlr4-runtime:4.9.3
+- org.codehaus.janino:janino:3.0.11
+- org.codehaus.janino:commons-compiler:3.0.11
+- it.unimi.dsi:fastutil:8.5.12
+- net.openhft:zero-allocation-hashing:0.16
+- com.github.davidmoten:hilbert-curve:0.2.2
+- com.github.davidmoten:guava-mini:0.1.3
+
+datasketches-java
+Copyright 2015-2022 The Apache Software Foundation
+
+Apache DataSketches Memory
+Copyright 2022 - The Apache Software Foundation
+
+Copyright 2015-2018 Yahoo Inc.
+Copyright 2019-2020 Verizon Media
+Copyright 2021 Yahoo Inc.
+
+Prior to moving to ASF, the software for this project was developed at
+Yahoo Inc. (https://developer.yahoo.com).
+
+Paimon : Core
+Copyright 2023-2024 The Apache Software Foundation
+
+Paimon : Code Gen Loader
+Copyright 2023-2024 The Apache Software Foundation
+
+paimon-format
+Copyright 2023-2024 The Apache Software Foundation
+
+This project bundles the following dependencies under the Apache Software License 2.0. (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+- org.apache.orc:orc-core:1.9.2
+- org.apache.orc:orc-shims:1.9.2
+- org.apache.hive:hive-storage-api:2.8.1
+- io.airlift:aircompressor:0.27
+- commons-lang:commons-lang:2.6
+- org.apache.commons:commons-lang3:3.12.0
+
+- org.apache.avro:avro:1.11.3
+- com.fasterxml.jackson.core:jackson-core:2.14.2
+- com.fasterxml.jackson.core:jackson-databind:2.14.2
+- com.fasterxml.jackson.core:jackson-annotations:2.14.2
+- org.apache.commons:commons-compress:1.22
+
+- org.apache.parquet:parquet-hadoop:1.13.1
+- org.apache.parquet:parquet-column:1.13.1
+- org.apache.parquet:parquet-common:1.13.1
+- org.apache.parquet:parquet-encoding:1.13.1
+- org.apache.parquet:parquet-format-structures:1.13.1
+- org.apache.parquet:parquet-jackson:1.13.1
+- commons-pool:commons-pool:1.6
+
+This project bundles the following dependencies under the BSD license.
+You find it under licenses/LICENSE.protobuf, licenses/LICENSE.zstd-jni
+and licenses/LICENSE.threeten-extra
+
+- com.google.protobuf:protobuf-java:3.19.6
+- com.github.luben:zstd-jni:1.5.5-11
+- org.threeten:threeten-extra:1.7.1
+
+# Jackson JSON processor
+
+Jackson is a high-performance, Free/Open Source JSON processing library.
+It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has
+been in development since 2007.
+It is currently developed by a community of developers.
+
+## Licensing
+
+Jackson 2.x core and extension components are licensed under Apache License 2.0
+To find the details that apply to this artifact see the accompanying LICENSE file.
+
+## Credits
+
+A list of contributors may be found from CREDITS(-2.x) file, which is included
+in some artifacts (usually source distributions); but is always available
+from the source code management (SCM) system project uses.
+
+Apache Commons Lang
+Copyright 2001-2011 The Apache Software Foundation
+
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
+ORC Core
+Copyright 2013-2023 The Apache Software Foundation
+
+ORC Shims
+Copyright 2013-2023 The Apache Software Foundation
+
+Apache Commons Lang
+Copyright 2001-2021 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (https://www.apache.org/).
+
+Hive Storage API
+Copyright 2020 The Apache Software Foundation
+
+Apache Avro
+Copyright 2009-2023 The Apache Software Foundation
+
+Apache Commons Compress
+Copyright 2002-2022 The Apache Software Foundation
+
+---
+
+The files in the package org.apache.commons.compress.archivers.sevenz
+were derived from the LZMA SDK, version 9.20 (C/ and CPP/7zip/),
+which has been placed in the public domain:
+
+"LZMA SDK is placed in the public domain." (http://www.7-zip.org/sdk.html)
+
+The test file lbzip2_32767.bz2 has been copied from libbzip2's source
+repository:
+
+This program, "bzip2", the associated library "libbzip2", and all
+documentation, are copyright (C) 1996-2019 Julian R Seward. All
+rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+2. The origin of this software must not be misrepresented; you must
+ not claim that you wrote the original software. If you use this
+ software in a product, an acknowledgment in the product
+ documentation would be appreciated but is not required.
+
+3. Altered source versions must be plainly marked as such, and must
+ not be misrepresented as being the original software.
+
+4. The name of the author may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Julian Seward, jseward@acm.org
+
+Apache Commons Pool
+Copyright 2001-2012 The Apache Software Foundation
+
+Paimon : Hive Catalog
+Copyright 2023-2024 The Apache Software Foundation
+
+Paimon : Hive Common
+Copyright 2023-2024 The Apache Software Foundation
+
+paimon-shade-jackson-2
+Copyright 2023-2024 The Apache Software Foundation
+
+This project includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+This project bundles the following dependencies under the Apache Software License 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+- com.fasterxml.jackson.core:jackson-annotations:2.14.2
+- com.fasterxml.jackson.core:jackson-core:2.14.2
+- com.fasterxml.jackson.core:jackson-databind:2.14.2
+- com.fasterxml.jackson.dataformat:jackson-dataformat-csv:2.14.2
+- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.14.2
+- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.14.2
+- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.14.2
+- org.yaml:snakeyaml:1.33
+
+Jackson is a high-performance, Free/Open Source JSON processing library.
+It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has
+been in development since 2007.
+It is currently developed by a community of developers, as well as supported
+commercially by FasterXML.com.
+
+Jackson core and extension components may be licensed under different licenses.
+To find the details that apply to this artifact see the accompanying LICENSE file.
+For more information, including possible other licensing options, contact
+FasterXML.com (http://fasterxml.com).
+
+A list of contributors may be found from CREDITS file, which is included
+in some artifacts (usually source distributions); but is always available
+from the source code management (SCM) system project uses.
+
+paimon-shade-guava-30
+Copyright 2023-2024 The Apache Software Foundation
+
+- com.google.guava:guava:30.1.1-jre
+- com.google.guava:failureaccess:1.0.1
+
+paimon-shade-caffeine-2
+Copyright 2023-2024 The Apache Software Foundation
+
+- com.github.ben-manes.caffeine:caffeine:2.9.3
+
+Paimon : Arrow
+Copyright 2023-2024 The Apache Software Foundation
+
+Apache Log4j 1.x Compatibility API
+Copyright 1999-1969 The Apache Software Foundation
+
+Arrow Vectors
+Copyright 2023 The Apache Software Foundation
+
+Arrow Format
+Copyright 2023 The Apache Software Foundation
+
+Arrow Memory - Core
+Copyright 2023 The Apache Software Foundation
+
+Arrow Memory - Unsafe
+Copyright 2023 The Apache Software Foundation
+
+Arrow Java C Data Interface
+Copyright 2023 The Apache Software Foundation
+
+Apache Flink
+Copyright 2014-2024 The Apache Software Foundation
+
diff --git a/paimon_python_java/paimon-python-java-bridge/pom.xml b/paimon_python_java/paimon-python-java-bridge/pom.xml
index 52bc061..dd7f7f2 100644
--- a/paimon_python_java/paimon-python-java-bridge/pom.xml
+++ b/paimon_python_java/paimon-python-java-bridge/pom.xml
@@ -23,10 +23,11 @@
org.apache.paimonpaimon-python-java-bridge
- 0.1-SNAPSHOT
+ 0.9-SNAPSHOTPaimon : Python-Java Bridgejar
+ 20240.9.0
@@ -37,6 +38,7 @@
package14.0.01.8
+ 0.9.0
@@ -132,21 +134,21 @@
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.8.0
-
- ${target.java.version}
- ${target.java.version}
-
- false
-
-
- -Xpkginfo:always
- -Xlint:deprecation
-
-
-
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.8.0
+
+ ${target.java.version}
+ ${target.java.version}
+
+ false
+
+
+ -Xpkginfo:always
+ -Xlint:deprecation
+
+
+
org.apache.maven.plugins
@@ -159,6 +161,9 @@
shade
+ false
+ false
+ trueorg.apache.paimon:paimon-bundle
@@ -174,6 +179,18 @@
net.sf.py4j:py4j
+
+
+
+
+
+ Apache Paimon
+ ${project.inceptionYear}
+ UTF-8
+
+ com.fasterxml.jackson
@@ -184,7 +201,54 @@
+
+
+ org.apache.maven.plugins
+ maven-clean-plugin
+
+
+
+ ${project.basedir}
+
+ dependency-reduced-pom.xml
+
+
+
+
+
-
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 3.1.0
+ false
+
+
+ check-license
+
+ none
+
+ java
+
+
+
+
+ org.apache.paimon.tools.ci.licensecheck.LicenseChecker
+ true
+ false
+
+
+
+ org.apache.paimon
+ paimon-ci-tools
+ ${paimon.ci.tools.version}
+
+
+
+
+
+
diff --git a/paimon_python_java/paimon-python-java-bridge/src/main/resources/META-INF/NOTICE b/paimon_python_java/paimon-python-java-bridge/src/main/resources/META-INF/NOTICE
new file mode 100644
index 0000000..db5800c
--- /dev/null
+++ b/paimon_python_java/paimon-python-java-bridge/src/main/resources/META-INF/NOTICE
@@ -0,0 +1,21 @@
+paimon-python-java-bridge
+Copyright 2024 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+This project bundles the following dependencies under the under the MIT license
+- org.slf4j:slf4j-api:1.7.32
+
+This project bundles the following dependencies under the Apache Software License 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt)
+- org.apache.logging.log4j:log4j-1.2-api:2.17.1
+- org.apache.arrow:arrow-vector:14.0.0
+- org.apache.arrow:arrow-format:14.0.0
+- org.apache.arrow:arrow-memory-core:14.0.0
+- org.apache.arrow:arrow-memory-unsafe:14.0.0
+- org.apache.arrow:arrow-c-data:14.0.0
+- com.google.flatbuffers:flatbuffers-java:1.12.0
+
+This project bundles the following dependencies under the 2-Clause BSD License
+- net.sf.py4j:py4j:0.10.9.7
+
diff --git a/paimon_python_java/paimon-python-java-bridge/tools/ci/log4j.properties b/paimon_python_java/paimon-python-java-bridge/tools/ci/log4j.properties
new file mode 100644
index 0000000..7daf1c3
--- /dev/null
+++ b/paimon_python_java/paimon-python-java-bridge/tools/ci/log4j.properties
@@ -0,0 +1,43 @@
+################################################################################
+# 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.
+################################################################################
+
+rootLogger.level = INFO
+rootLogger.appenderRef.out.ref = ConsoleAppender
+
+# -----------------------------------------------------------------------------
+# Console (use 'console')
+# -----------------------------------------------------------------------------
+
+appender.console.name = ConsoleAppender
+appender.console.type = CONSOLE
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d{HH:mm:ss,SSS} [%20t] %-5p %-60c %x - %m%n
+
+# -----------------------------------------------------------------------------
+# File (use 'file')
+# -----------------------------------------------------------------------------
+appender.file.name = FileAppender
+appender.file.type = FILE
+appender.file.fileName = ${sys:log.dir}/mvn-${sys:mvn.forkNumber:-output}.log
+appender.file.layout.type = PatternLayout
+appender.file.layout.pattern = %d{HH:mm:ss,SSS} [%20t] %-5p %-60c %x - %m%n
+appender.file.createOnDemand = true
+
+# suppress the irrelevant (wrong) warnings from the netty channel handler
+logger.netty.name = org.jboss.netty.channel.DefaultChannelPipeline
+logger.netty.level = ERROR