2020-07-21 10:31:42 +00:00
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<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">
|
2023-07-06 19:13:11 +00:00
|
|
|
|
|
|
|
|
<modelVersion>4.0.0</modelVersion>
|
2021-12-20 10:31:08 +00:00
|
|
|
<parent>
|
|
|
|
|
<groupId>com.appsmith</groupId>
|
|
|
|
|
<artifactId>appsmith-plugins</artifactId>
|
|
|
|
|
<version>1.0-SNAPSHOT</version>
|
|
|
|
|
</parent>
|
2020-07-21 10:31:42 +00:00
|
|
|
<groupId>com.external.plugins</groupId>
|
|
|
|
|
<artifactId>mysqlPlugin</artifactId>
|
|
|
|
|
<version>1.0-SNAPSHOT</version>
|
|
|
|
|
|
|
|
|
|
<name>mysqlPlugin</name>
|
|
|
|
|
|
|
|
|
|
<dependencies>
|
2020-11-28 12:34:56 +00:00
|
|
|
<dependency>
|
2023-01-03 20:47:57 +00:00
|
|
|
<groupId>org.mariadb</groupId>
|
|
|
|
|
<artifactId>r2dbc-mariadb</artifactId>
|
2023-06-30 06:10:05 +00:00
|
|
|
<version>1.1.4</version>
|
2020-11-28 12:34:56 +00:00
|
|
|
<exclusions>
|
2022-06-02 11:44:21 +00:00
|
|
|
<exclusion>
|
|
|
|
|
<groupId>io.netty</groupId>
|
|
|
|
|
<artifactId>*</artifactId>
|
|
|
|
|
</exclusion>
|
2020-11-28 12:34:56 +00:00
|
|
|
<exclusion>
|
|
|
|
|
<groupId>org.slf4j</groupId>
|
|
|
|
|
<artifactId>slf4j-api</artifactId>
|
|
|
|
|
</exclusion>
|
|
|
|
|
<exclusion>
|
|
|
|
|
<groupId>io.projectreactor</groupId>
|
|
|
|
|
<artifactId>reactor-core</artifactId>
|
|
|
|
|
</exclusion>
|
|
|
|
|
<exclusion>
|
|
|
|
|
<groupId>org.reactivestreams</groupId>
|
|
|
|
|
<artifactId>reactive-streams</artifactId>
|
|
|
|
|
</exclusion>
|
|
|
|
|
</exclusions>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
fix: Fix LinkageError with macOS DNSResolver class (#16581)
On macOS, when running a MySQL query, we see the following error:
```
java.lang.ClassCastException: class io.netty.channel.kqueue.KQueueEventLoopGroup cannot be cast to class io.netty.channel.EventLoopGroup
```
This is because of a `LinkageError`, caused because these classes exist both in the parent `server` module classpath, as well as in this plugin's classpath separately. To fix this, we removed this dependency from the server module.
But then, this caused a problem with how the `DNSResolver` class was being, well, resolved by the application class loader, vs the plugin class loader. This is a macOS specific problem, and doesn't affect other operating systems.
For this, we add just this package as a dependency to the MySQL plugin.
2022-09-06 16:30:53 +00:00
|
|
|
<dependency>
|
|
|
|
|
<groupId>io.netty</groupId>
|
|
|
|
|
<artifactId>netty-resolver-dns-native-macos</artifactId>
|
|
|
|
|
<version>4.1.75.Final</version>
|
2023-07-06 19:13:11 +00:00
|
|
|
<classifier>osx-x86_64</classifier>
|
|
|
|
|
<scope>runtime</scope>
|
fix: Fix LinkageError with macOS DNSResolver class (#16581)
On macOS, when running a MySQL query, we see the following error:
```
java.lang.ClassCastException: class io.netty.channel.kqueue.KQueueEventLoopGroup cannot be cast to class io.netty.channel.EventLoopGroup
```
This is because of a `LinkageError`, caused because these classes exist both in the parent `server` module classpath, as well as in this plugin's classpath separately. To fix this, we removed this dependency from the server module.
But then, this caused a problem with how the `DNSResolver` class was being, well, resolved by the application class loader, vs the plugin class loader. This is a macOS specific problem, and doesn't affect other operating systems.
For this, we add just this package as a dependency to the MySQL plugin.
2022-09-06 16:30:53 +00:00
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>io.netty</groupId>
|
|
|
|
|
<artifactId>netty-resolver-dns-native-macos</artifactId>
|
|
|
|
|
<version>4.1.75.Final</version>
|
2023-07-06 19:13:11 +00:00
|
|
|
<classifier>osx-aarch_64</classifier>
|
|
|
|
|
<scope>runtime</scope>
|
fix: Fix LinkageError with macOS DNSResolver class (#16581)
On macOS, when running a MySQL query, we see the following error:
```
java.lang.ClassCastException: class io.netty.channel.kqueue.KQueueEventLoopGroup cannot be cast to class io.netty.channel.EventLoopGroup
```
This is because of a `LinkageError`, caused because these classes exist both in the parent `server` module classpath, as well as in this plugin's classpath separately. To fix this, we removed this dependency from the server module.
But then, this caused a problem with how the `DNSResolver` class was being, well, resolved by the application class loader, vs the plugin class loader. This is a macOS specific problem, and doesn't affect other operating systems.
For this, we add just this package as a dependency to the MySQL plugin.
2022-09-06 16:30:53 +00:00
|
|
|
</dependency>
|
|
|
|
|
|
2023-01-09 08:34:51 +00:00
|
|
|
<dependency>
|
|
|
|
|
<groupId>io.r2dbc</groupId>
|
|
|
|
|
<artifactId>r2dbc-pool</artifactId>
|
|
|
|
|
<!--
|
|
|
|
|
Please be careful when upgrading package version from 0.8.x to 0.9.x or higher since 0.9.x version
|
|
|
|
|
seems incompatible with r2dbc-mysql version 0.8.2.RELEASE because 0.9.x version contains a higher
|
|
|
|
|
version of one of the dependent packages (not able to remember the name of the package at the moment)
|
|
|
|
|
-->
|
|
|
|
|
<version>0.8.8.RELEASE</version>
|
|
|
|
|
<exclusions>
|
|
|
|
|
<exclusion>
|
|
|
|
|
<groupId>io.netty</groupId>
|
|
|
|
|
<artifactId>*</artifactId>
|
|
|
|
|
</exclusion>
|
|
|
|
|
<exclusion>
|
|
|
|
|
<groupId>org.slf4j</groupId>
|
|
|
|
|
<artifactId>slf4j-api</artifactId>
|
|
|
|
|
</exclusion>
|
|
|
|
|
<exclusion>
|
|
|
|
|
<groupId>io.projectreactor</groupId>
|
|
|
|
|
<artifactId>reactor-core</artifactId>
|
|
|
|
|
</exclusion>
|
|
|
|
|
<exclusion>
|
|
|
|
|
<groupId>org.reactivestreams</groupId>
|
|
|
|
|
<artifactId>reactive-streams</artifactId>
|
|
|
|
|
</exclusion>
|
|
|
|
|
</exclusions>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
2020-11-28 12:34:56 +00:00
|
|
|
<!-- Test Dependencies -->
|
2020-07-21 10:31:42 +00:00
|
|
|
<dependency>
|
2025-02-12 10:34:10 +00:00
|
|
|
<groupId>com.mysql</groupId>
|
|
|
|
|
<artifactId>mysql-connector-j</artifactId>
|
|
|
|
|
<version>9.2.0</version>
|
2020-11-28 12:34:56 +00:00
|
|
|
<scope>test</scope>
|
2020-07-21 10:31:42 +00:00
|
|
|
</dependency>
|
2020-11-28 12:34:56 +00:00
|
|
|
|
2020-07-21 10:31:42 +00:00
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.testcontainers</groupId>
|
|
|
|
|
<artifactId>mysql</artifactId>
|
2022-09-29 03:24:07 +00:00
|
|
|
<version>${testcontainers.version}</version>
|
2020-07-21 10:31:42 +00:00
|
|
|
<scope>test</scope>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
2020-11-28 12:34:56 +00:00
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.testcontainers</groupId>
|
|
|
|
|
<artifactId>r2dbc</artifactId>
|
2022-09-29 03:24:07 +00:00
|
|
|
<version>${testcontainers.version}</version>
|
2020-11-28 12:34:56 +00:00
|
|
|
<scope>test</scope>
|
2022-09-29 03:24:07 +00:00
|
|
|
<exclusions>
|
|
|
|
|
<exclusion>
|
|
|
|
|
<groupId>org.testcontainers</groupId>
|
|
|
|
|
<artifactId>testcontainers</artifactId>
|
|
|
|
|
</exclusion>
|
|
|
|
|
</exclusions>
|
2020-11-28 12:34:56 +00:00
|
|
|
</dependency>
|
2020-07-21 10:31:42 +00:00
|
|
|
</dependencies>
|
|
|
|
|
|
|
|
|
|
<build>
|
|
|
|
|
<plugins>
|
|
|
|
|
<plugin>
|
|
|
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
|
|
|
</plugin>
|
2020-07-24 04:19:17 +00:00
|
|
|
<plugin>
|
|
|
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
|
|
|
<executions>
|
|
|
|
|
<execution>
|
|
|
|
|
<id>copy-dependencies</id>
|
|
|
|
|
<goals>
|
|
|
|
|
<goal>copy-dependencies</goal>
|
|
|
|
|
</goals>
|
2023-07-06 19:13:11 +00:00
|
|
|
<phase>package</phase>
|
2020-07-24 04:19:17 +00:00
|
|
|
<configuration>
|
|
|
|
|
<includeScope>runtime</includeScope>
|
|
|
|
|
<outputDirectory>${project.build.directory}/lib</outputDirectory>
|
|
|
|
|
</configuration>
|
|
|
|
|
</execution>
|
|
|
|
|
</executions>
|
|
|
|
|
</plugin>
|
2020-07-21 10:31:42 +00:00
|
|
|
</plugins>
|
|
|
|
|
</build>
|
|
|
|
|
|
|
|
|
|
</project>
|