From dd6cb0b1badc5d55be26f0786ed154b0445be91b Mon Sep 17 00:00:00 2001 From: linghengqian Date: Mon, 7 Oct 2024 23:16:28 +0800 Subject: [PATCH] Enable Safe Composition of Metadata for ShardingSphere Proxy Native --- RELEASE-NOTES.md | 1 + .../graalvm-native-image/_index.cn.md | 35 +- .../graalvm-native-image/_index.en.md | 33 +- .../1.2.13}/reflect-config.json | 10 + .../druid/1.2.7/reflect-config.json | 54 ++ .../druid/1.2.7/resource-config.json | 8 + .../transactions/6.0.0/reflect-config.json | 7 + .../transactions/6.0.0/resource-config.json | 8 - .../0.6.3/resource-config.json | 8 + .../docker-java-api/3.3.6/reflect-config.json | 7 - .../docker-java-api/3.4.0/reflect-config.json | 675 ++++++++++++++++ .../protobuf-java/3.21.12/reflect-config.json | 7 + .../h2/2.2.224/reflect-config.json | 3 +- .../{8.0.31 => 8.3.0}/reflect-config.json | 7 +- .../8.3.0/resource-config.json | 11 + .../config/1.2.1/resource-config.json | 8 + .../HikariCP/4.0.3/reflect-config.json | 19 +- .../grpc-netty/1.65.1/reflect-config.json | 36 + .../reflect-config.json | 0 .../4.1.112.Final/resource-config.json | 8 + .../vertx-core/4.5.1/reflect-config.json | 12 + .../calcite-core/1.35.0/resource-config.json | 8 + .../{4.0.10 => 4.0.22}/reflect-config.json | 137 +++- .../{4.0.10 => 4.0.22}/resource-config.json | 3 + .../hadoop-common/3.3.6/resource-config.json | 14 + .../seata-all/2.1.0/reflect-config.json | 56 +- .../seata-all/2.1.0/resource-config.json | 181 ++++- .../3.0.4/reflect-config.json | 55 -- .../jni-config.json | 41 + .../reflect-config.json | 719 +++++++++++++++++- .../resource-config.json | 10 +- .../reflect-config.json | 222 ++++++ .../resource-config.json | 3 + .../apiguardian-api/1.1.2/reflect-config.json | 7 + .../3.2.1.Final/resource-config.json | 8 + .../reflect-config.json | 36 - .../jta/5.12.7.Final/resource-config.json | 14 + .../junit-jupiter/5.11.1/reflect-config.json | 37 + .../junit-jupiter/5.11.1/resource-config.json | 23 + .../spring-jcl/5.3.27/reflect-config.json | 6 + .../junit-jupiter/1.20.1/reflect-config.json | 168 ++++ .../junit-jupiter/1.20.1/resource-config.json | 32 + pom.xml | 3 + .../native-image-filter/extra-filter.json | 7 +- .../jdbc/transactions/base/SeataTest.java | 2 +- .../natived/proxy/databases/PostgresTest.java | 10 +- .../natived/proxy/features/ShardingTest.java | 4 +- .../reflect-config.json | 144 ++++ 48 files changed, 2687 insertions(+), 220 deletions(-) rename infra/reachability-metadata/src/main/resources/META-INF/native-image/ch.qos.logback/{logback-core/1.2.12 => logback-classic/1.2.13}/reflect-config.json (86%) create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/com.alibaba/druid/1.2.7/reflect-config.json create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/com.alibaba/druid/1.2.7/resource-config.json create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/com.atomikos/transactions/6.0.0/reflect-config.json delete mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/com.atomikos/transactions/6.0.0/resource-config.json create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/com.clickhouse/clickhouse-jdbc/0.6.3/resource-config.json delete mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/com.github.docker-java/docker-java-api/3.3.6/reflect-config.json create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/com.github.docker-java/docker-java-api/3.4.0/reflect-config.json create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/com.google.protobuf/protobuf-java/3.21.12/reflect-config.json rename infra/reachability-metadata/src/main/resources/META-INF/native-image/com.mysql/mysql-connector-j/{8.0.31 => 8.3.0}/reflect-config.json (82%) create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/com.mysql/mysql-connector-j/8.3.0/resource-config.json create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/com.typesafe/config/1.2.1/resource-config.json create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/io.grpc/grpc-netty/1.65.1/reflect-config.json rename infra/reachability-metadata/src/main/resources/META-INF/native-image/io.netty/netty-transport-classes-epoll/{4.1.99.Final => 4.1.112.Final}/reflect-config.json (100%) create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/io.netty/netty-transport-classes-epoll/4.1.112.Final/resource-config.json create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/io.vertx/vertx-core/4.5.1/reflect-config.json create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.calcite/calcite-core/1.35.0/resource-config.json rename infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.groovy/groovy/{4.0.10 => 4.0.22}/reflect-config.json (70%) rename infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.groovy/groovy/{4.0.10 => 4.0.22}/resource-config.json (52%) create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.hadoop/hadoop-common/3.3.6/resource-config.json delete mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/elasticjob-lite-core/3.0.4/reflect-config.json create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apiguardian/apiguardian-api/1.1.2/reflect-config.json create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/org.jboss.logging/jboss-logging/3.2.1.Final/resource-config.json rename infra/reachability-metadata/src/main/resources/META-INF/native-image/org.jboss.narayana.jta/jta/{5.12.4.Final => 5.12.7.Final}/reflect-config.json (93%) create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/org.jboss.narayana.jta/jta/5.12.7.Final/resource-config.json create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/org.junit.jupiter/junit-jupiter/5.11.1/reflect-config.json create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/org.junit.jupiter/junit-jupiter/5.11.1/resource-config.json create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/org.springframework/spring-jcl/5.3.27/reflect-config.json create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/org.testcontainers/junit-jupiter/1.20.1/reflect-config.json create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/org.testcontainers/junit-jupiter/1.20.1/resource-config.json diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 0d801677fe267..9b07f3dfac689 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -14,6 +14,7 @@ 1. DistSQL: Support connecting to Postgres via DistSQL in Proxy Native - [#33124](https://github.com/apache/shardingsphere/pull/33124) 1. DistSQL: Check duplicate actual data nodes when creating or altering sharding table rule - [#33138](https://github.com/apache/shardingsphere/pull/33138) 1. DistSQL: Check user privilege when registering or altering storage unit - [#32172](https://github.com/apache/shardingsphere/pull/32172) +1. Infra: Enable Safe Composition of Metadata for ShardingSphere Proxy Native - [#33179](https://github.com/apache/shardingsphere/pull/33179) ### Bug Fix diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/_index.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/_index.cn.md index 2cf6170ed98cd..6bf283d768328 100644 --- a/docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/_index.cn.md +++ b/docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/_index.cn.md @@ -251,9 +251,10 @@ Caused by: java.io.UnsupportedEncodingException: Codepage Cp1252 is not supporte ```json [ { - "condition":{"typeReachable":"com.mysql.cj.jdbc.MysqlXADataSource"}, - "name":"com.mysql.cj.jdbc.MysqlXADataSource", - "allDeclaredConstructors": true + "condition":{"typeReachable":"com.mysql.cj.jdbc.MysqlXADataSource"}, + "name":"com.mysql.cj.jdbc.MysqlXADataSource", + "allPublicMethods": true, + "methods": [{"name":"","parameterTypes":[] }] } ] ``` @@ -484,7 +485,7 @@ sudo apt-get install build-essential zlib1g-dev -y git clone git@github.com:apache/shardingsphere.git cd ./shardingsphere/ -./mvnw -PnativeTestInShardingSphere -e clean test +./mvnw -PnativeTestInShardingSphere -e -T 1C clean test ``` 当贡献者发现缺少与 ShardingSphere 无关的第三方库的 GraalVM Reachability Metadata 时,应当在 @@ -513,10 +514,26 @@ Reachability Metadata 位于 `shardingsphere-infra-reachability-metadata` 子模 ```bash git clone git@github.com:apache/shardingsphere.git cd ./shardingsphere/ -./mvnw -PgenerateMetadata -DskipNativeTests -e clean test native:metadata-copy +./mvnw -PgenerateMetadata -DskipNativeTests -e -T 1C clean test native:metadata-copy ``` -在使用 GraalVM Native Build Tools 的 Maven Plugin 时, -贡献者应避免使用 Maven 的并行构建功能。 -GraalVM Native Build Tools 的 Maven Plugin并不是线程安全的, -它与 https://cwiki.apache.org/confluence/display/MAVEN/Parallel+builds+in+Maven+3 不兼容。 \ No newline at end of file +受 https://github.com/apache/shardingsphere/issues/33206 影响, +贡献者执行 `./mvnw -PgenerateMetadata -DskipNativeTests -T 1C -e clean test native:metadata-copy` 后, +`infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/resource-config.json` 会生成不必要的包含绝对路径的 JSON 条目, +类似如下, + +```json +{ + "resources":{ + "includes":[{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.backend.config.ProxyConfigurationLoader"}, + "pattern":"\\QcustomPath/shardingsphere/test/native/src/test/resources/test-native/yaml/proxy/databases/postgresql//global.yaml\\E" + }, { + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.backend.config.ProxyConfigurationLoader"}, + "pattern":"\\QcustomPath/shardingsphere/test/native/src/test/resources/test-native/yaml/proxy/databases/postgresql/\\E" + }]}, + "bundles":[] +} +``` + +贡献者应始终手动删除这些包含绝对路径的 JSON 条目,并等待 https://github.com/oracle/graal/issues/8417 被解决。 diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/_index.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/_index.en.md index e85f6d60de15f..ebee77e8a207c 100644 --- a/docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/_index.en.md +++ b/docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/_index.en.md @@ -264,9 +264,10 @@ to define the constructor of `com.mysql.cj.jdbc.MysqlXADataSource` inside the Gr ```json [ { -"condition":{"typeReachable":"com.mysql.cj.jdbc.MysqlXADataSource"}, -"name":"com.mysql.cj.jdbc.MysqlXADataSource", -"allDeclaredConstructors": true + "condition":{"typeReachable":"com.mysql.cj.jdbc.MysqlXADataSource"}, + "name":"com.mysql.cj.jdbc.MysqlXADataSource", + "allPublicMethods": true, + "methods": [{"name":"","parameterTypes":[] }] } ] ``` @@ -502,7 +503,7 @@ sudo apt-get install build-essential zlib1g-dev -y git clone git@github.com:apache/shardingsphere.git cd ./shardingsphere/ -./mvnw -PnativeTestInShardingSphere -e clean test +./mvnw -PnativeTestInShardingSphere -e -T 1C clean test ``` When contributors discover that GraalVM Reachability Metadata is missing for a third-party library not related to ShardingSphere, @@ -532,8 +533,26 @@ contributors should place it on the classpath of the `shardingsphere-test-native ```bash git clone git@github.com:apache/shardingsphere.git cd ./shardingsphere/ -./mvnw -PgenerateMetadata -DskipNativeTests -e clean test native:metadata-copy +./mvnw -PgenerateMetadata -DskipNativeTests -e -T 1C clean test native:metadata-copy ``` -Contributors should avoid using Maven's parallel builds feature when using the Maven Plugin for GraalVM Native Build Tools. -The Maven Plugin for GraalVM Native Build Tools is not thread-safe and is incompatible with https://cwiki.apache.org/confluence/display/MAVEN/Parallel+builds+in+Maven+3 . +Affected by https://github.com/apache/shardingsphere/issues/33206 , +After the contributor executes `./mvnw -PgenerateMetadata -DskipNativeTests -T 1C -e clean test native:metadata-copy`, +`infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/resource-config.json` will generate unnecessary JSON entries containing absolute paths, +similar to the following. + +```json +{ + "resources":{ + "includes":[{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.backend.config.ProxyConfigurationLoader"}, + "pattern":"\\QcustomPath/shardingsphere/test/native/src/test/resources/test-native/yaml/proxy/databases/postgresql//global.yaml\\E" + }, { + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.backend.config.ProxyConfigurationLoader"}, + "pattern":"\\QcustomPath/shardingsphere/test/native/src/test/resources/test-native/yaml/proxy/databases/postgresql/\\E" + }]}, + "bundles":[] +} +``` + +Contributors should always manually remove these JSON entries containing absolute paths and wait for https://github.com/oracle/graal/issues/8417 to be resolved. diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/ch.qos.logback/logback-core/1.2.12/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/ch.qos.logback/logback-classic/1.2.13/reflect-config.json similarity index 86% rename from infra/reachability-metadata/src/main/resources/META-INF/native-image/ch.qos.logback/logback-core/1.2.12/reflect-config.json rename to infra/reachability-metadata/src/main/resources/META-INF/native-image/ch.qos.logback/logback-classic/1.2.13/reflect-config.json index d0579f6223072..642c144850d3f 100644 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/ch.qos.logback/logback-core/1.2.12/reflect-config.json +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/ch.qos.logback/logback-classic/1.2.13/reflect-config.json @@ -54,6 +54,11 @@ "name":"ch.qos.logback.core.OutputStreamAppender", "methods":[{"name":"setEncoder","parameterTypes":["ch.qos.logback.core.encoder.Encoder"] }] }, +{ + "condition":{"typeReachable":"ch.qos.logback.core.joran.action.NestedComplexPropertyIA"}, + "name":"ch.qos.logback.core.encoder.Encoder", + "methods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }] +}, { "condition":{"typeReachable":"ch.qos.logback.core.joran.util.PropertySetter"}, "name":"ch.qos.logback.core.encoder.LayoutWrappingEncoder", @@ -64,6 +69,11 @@ "name":"ch.qos.logback.core.pattern.PatternLayoutEncoderBase", "methods":[{"name":"setPattern","parameterTypes":["java.lang.String"] }] }, +{ + "condition":{"typeReachable":"ch.qos.logback.core.joran.action.NestedComplexPropertyIA"}, + "name":"ch.qos.logback.core.spi.ContextAware", + "methods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }] +}, { "condition":{"typeReachable":"ch.qos.logback.core.joran.action.StatusListenerAction"}, "name":"ch.qos.logback.core.status.NopStatusListener", diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.alibaba/druid/1.2.7/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.alibaba/druid/1.2.7/reflect-config.json new file mode 100644 index 0000000000000..f686ad91ab03a --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.alibaba/druid/1.2.7/reflect-config.json @@ -0,0 +1,54 @@ +[ +{ + "condition":{"typeReachable":"com.alibaba.druid.mock.MockDriver"}, + "name":"com.alibaba.druid.mock.MockDriver", + "queryAllPublicConstructors":true +}, +{ + "condition":{"typeReachable":"com.alibaba.druid.mock.MockDriver"}, + "name":"com.alibaba.druid.mock.MockDriverMBean", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"com.alibaba.druid.proxy.DruidDriver"}, + "name":"com.alibaba.druid.proxy.DruidDriver", + "queryAllPublicConstructors":true +}, +{ + "condition":{"typeReachable":"com.alibaba.druid.proxy.DruidDriver"}, + "name":"com.alibaba.druid.proxy.DruidDriverMBean", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"com.alibaba.druid.support.logging.LogFactory"}, + "name":"com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl", + "methods":[{"name":"","parameterTypes":["java.lang.String"] }] +}, +{ + "condition":{"typeReachable":"com.alibaba.druid.support.logging.Resources"}, + "name":"com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl" +}, +{ + "condition":{"typeReachable":"com.alibaba.druid.support.logging.LogFactory"}, + "name":"com.alibaba.druid.support.logging.Jdk14LoggingImpl", + "methods":[{"name":"","parameterTypes":["java.lang.String"] }] +}, +{ + "condition":{"typeReachable":"com.alibaba.druid.support.logging.Resources"}, + "name":"com.alibaba.druid.support.logging.Jdk14LoggingImpl" +}, +{ + "condition":{"typeReachable":"com.alibaba.druid.support.logging.LogFactory"}, + "name":"com.alibaba.druid.support.logging.NoLoggingImpl", + "methods":[{"name":"","parameterTypes":["java.lang.String"] }] +}, +{ + "condition":{"typeReachable":"com.alibaba.druid.support.logging.LogFactory"}, + "name":"com.alibaba.druid.support.logging.SLF4JImpl", + "methods":[{"name":"","parameterTypes":["java.lang.String"] }] +}, +{ + "condition":{"typeReachable":"com.alibaba.druid.support.logging.Resources"}, + "name":"com.alibaba.druid.support.logging.SLF4JImpl" +} +] diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.alibaba/druid/1.2.7/resource-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.alibaba/druid/1.2.7/resource-config.json new file mode 100644 index 0000000000000..3f171e5712b3a --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.alibaba/druid/1.2.7/resource-config.json @@ -0,0 +1,8 @@ +{ + "resources":{ + "includes":[{ + "condition":{"typeReachable":"com.alibaba.druid.util.JdbcUtils"}, + "pattern":"\\QMETA-INF/druid-driver.properties\\E" + }]}, + "bundles":[] +} diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.atomikos/transactions/6.0.0/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.atomikos/transactions/6.0.0/reflect-config.json new file mode 100644 index 0000000000000..cc311dc1fb88e --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.atomikos/transactions/6.0.0/reflect-config.json @@ -0,0 +1,7 @@ +[ +{ + "condition":{"typeReachable":"com.atomikos.logging.LoggerFactory"}, + "name":"com.atomikos.logging.Slf4JLoggerFactoryDelegate", + "methods":[{"name":"","parameterTypes":[] }] +} +] diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.atomikos/transactions/6.0.0/resource-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.atomikos/transactions/6.0.0/resource-config.json deleted file mode 100644 index ed057c299ffd7..0000000000000 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.atomikos/transactions/6.0.0/resource-config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "resources":{ - "includes":[{ - "condition":{"typeReachable":"com.atomikos.icatch.provider.imp.AssemblerImp"}, - "pattern":"\\Qtransactions-defaults.properties\\E" - }]}, - "bundles":[] -} diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.clickhouse/clickhouse-jdbc/0.6.3/resource-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.clickhouse/clickhouse-jdbc/0.6.3/resource-config.json new file mode 100644 index 0000000000000..621f0ad33a9bb --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.clickhouse/clickhouse-jdbc/0.6.3/resource-config.json @@ -0,0 +1,8 @@ +{ + "resources":{ + "includes":[{ + "condition":{"typeReachable":"com.clickhouse.logging.LoggerFactory"}, + "pattern":"\\QMETA-INF/services/com.clickhouse.logging.LoggerFactory\\E" + }]}, + "bundles":[] +} diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.github.docker-java/docker-java-api/3.3.6/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.github.docker-java/docker-java-api/3.3.6/reflect-config.json deleted file mode 100644 index f3f5e1ef24743..0000000000000 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.github.docker-java/docker-java-api/3.3.6/reflect-config.json +++ /dev/null @@ -1,7 +0,0 @@ -[ -{ - "condition":{"typeReachable":"com.github.dockerjava.api.model.RuntimeInfo"}, - "name":"com.github.dockerjava.api.model.RuntimeInfo", - "allPublicConstructors": true -} -] diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.github.docker-java/docker-java-api/3.4.0/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.github.docker-java/docker-java-api/3.4.0/reflect-config.json new file mode 100644 index 0000000000000..a20e10456d43f --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.github.docker-java/docker-java-api/3.4.0/reflect-config.json @@ -0,0 +1,675 @@ +[ +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"[Lcom.github.dockerjava.api.model.Bind;" +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"[Lcom.github.dockerjava.api.model.Capability;" +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"[Lcom.github.dockerjava.api.model.Device;" +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"[Lcom.github.dockerjava.api.model.ExposedPort;" +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"[Lcom.github.dockerjava.api.model.Link;" +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"[Lcom.github.dockerjava.api.model.LxcConf;" +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"[Lcom.github.dockerjava.api.model.PortBinding;" +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"[Lcom.github.dockerjava.api.model.Ports$Binding;" +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"[Lcom.github.dockerjava.api.model.Ulimit;" +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"[Lcom.github.dockerjava.api.model.Volume;" +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"[Lcom.github.dockerjava.api.model.VolumeBind;" +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"[Lcom.github.dockerjava.api.model.VolumeRW;" +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"[Lcom.github.dockerjava.api.model.VolumesFrom;" +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"[Ljava.lang.String;" +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"[Lorg.testcontainers.shaded.com.fasterxml.jackson.databind.deser.BeanDeserializerModifier;" +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.command.CreateContainerCmd", + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.command.CreateContainerResponse", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }, {"name":"setId","parameterTypes":["java.lang.String"] }, {"name":"setWarnings","parameterTypes":["java.lang.String[]"] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.command.DockerCmd", + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.command.GraphData", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.command.GraphDriver", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.command.HealthState", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.command.HealthStateLog", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.command.InspectContainerResponse", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.command.InspectContainerResponse$ContainerState", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "queryAllPublicConstructors":true, + "methods":[{"name":"","parameterTypes":["com.github.dockerjava.api.command.InspectContainerResponse"] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.command.InspectContainerResponse$Mount", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.command.InspectContainerResponse$Node", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "queryAllPublicConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.command.InspectImageResponse", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.command.RootFS", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.command.SyncDockerCmd", + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.AccessMode", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.AuthConfig", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "allDeclaredMethods": true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.Bind", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.BindOptions", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.BindPropagation", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.Binds", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"fromPrimitive","parameterTypes":["java.lang.String[]"] }, {"name":"toPrimitive","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.BlkioRateDevice", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.BlkioWeightDevice", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.Capability", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.ClusterInfo", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.ContainerConfig", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.ContainerNetwork", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.ContainerNetwork$Ipam", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.Device", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.DeviceRequest", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.DockerObject", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "methods":[{"name":"getRawValues","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.Driver", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.ExposedPort", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.ExposedPorts", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"fromPrimitive","parameterTypes":["java.util.Map"] }, {"name":"toPrimitive","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.ExternalCA", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.ExternalCAProtocol", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.HealthCheck", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.HostConfig", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }, {"name":"getAutoRemove","parameterTypes":[] }, {"name":"getBlkioDeviceReadBps","parameterTypes":[] }, {"name":"getBlkioDeviceReadIOps","parameterTypes":[] }, {"name":"getBlkioDeviceWriteBps","parameterTypes":[] }, {"name":"getBlkioDeviceWriteIOps","parameterTypes":[] }, {"name":"getBlkioWeight","parameterTypes":[] }, {"name":"getBlkioWeightDevice","parameterTypes":[] }, {"name":"getCapAdd","parameterTypes":[] }, {"name":"getCapDrop","parameterTypes":[] }, {"name":"getCgroup","parameterTypes":[] }, {"name":"getCgroupParent","parameterTypes":[] }, {"name":"getCgroupnsMode","parameterTypes":[] }, {"name":"getConsoleSize","parameterTypes":[] }, {"name":"getContainerIDFile","parameterTypes":[] }, {"name":"getCpuCount","parameterTypes":[] }, {"name":"getCpuPercent","parameterTypes":[] }, {"name":"getCpuPeriod","parameterTypes":[] }, {"name":"getCpuQuota","parameterTypes":[] }, {"name":"getCpuRealtimePeriod","parameterTypes":[] }, {"name":"getCpuRealtimeRuntime","parameterTypes":[] }, {"name":"getCpuShares","parameterTypes":[] }, {"name":"getCpusetCpus","parameterTypes":[] }, {"name":"getCpusetMems","parameterTypes":[] }, {"name":"getDeviceCgroupRules","parameterTypes":[] }, {"name":"getDeviceRequests","parameterTypes":[] }, {"name":"getDevices","parameterTypes":[] }, {"name":"getDiskQuota","parameterTypes":[] }, {"name":"getDns","parameterTypes":[] }, {"name":"getDnsOptions","parameterTypes":[] }, {"name":"getDnsSearch","parameterTypes":[] }, {"name":"getExtraHosts","parameterTypes":[] }, {"name":"getGroupAdd","parameterTypes":[] }, {"name":"getInit","parameterTypes":[] }, {"name":"getIoMaximumBandwidth","parameterTypes":[] }, {"name":"getIoMaximumIOps","parameterTypes":[] }, {"name":"getIpcMode","parameterTypes":[] }, {"name":"getIsolation","parameterTypes":[] }, {"name":"getKernelMemory","parameterTypes":[] }, {"name":"getLxcConf","parameterTypes":[] }, {"name":"getMemory","parameterTypes":[] }, {"name":"getMemoryReservation","parameterTypes":[] }, {"name":"getMemorySwap","parameterTypes":[] }, {"name":"getMemorySwappiness","parameterTypes":[] }, {"name":"getMounts","parameterTypes":[] }, {"name":"getNanoCPUs","parameterTypes":[] }, {"name":"getNetworkMode","parameterTypes":[] }, {"name":"getOomKillDisable","parameterTypes":[] }, {"name":"getOomScoreAdj","parameterTypes":[] }, {"name":"getPidMode","parameterTypes":[] }, {"name":"getPidsLimit","parameterTypes":[] }, {"name":"getPortBindings","parameterTypes":[] }, {"name":"getPrivileged","parameterTypes":[] }, {"name":"getPublishAllPorts","parameterTypes":[] }, {"name":"getReadonlyRootfs","parameterTypes":[] }, {"name":"getRestartPolicy","parameterTypes":[] }, {"name":"getRuntime","parameterTypes":[] }, {"name":"getSecurityOpts","parameterTypes":[] }, {"name":"getShmSize","parameterTypes":[] }, {"name":"getStorageOpt","parameterTypes":[] }, {"name":"getSysctls","parameterTypes":[] }, {"name":"getTmpFs","parameterTypes":[] }, {"name":"getUlimits","parameterTypes":[] }, {"name":"getUsernsMode","parameterTypes":[] }, {"name":"getUtSMode","parameterTypes":[] }, {"name":"getVolumeDriver","parameterTypes":[] }, {"name":"getVolumesFrom","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.Image", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.Info", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.InfoRegistryConfig", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.InfoRegistryConfig$IndexConfig", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.InternetProtocol", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.Isolation", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "methods":[{"name":"fromValue","parameterTypes":["java.lang.String"] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.Link", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.Links", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"toPrimitive","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.LocalNodeState", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "methods":[{"name":"forValue","parameterTypes":["java.lang.String"] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.LogConfig", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }, {"name":"setType","parameterTypes":["com.github.dockerjava.api.model.LogConfig$LoggingType"] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.LogConfig$LoggingType", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "methods":[{"name":"fromValue","parameterTypes":["java.lang.String"] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.LxcConf", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.Mount", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.MountType", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.NetworkSettings", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.PeerNode", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.Ports", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"fromPrimitive","parameterTypes":["java.util.Map"] }, {"name":"toPrimitive","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.Ports$Binding", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.PropagationMode", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.ResourceVersion", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.RestartPolicy", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.RuntimeInfo", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }, {"name":"setPath","parameterTypes":["java.lang.String"] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.SELContext", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.SwarmCAConfig", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.SwarmDispatcherConfig", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.SwarmInfo", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.SwarmOrchestration", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.SwarmRaftConfig", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.SwarmSpec", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.TaskDefaults", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.TmpfsOptions", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.Ulimit", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.Version", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.VersionComponent", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.VersionPlatform", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.Volume", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"","parameterTypes":["java.lang.String"] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.VolumeBind", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.VolumeBinds", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.VolumeOptions", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.VolumeRW", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.Volumes", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"toPrimitive","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.VolumesFrom", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.DockerClientDelegate"}, + "name":"com.github.dockerjava.api.model.VolumesRW", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.command.CreateNetworkCmd"}, + "name":"com.github.dockerjava.api.command.CreateNetworkCmd", + "allDeclaredMethods": true +}, +{ + "condition":{"typeReachable":"com.github.dockerjava.api.command.CreateNetworkResponse"}, + "name":"com.github.dockerjava.api.command.CreateNetworkResponse", + "allDeclaredMethods": true +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.com.fasterxml.jackson.databind.util.ClassUtil"}, + "name":"com.github.dockerjava.api.model.PullResponseItem", + "allDeclaredMethods": true +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.com.fasterxml.jackson.databind.util.ClassUtil"}, + "name":"com.github.dockerjava.api.model.ResponseItem", + "allDeclaredMethods": true +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.com.fasterxml.jackson.databind.util.ClassUtil"}, + "name":"com.github.dockerjava.api.model.ResponseItem$AuxDetail", + "allDeclaredMethods": true +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.com.fasterxml.jackson.databind.util.ClassUtil"}, + "name":"com.github.dockerjava.api.model.ResponseItem$ErrorDetail", + "allDeclaredMethods": true +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.com.fasterxml.jackson.databind.util.ClassUtil"}, + "name":"com.github.dockerjava.api.model.ResponseItem$ProgressDetail", + "allDeclaredMethods": true +} +] diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.google.protobuf/protobuf-java/3.21.12/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.google.protobuf/protobuf-java/3.21.12/reflect-config.json new file mode 100644 index 0000000000000..b782089fc4ae7 --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.google.protobuf/protobuf-java/3.21.12/reflect-config.json @@ -0,0 +1,7 @@ +[ +{ + "condition":{"typeReachable":"com.google.protobuf.ExtensionRegistryFactory"}, + "name":"com.google.protobuf.ExtensionRegistry", + "methods":[{"name":"getEmptyRegistry","parameterTypes":[] }] +} +] diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.h2database/h2/2.2.224/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.h2database/h2/2.2.224/reflect-config.json index 72501d255ca83..f74719728f3fd 100644 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.h2database/h2/2.2.224/reflect-config.json +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.h2database/h2/2.2.224/reflect-config.json @@ -2,6 +2,7 @@ { "condition":{"typeReachable":"org.h2.jdbcx.JdbcDataSource"}, "name":"org.h2.jdbcx.JdbcDataSource", - "allDeclaredConstructors": true + "allPublicMethods": true, + "methods": [{"name":"","parameterTypes":[] }] } ] diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.mysql/mysql-connector-j/8.0.31/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.mysql/mysql-connector-j/8.3.0/reflect-config.json similarity index 82% rename from infra/reachability-metadata/src/main/resources/META-INF/native-image/com.mysql/mysql-connector-j/8.0.31/reflect-config.json rename to infra/reachability-metadata/src/main/resources/META-INF/native-image/com.mysql/mysql-connector-j/8.3.0/reflect-config.json index 1fa6b3a5cd7a7..66759ca132e38 100644 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.mysql/mysql-connector-j/8.0.31/reflect-config.json +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.mysql/mysql-connector-j/8.3.0/reflect-config.json @@ -5,7 +5,7 @@ "methods":[{"name":"","parameterTypes":[] }] }, { - "condition":{"typeReachable":"com.mysql.cj.util.Util"}, + "condition":{"typeReachable":"com.mysql.cj.conf.ConnectionUrl$Type"}, "name":"com.mysql.cj.conf.url.SingleConnectionUrl", "methods":[{"name":"","parameterTypes":["com.mysql.cj.conf.ConnectionUrlParser","java.util.Properties"] }] }, @@ -14,6 +14,11 @@ "name":"com.mysql.cj.exceptions.CJCommunicationsException", "methods":[{"name":"","parameterTypes":["java.lang.String"] }] }, +{ + "condition":{"typeReachable":"com.mysql.cj.exceptions.ExceptionFactory"}, + "name":"com.mysql.cj.exceptions.CJException", + "methods":[{"name":"","parameterTypes":["java.lang.String"] }] +}, { "condition":{"typeReachable":"com.mysql.cj.jdbc.NonRegisteringDriver"}, "name":"com.mysql.cj.jdbc.AbandonedConnectionCleanupThread" diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.mysql/mysql-connector-j/8.3.0/resource-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.mysql/mysql-connector-j/8.3.0/resource-config.json new file mode 100644 index 0000000000000..02444e90156be --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.mysql/mysql-connector-j/8.3.0/resource-config.json @@ -0,0 +1,11 @@ +{ + "resources":{ + "includes":[{ + "condition":{"typeReachable":"com.mysql.cj.Messages"}, + "pattern":"\\Qcom/mysql/cj/LocalizedErrorMessages.properties\\E" + }, { + "condition":{"typeReachable":"com.mysql.cj.protocol.ExportControlled"}, + "pattern":"\\Qcom/mysql/cj/TlsSettings.properties\\E" + }]}, + "bundles":[] +} diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.typesafe/config/1.2.1/resource-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.typesafe/config/1.2.1/resource-config.json new file mode 100644 index 0000000000000..76a25d2f6bb38 --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.typesafe/config/1.2.1/resource-config.json @@ -0,0 +1,8 @@ +{ + "resources":{ + "includes":[{ + "condition":{"typeReachable":"com.typesafe.config.impl.Parseable$ParseableResources"}, + "pattern":"\\Qreference.conf\\E" + }]}, + "bundles":[] +} diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.zaxxer/HikariCP/4.0.3/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.zaxxer/HikariCP/4.0.3/reflect-config.json index 5cab37f0118e0..6c9b8730284ca 100644 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.zaxxer/HikariCP/4.0.3/reflect-config.json +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/com.zaxxer/HikariCP/4.0.3/reflect-config.json @@ -1,16 +1,31 @@ [ +{ + "condition":{"typeReachable":"com.zaxxer.hikari.util.ConcurrentBag"}, + "name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;" +}, { "condition":{"typeReachable":"com.zaxxer.hikari.HikariConfig"}, "name":"com.zaxxer.hikari.HikariConfig", - "queryAllPublicMethods":true, + "allDeclaredFields":true +}, +{ + "condition":{"typeReachable":"com.zaxxer.hikari.HikariDataSource"}, + "name":"com.zaxxer.hikari.HikariConfig", "fields":[{"name":"dataSourceProperties"}, {"name":"jdbcUrl"}], - "methods":[{"name":"getCatalog","parameterTypes":[] }, {"name":"getConnectionInitSql","parameterTypes":[] }, {"name":"getConnectionTestQuery","parameterTypes":[] }, {"name":"getConnectionTimeout","parameterTypes":[] }, {"name":"getDataSource","parameterTypes":[] }, {"name":"getDataSourceClassName","parameterTypes":[] }, {"name":"getDataSourceJNDI","parameterTypes":[] }, {"name":"getDataSourceProperties","parameterTypes":[] }, {"name":"getDriverClassName","parameterTypes":[] }, {"name":"getExceptionOverrideClassName","parameterTypes":[] }, {"name":"getHealthCheckProperties","parameterTypes":[] }, {"name":"getHealthCheckRegistry","parameterTypes":[] }, {"name":"getIdleTimeout","parameterTypes":[] }, {"name":"getInitializationFailTimeout","parameterTypes":[] }, {"name":"getJdbcUrl","parameterTypes":[] }, {"name":"getKeepaliveTime","parameterTypes":[] }, {"name":"getLeakDetectionThreshold","parameterTypes":[] }, {"name":"getMaxLifetime","parameterTypes":[] }, {"name":"getMaximumPoolSize","parameterTypes":[] }, {"name":"getMetricRegistry","parameterTypes":[] }, {"name":"getMetricsTrackerFactory","parameterTypes":[] }, {"name":"getMinimumIdle","parameterTypes":[] }, {"name":"getPassword","parameterTypes":[] }, {"name":"getPoolName","parameterTypes":[] }, {"name":"getScheduledExecutor","parameterTypes":[] }, {"name":"getSchema","parameterTypes":[] }, {"name":"getThreadFactory","parameterTypes":[] }, {"name":"getTransactionIsolation","parameterTypes":[] }, {"name":"getUsername","parameterTypes":[] }, {"name":"getValidationTimeout","parameterTypes":[] }, {"name":"isAllowPoolSuspension","parameterTypes":[] }, {"name":"isAutoCommit","parameterTypes":[] }, {"name":"isIsolateInternalQueries","parameterTypes":[] }, {"name":"isReadOnly","parameterTypes":[] }, {"name":"isRegisterMbeans","parameterTypes":[] }, {"name":"setAllowPoolSuspension","parameterTypes":["boolean"] }, {"name":"setAutoCommit","parameterTypes":["boolean"] }, {"name":"setCatalog","parameterTypes":["java.lang.String"] }, {"name":"setConnectionInitSql","parameterTypes":["java.lang.String"] }, {"name":"setConnectionTestQuery","parameterTypes":["java.lang.String"] }, {"name":"setConnectionTimeout","parameterTypes":["long"] }, {"name":"setDataSource","parameterTypes":["javax.sql.DataSource"] }, {"name":"setDataSourceClassName","parameterTypes":["java.lang.String"] }, {"name":"setDataSourceJNDI","parameterTypes":["java.lang.String"] }, {"name":"setDataSourceProperties","parameterTypes":["java.util.Properties"] }, {"name":"setDriverClassName","parameterTypes":["java.lang.String"] }, {"name":"setExceptionOverrideClassName","parameterTypes":["java.lang.String"] }, {"name":"setHealthCheckProperties","parameterTypes":["java.util.Properties"] }, {"name":"setHealthCheckRegistry","parameterTypes":["java.lang.Object"] }, {"name":"setIdleTimeout","parameterTypes":["long"] }, {"name":"setInitializationFailTimeout","parameterTypes":["long"] }, {"name":"setIsolateInternalQueries","parameterTypes":["boolean"] }, {"name":"setJdbcUrl","parameterTypes":["java.lang.String"] }, {"name":"setKeepaliveTime","parameterTypes":["long"] }, {"name":"setLeakDetectionThreshold","parameterTypes":["long"] }, {"name":"setMaxLifetime","parameterTypes":["long"] }, {"name":"setMaximumPoolSize","parameterTypes":["int"] }, {"name":"setMetricRegistry","parameterTypes":["java.lang.Object"] }, {"name":"setMetricsTrackerFactory","parameterTypes":["com.zaxxer.hikari.metrics.MetricsTrackerFactory"] }, {"name":"setMinimumIdle","parameterTypes":["int"] }, {"name":"setPassword","parameterTypes":["java.lang.String"] }, {"name":"setPoolName","parameterTypes":["java.lang.String"] }, {"name":"setReadOnly","parameterTypes":["boolean"] }, {"name":"setRegisterMbeans","parameterTypes":["boolean"] }, {"name":"setScheduledExecutor","parameterTypes":["java.util.concurrent.ScheduledExecutorService"] }, {"name":"setSchema","parameterTypes":["java.lang.String"] }, {"name":"setThreadFactory","parameterTypes":["java.util.concurrent.ThreadFactory"] }, {"name":"setTransactionIsolation","parameterTypes":["java.lang.String"] }, {"name":"setUsername","parameterTypes":["java.lang.String"] }, {"name":"setValidationTimeout","parameterTypes":["long"] }] + "methods":[{"name":"getCatalog","parameterTypes":[] }, {"name":"getConnectionInitSql","parameterTypes":[] }, {"name":"getConnectionTestQuery","parameterTypes":[] }, {"name":"getConnectionTimeout","parameterTypes":[] }, {"name":"getDataSourceClassName","parameterTypes":[] }, {"name":"getDataSourceJNDI","parameterTypes":[] }, {"name":"getDataSourceProperties","parameterTypes":[] }, {"name":"getDriverClassName","parameterTypes":[] }, {"name":"getExceptionOverrideClassName","parameterTypes":[] }, {"name":"getHealthCheckProperties","parameterTypes":[] }, {"name":"getIdleTimeout","parameterTypes":[] }, {"name":"getInitializationFailTimeout","parameterTypes":[] }, {"name":"getJdbcUrl","parameterTypes":[] }, {"name":"getKeepaliveTime","parameterTypes":[] }, {"name":"getLeakDetectionThreshold","parameterTypes":[] }, {"name":"getMaxLifetime","parameterTypes":[] }, {"name":"getMaximumPoolSize","parameterTypes":[] }, {"name":"getMinimumIdle","parameterTypes":[] }, {"name":"getPassword","parameterTypes":[] }, {"name":"getPoolName","parameterTypes":[] }, {"name":"getSchema","parameterTypes":[] }, {"name":"getTransactionIsolation","parameterTypes":[] }, {"name":"getUsername","parameterTypes":[] }, {"name":"getValidationTimeout","parameterTypes":[] }, {"name":"isAllowPoolSuspension","parameterTypes":[] }, {"name":"isAutoCommit","parameterTypes":[] }, {"name":"isIsolateInternalQueries","parameterTypes":[] }, {"name":"isReadOnly","parameterTypes":[] }, {"name":"isRegisterMbeans","parameterTypes":[] }, {"name":"setConnectionTimeout","parameterTypes":["long"] }, {"name":"setDataSourceProperties","parameterTypes":["java.util.Properties"] }, {"name":"setDriverClassName","parameterTypes":["java.lang.String"] }, {"name":"setIdleTimeout","parameterTypes":["long"] }, {"name":"setJdbcUrl","parameterTypes":["java.lang.String"] }, {"name":"setKeepaliveTime","parameterTypes":["long"] }, {"name":"setMaxLifetime","parameterTypes":["long"] }, {"name":"setMaximumPoolSize","parameterTypes":["int"] }, {"name":"setMinimumIdle","parameterTypes":["int"] }, {"name":"setPassword","parameterTypes":["java.lang.String"] }, {"name":"setReadOnly","parameterTypes":["boolean"] }, {"name":"setUsername","parameterTypes":["java.lang.String"] }] }, { "condition":{"typeReachable":"com.zaxxer.hikari.HikariDataSource"}, "name":"com.zaxxer.hikari.HikariDataSource", + "queryAllPublicMethods":true, + "fields":[{"name":"dataSourceProperties"}, {"name":"jdbcUrl"}], "methods":[{"name":"","parameterTypes":[] }, {"name":"isClosed","parameterTypes":[] }, {"name":"isRunning","parameterTypes":[] }, {"name":"getHikariPoolMXBean","parameterTypes":[] }] }, +{ + "condition":{"typeReachable":"com.zaxxer.hikari.pool.PoolEntry"}, + "name":"com.zaxxer.hikari.pool.PoolEntry", + "fields":[{"name":"state"}] +}, { "condition":{"typeReachable":"com.zaxxer.hikari.pool.HikariPool"}, "name":"com.zaxxer.hikari.pool.HikariPool", diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/io.grpc/grpc-netty/1.65.1/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/io.grpc/grpc-netty/1.65.1/reflect-config.json new file mode 100644 index 0000000000000..6854e4fb3db43 --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/io.grpc/grpc-netty/1.65.1/reflect-config.json @@ -0,0 +1,36 @@ +[ +{ + "condition":{"typeReachable":"io.grpc.netty.ProtocolNegotiators$GrpcNegotiationHandler"}, + "name":"io.grpc.netty.AbstractNettyHandler", + "methods":[{"name":"channelActive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, {"name":"exceptionCaught","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }] +}, +{ + "condition":{"typeReachable":"io.grpc.netty.ProtocolNegotiators$GrpcNegotiationHandler"}, + "name":"io.grpc.netty.NettyClientHandler", + "methods":[{"name":"channelInactive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, {"name":"close","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, {"name":"write","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object","io.netty.channel.ChannelPromise"] }] +}, +{ + "condition":{"typeReachable":"io.grpc.netty.ProtocolNegotiators$ProtocolNegotiationHandler"}, + "name":"io.grpc.netty.ProtocolNegotiators$GrpcNegotiationHandler", + "methods":[{"name":"userEventTriggered","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }] +}, +{ + "condition":{"typeReachable":"io.grpc.netty.WriteBufferingAndExceptionHandler"}, + "name":"io.grpc.netty.ProtocolNegotiators$ProtocolNegotiationHandler", + "methods":[{"name":"userEventTriggered","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }] +}, +{ + "condition":{"typeReachable":"io.grpc.netty.WriteBufferingAndExceptionHandler"}, + "name":"io.grpc.netty.ProtocolNegotiators$WaitUntilActiveHandler", + "methods":[{"name":"channelActive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }] +}, +{ + "condition":{"typeReachable":"io.grpc.netty.NettyChannelBuilder"}, + "name":"io.grpc.netty.UdsNameResolverProvider" +}, +{ + "condition":{"typeReachable":"io.grpc.netty.NettyClientTransport"}, + "name":"io.grpc.netty.WriteBufferingAndExceptionHandler", + "methods":[{"name":"channelInactive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, {"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, {"name":"close","parameterTypes":["io.netty.channel.ChannelHandlerContext","io.netty.channel.ChannelPromise"] }, {"name":"connect","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","java.net.SocketAddress","io.netty.channel.ChannelPromise"] }, {"name":"exceptionCaught","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }, {"name":"flush","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, {"name":"write","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object","io.netty.channel.ChannelPromise"] }] +} +] diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/io.netty/netty-transport-classes-epoll/4.1.99.Final/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/io.netty/netty-transport-classes-epoll/4.1.112.Final/reflect-config.json similarity index 100% rename from infra/reachability-metadata/src/main/resources/META-INF/native-image/io.netty/netty-transport-classes-epoll/4.1.99.Final/reflect-config.json rename to infra/reachability-metadata/src/main/resources/META-INF/native-image/io.netty/netty-transport-classes-epoll/4.1.112.Final/reflect-config.json diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/io.netty/netty-transport-classes-epoll/4.1.112.Final/resource-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/io.netty/netty-transport-classes-epoll/4.1.112.Final/resource-config.json new file mode 100644 index 0000000000000..34220cb5055a1 --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/io.netty/netty-transport-classes-epoll/4.1.112.Final/resource-config.json @@ -0,0 +1,8 @@ +{ + "resources":{ + "includes":[{ + "condition":{"typeReachable":"io.netty.util.Version"}, + "pattern":"\\QMETA-INF/io.netty.versions.properties\\E" + }]}, + "bundles":[] +} diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/io.vertx/vertx-core/4.5.1/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/io.vertx/vertx-core/4.5.1/reflect-config.json new file mode 100644 index 0000000000000..5165e6cc916c4 --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/io.vertx/vertx-core/4.5.1/reflect-config.json @@ -0,0 +1,12 @@ +[ +{ + "condition":{"typeReachable":"io.vertx.core.logging.LoggerFactory"}, + "name":"io.vertx.core.logging.SLF4JLogDelegateFactory", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"io.vertx.core.logging.LoggerFactory"}, + "name":"io.vertx.core.logging.Log4j2LogDelegateFactory", + "methods":[{"name":"","parameterTypes":[] }] +} +] diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.calcite/calcite-core/1.35.0/resource-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.calcite/calcite-core/1.35.0/resource-config.json new file mode 100644 index 0000000000000..5fa423a470175 --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.calcite/calcite-core/1.35.0/resource-config.json @@ -0,0 +1,8 @@ +{ + "resources":{ + "includes":[{ + "condition":{"typeReachable":"org.apache.calcite.avatica.remote.Driver"}, + "pattern":"\\Qorg-apache-calcite-jdbc.properties\\E" + }]}, + "bundles":[] +} diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.groovy/groovy/4.0.10/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.groovy/groovy/4.0.22/reflect-config.json similarity index 70% rename from infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.groovy/groovy/4.0.10/reflect-config.json rename to infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.groovy/groovy/4.0.22/reflect-config.json index 4a3e110b86d34..f9e70bc8e6ad4 100644 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.groovy/groovy/4.0.10/reflect-config.json +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.groovy/groovy/4.0.22/reflect-config.json @@ -3,39 +3,37 @@ "condition":{"typeReachable":"org.codehaus.groovy.reflection.GeneratedMetaMethod$DgmMethodRecord"}, "name":"groovy.io.FileType" }, -{ - "condition":{"typeReachable":"org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl"}, - "name":"groovy.lang.Buildable", - "queryAllPublicMethods":true -}, { "condition":{"typeReachable":"org.codehaus.groovy.reflection.GeneratedMetaMethod$DgmMethodRecord"}, - "name":"groovy.lang.Closure" + "name":"groovy.lang.Closure", + "allDeclaredMethods": true }, { "condition":{"typeReachable":"org.codehaus.groovy.reflection.GeneratedMetaMethod$DgmMethodRecord"}, "name":"groovy.lang.EmptyRange" }, { - "condition":{"typeReachable":"org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl"}, + "condition":{"typeReachable":"groovy.lang.MetaClassImpl"}, "name":"groovy.lang.ExpandoMetaClass", - "queryAllPublicMethods":true + "queryAllPublicMethods":true, + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allDeclaredFields": true }, { "condition":{"typeReachable":"org.codehaus.groovy.reflection.GeneratedMetaMethod$DgmMethodRecord"}, - "name":"groovy.lang.GString" -}, -{ - "condition":{"typeReachable":"org.codehaus.groovy.reflection.stdclasses.CachedClosureClass"}, - "name":"groovy.lang.GroovyCallable", - "queryAllPublicMethods":true + "name":"groovy.lang.GString", + "allDeclaredMethods": true, + "methods":[{"name":"getMetaClass","parameterTypes":[] }, {"name":"setMetaClass","parameterTypes":["groovy.lang.MetaClass"] }, {"name":"compareTo","parameterTypes":["java.lang.Object"] }, {"name":"length","parameterTypes":[] }, {"name":"toString","parameterTypes":[] }, {"name":"charAt","parameterTypes":["int"] }, {"name":"subSequence","parameterTypes":["int", "int"] }] }, { "condition":{"typeReachable":"org.codehaus.groovy.reflection.GeneratedMetaMethod$DgmMethodRecord"}, - "name":"groovy.lang.GroovyObject" + "name":"groovy.lang.GroovyObject", + "allDeclaredMethods": true, + "allDeclaredFields": true }, { - "condition":{"typeReachable":"org.codehaus.groovy.reflection.stdclasses.CachedClosureClass"}, + "condition":{"typeReachable":"org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl"}, "name":"groovy.lang.GroovyObject", "queryAllPublicMethods":true }, @@ -49,7 +47,9 @@ }, { "condition":{"typeReachable":"org.codehaus.groovy.reflection.GeneratedMetaMethod$DgmMethodRecord"}, - "name":"groovy.lang.MetaClass" + "name":"groovy.lang.MetaClass", + "allDeclaredMethods": true, + "allDeclaredFields": true }, { "condition":{"typeReachable":"org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl"}, @@ -57,18 +57,22 @@ "queryAllPublicMethods":true }, { - "condition":{"typeReachable":"org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl"}, + "condition":{"typeReachable":"org.codehaus.groovy.reflection.CachedClass"}, "name":"groovy.lang.MetaObjectProtocol", - "queryAllPublicMethods":true + "queryAllPublicMethods":true, + "allDeclaredMethods": true, + "allDeclaredFields": true }, { "condition":{"typeReachable":"org.codehaus.groovy.reflection.GeneratedMetaMethod$DgmMethodRecord"}, "name":"groovy.lang.MetaProperty" }, { - "condition":{"typeReachable":"groovy.lang.MetaClassImpl"}, + "condition":{"typeReachable":"org.codehaus.groovy.reflection.CachedClass"}, "name":"groovy.lang.MutableMetaClass", - "queryAllPublicMethods":true + "queryAllPublicMethods":true, + "allDeclaredMethods": true, + "allDeclaredFields": true }, { "condition":{"typeReachable":"org.codehaus.groovy.reflection.GeneratedMetaMethod$DgmMethodRecord"}, @@ -76,7 +80,8 @@ }, { "condition":{"typeReachable":"org.codehaus.groovy.reflection.GeneratedMetaMethod$DgmMethodRecord"}, - "name":"groovy.lang.Range" + "name":"groovy.lang.Range", + "allPublicMethods": true }, { "condition":{"typeReachable":"org.codehaus.groovy.reflection.GeneratedMetaMethod$DgmMethodRecord"}, @@ -84,17 +89,29 @@ }, { "condition":{"typeReachable":"org.codehaus.groovy.reflection.GeneratedMetaMethod$DgmMethodRecord"}, - "name":"groovy.lang.Writable" -}, -{ - "condition":{"typeReachable":"org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl"}, "name":"groovy.lang.Writable", - "queryAllPublicMethods":true + "allDeclaredMethods": true }, { "condition":{"typeReachable":"org.codehaus.groovy.reflection.GeneratedMetaMethod$DgmMethodRecord"}, "name":"groovy.lang.groovydoc.Groovydoc" }, +{ + "condition":{"typeReachable":"org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl"}, + "name":"groovy.runtime.metaclass.CustomMetaClassCreationHandle" +}, +{ + "condition":{"typeReachable":"groovy.lang.Binding"}, + "name":"groovy.runtime.metaclass.groovy.lang.BindingMetaClass" +}, +{ + "condition":{"typeReachable":"org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl"}, + "name":"groovy.runtime.metaclass.groovy.lang.ExpandoMetaClassMetaClass" +}, +{ + "condition":{"typeReachable":"groovy.lang.GroovyShell"}, + "name":"groovy.runtime.metaclass.groovy.lang.GroovyShellMetaClass" +}, { "condition":{"typeReachable":"org.codehaus.groovy.reflection.GeneratedMetaMethod$DgmMethodRecord"}, "name":"groovy.util.BufferedIterator" @@ -108,7 +125,7 @@ "name":"org.codehaus.groovy.runtime.NullObject" }, { - "condition":{"typeReachable":"groovy.lang.MetaClassImpl"}, + "condition":{"typeReachable":"org.codehaus.groovy.runtime.metaclass.MetaMethodIndex"}, "name":"org.codehaus.groovy.runtime.callsite.CallSite", "queryAllPublicMethods":true }, @@ -226,5 +243,69 @@ "condition":{"typeReachable":"org.codehaus.groovy.vmplugin.VMPluginFactory"}, "name":"org.codehaus.groovy.vmplugin.v16.Java16", "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.codehaus.groovy.reflection.stdclasses.CachedSAMClass"}, + "name":"groovy.lang.GroovyObjectSupport", + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.codehaus.groovy.reflection.stdclasses.CachedSAMClass"}, + "name":"groovy.lang.Buildable", + "allDeclaredMethods": true +}, +{ + "condition":{"typeReachable":"org.codehaus.groovy.reflection.CachedClass$3"}, + "name":"org.codehaus.groovy.vmplugin.v8.PluginDefaultGroovyMethods", + "allDeclaredMethods": true +}, +{ + "condition":{"typeReachable":"org.codehaus.groovy.reflection.CachedClass$3"}, + "name":"org.codehaus.groovy.runtime.DefaultGroovyMethodsSupport", + "allDeclaredMethods": true +}, +{ + "condition":{"typeReachable":"org.codehaus.groovy.reflection.CachedClass$3"}, + "name":"org.codehaus.groovy.vmplugin.v9.PluginDefaultGroovyMethods", + "allDeclaredMethods": true +}, +{ + "condition":{"typeReachable":"org.codehaus.groovy.reflection.CachedClass$3"}, + "name":"org.codehaus.groovy.vmplugin.v10.PluginDefaultGroovyMethods", + "allDeclaredMethods": true +}, +{ + "condition":{"typeReachable":"org.codehaus.groovy.reflection.CachedClass$3"}, + "name":"org.codehaus.groovy.runtime.DefaultGroovyStaticMethods", + "allDeclaredMethods": true +}, +{ + "condition":{"typeReachable":"org.codehaus.groovy.reflection.CachedClass$3"}, + "name":"groovy.lang.MetaClassImpl", + "allDeclaredMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.codehaus.groovy.reflection.stdclasses.CachedSAMClass"}, + "name":"groovy.lang.MetaMethod", + "allDeclaredMethods": true +}, +{ + "condition":{"typeReachable":"org.codehaus.groovy.reflection.CachedClass$2"}, + "name":"groovy.lang.Binding", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.codehaus.groovy.reflection.CachedClass$2"}, + "name":"groovy.lang.GroovyShell", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true } ] diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.groovy/groovy/4.0.10/resource-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.groovy/groovy/4.0.22/resource-config.json similarity index 52% rename from infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.groovy/groovy/4.0.10/resource-config.json rename to infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.groovy/groovy/4.0.22/resource-config.json index 87e3c880925ca..22c338adc8e46 100644 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.groovy/groovy/4.0.10/resource-config.json +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.groovy/groovy/4.0.22/resource-config.json @@ -3,6 +3,9 @@ "includes":[{ "condition":{"typeReachable":"org.codehaus.groovy.reflection.GeneratedMetaMethod$DgmMethodRecord"}, "pattern":"\\QMETA-INF/dgminfo\\E" + }, { + "condition":{"typeReachable":"org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner"}, + "pattern":"\\QMETA-INF/groovy/org.codehaus.groovy.runtime.ExtensionModule\\E" }]}, "bundles":[] } diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.hadoop/hadoop-common/3.3.6/resource-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.hadoop/hadoop-common/3.3.6/resource-config.json new file mode 100644 index 0000000000000..a8e2a9038aa3d --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.hadoop/hadoop-common/3.3.6/resource-config.json @@ -0,0 +1,14 @@ +{ + "resources":{ + "includes":[{ + "condition":{"typeReachable":"org.apache.hadoop.conf.Configuration"}, + "pattern":"\\Qhadoop-site.xml\\E" + }, { + "condition":{"typeReachable":"org.apache.hadoop.conf.Configuration"}, + "pattern":"\\Qcore-default.xml\\E" + }, { + "condition":{"typeReachable":"org.apache.hadoop.conf.Configuration"}, + "pattern":"\\Qcore-site.xml\\E" + }]}, + "bundles":[] +} diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.seata/seata-all/2.1.0/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.seata/seata-all/2.1.0/reflect-config.json index a4ba945bcec6d..7a99148da2353 100644 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.seata/seata-all/2.1.0/reflect-config.json +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.seata/seata-all/2.1.0/reflect-config.json @@ -39,6 +39,10 @@ "condition":{"typeReachable":"org.apache.seata.rm.DefaultRMHandler"}, "name":"io.seata.rm.AbstractRMHandler" }, +{ + "condition":{"typeReachable":"org.apache.seata.rm.datasource.PreparedStatementProxy"}, + "name":"io.seata.rm.datasource.exec.InsertExecutor" +}, { "condition":{"typeReachable":"org.apache.seata.rm.datasource.undo.UndoExecutorHolderFactory"}, "name":"io.seata.rm.datasource.undo.UndoExecutorHolder" @@ -90,7 +94,7 @@ "name":"org.apache.seata.config.Configuration" }, { - "condition":{"typeReachable":"org.apache.seata.config.ConfigurationCache$$Lambda/0x00007f3e4ba49308"}, + "condition":{"typeReachable":"org.apache.seata.config.ConfigurationCache$$Lambda/0x00007fea13cd9cb0"}, "name":"org.apache.seata.config.Configuration" }, { @@ -215,10 +219,34 @@ "methods":[{"name":"","parameterTypes":[] }] }, { - "condition":{"typeReachable":"org.apache.seata.rm.datasource.StatementProxy"}, + "condition":{"typeReachable":"org.apache.seata.rm.datasource.PreparedStatementProxy"}, + "name":"org.apache.seata.rm.datasource.exec.dm.DmInsertExecutor" +}, +{ + "condition":{"typeReachable":"org.apache.seata.rm.datasource.PreparedStatementProxy"}, + "name":"org.apache.seata.rm.datasource.exec.mariadb.MariadbInsertExecutor" +}, +{ + "condition":{"typeReachable":"org.apache.seata.rm.datasource.PreparedStatementProxy"}, + "name":"org.apache.seata.rm.datasource.exec.mysql.MySQLInsertExecutor" +}, +{ + "condition":{"typeReachable":"org.apache.seata.rm.datasource.PreparedStatementProxy"}, + "name":"org.apache.seata.rm.datasource.exec.oracle.OracleInsertExecutor" +}, +{ + "condition":{"typeReachable":"org.apache.seata.rm.datasource.PreparedStatementProxy"}, + "name":"org.apache.seata.rm.datasource.exec.polardbx.PolarDBXInsertExecutor" +}, +{ + "condition":{"typeReachable":"org.apache.seata.rm.datasource.exec.ExecuteTemplate"}, "name":"org.apache.seata.rm.datasource.exec.postgresql.PostgresqlInsertExecutor", "methods":[{"name":"","parameterTypes":["org.apache.seata.rm.datasource.StatementProxy","org.apache.seata.rm.datasource.exec.StatementCallback","org.apache.seata.sqlparser.SQLRecognizer"] }] }, +{ + "condition":{"typeReachable":"org.apache.seata.rm.datasource.PreparedStatementProxy"}, + "name":"org.apache.seata.rm.datasource.exec.sqlserver.SqlServerInsertExecutor" +}, { "condition":{"typeReachable":"org.apache.seata.sqlparser.EscapeHandlerFactory"}, "name":"org.apache.seata.rm.datasource.sql.handler.dm.DmEscapeHandler" @@ -253,7 +281,7 @@ "name":"org.apache.seata.rm.datasource.sql.struct.Field" }, { - "condition":{"typeReachable":"org.apache.seata.rm.datasource.ConnectionProxy$$Lambda/0x00007f3e4bc2af00"}, + "condition":{"typeReachable":"org.apache.seata.rm.datasource.ConnectionProxy$$Lambda/0x00007fea13db8000"}, "name":"org.apache.seata.rm.datasource.sql.struct.Field" }, { @@ -278,7 +306,7 @@ "name":"org.apache.seata.rm.datasource.sql.struct.Field" }, { - "condition":{"typeReachable":"org.apache.seata.rm.datasource.exec.AbstractDMLBaseExecutor$$Lambda/0x00007f3e4bc17788"}, + "condition":{"typeReachable":"org.apache.seata.rm.datasource.exec.AbstractDMLBaseExecutor$$Lambda/0x00007fea13d17d98"}, "name":"org.apache.seata.rm.datasource.sql.struct.Field" }, { @@ -322,7 +350,7 @@ "name":"org.apache.seata.rm.datasource.sql.struct.Row" }, { - "condition":{"typeReachable":"org.apache.seata.rm.datasource.ConnectionProxy$$Lambda/0x00007f3e4bc2af00"}, + "condition":{"typeReachable":"org.apache.seata.rm.datasource.ConnectionProxy$$Lambda/0x00007fea13db8000"}, "name":"org.apache.seata.rm.datasource.sql.struct.Row" }, { @@ -347,7 +375,7 @@ "name":"org.apache.seata.rm.datasource.sql.struct.Row" }, { - "condition":{"typeReachable":"org.apache.seata.rm.datasource.exec.AbstractDMLBaseExecutor$$Lambda/0x00007f3e4bc17788"}, + "condition":{"typeReachable":"org.apache.seata.rm.datasource.exec.AbstractDMLBaseExecutor$$Lambda/0x00007fea13d17d98"}, "name":"org.apache.seata.rm.datasource.sql.struct.Row" }, { @@ -379,7 +407,7 @@ "name":"org.apache.seata.rm.datasource.sql.struct.TableRecords" }, { - "condition":{"typeReachable":"org.apache.seata.rm.datasource.ConnectionProxy$$Lambda/0x00007f3e4bc2af00"}, + "condition":{"typeReachable":"org.apache.seata.rm.datasource.ConnectionProxy$$Lambda/0x00007fea13db8000"}, "name":"org.apache.seata.rm.datasource.sql.struct.TableRecords" }, { @@ -404,7 +432,7 @@ "name":"org.apache.seata.rm.datasource.sql.struct.TableRecords" }, { - "condition":{"typeReachable":"org.apache.seata.rm.datasource.exec.AbstractDMLBaseExecutor$$Lambda/0x00007f3e4bc17788"}, + "condition":{"typeReachable":"org.apache.seata.rm.datasource.exec.AbstractDMLBaseExecutor$$Lambda/0x00007fea13d17d98"}, "name":"org.apache.seata.rm.datasource.sql.struct.TableRecords" }, { @@ -480,7 +508,7 @@ "name":"org.apache.seata.rm.datasource.undo.BranchUndoLog" }, { - "condition":{"typeReachable":"org.apache.seata.rm.datasource.ConnectionProxy$$Lambda/0x00007f3e4bc2af00"}, + "condition":{"typeReachable":"org.apache.seata.rm.datasource.ConnectionProxy$$Lambda/0x00007fea13db8000"}, "name":"org.apache.seata.rm.datasource.undo.BranchUndoLog" }, { @@ -505,7 +533,7 @@ "name":"org.apache.seata.rm.datasource.undo.BranchUndoLog" }, { - "condition":{"typeReachable":"org.apache.seata.rm.datasource.exec.AbstractDMLBaseExecutor$$Lambda/0x00007f3e4bc17788"}, + "condition":{"typeReachable":"org.apache.seata.rm.datasource.exec.AbstractDMLBaseExecutor$$Lambda/0x00007fea13d17d98"}, "name":"org.apache.seata.rm.datasource.undo.BranchUndoLog" }, { @@ -537,7 +565,7 @@ "name":"org.apache.seata.rm.datasource.undo.SQLUndoLog" }, { - "condition":{"typeReachable":"org.apache.seata.rm.datasource.ConnectionProxy$$Lambda/0x00007f3e4bc2af00"}, + "condition":{"typeReachable":"org.apache.seata.rm.datasource.ConnectionProxy$$Lambda/0x00007fea13db8000"}, "name":"org.apache.seata.rm.datasource.undo.SQLUndoLog" }, { @@ -562,7 +590,7 @@ "name":"org.apache.seata.rm.datasource.undo.SQLUndoLog" }, { - "condition":{"typeReachable":"org.apache.seata.rm.datasource.exec.AbstractDMLBaseExecutor$$Lambda/0x00007f3e4bc17788"}, + "condition":{"typeReachable":"org.apache.seata.rm.datasource.exec.AbstractDMLBaseExecutor$$Lambda/0x00007fea13d17d98"}, "name":"org.apache.seata.rm.datasource.undo.SQLUndoLog" }, { @@ -794,5 +822,9 @@ "condition":{"typeReachable":"org.apache.seata.tm.TransactionManagerHolder$SingletonHolder"}, "name":"org.apache.seata.tm.DefaultTransactionManager", "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.seata.common.loader.EnhancedServiceLoader$InnerEnhancedServiceLoader"}, + "name":"io.seata.config.file.FileConfig" } ] diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.seata/seata-all/2.1.0/resource-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.seata/seata-all/2.1.0/resource-config.json index 3566f24e8e9fa..44a5a1bdb11bc 100644 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.seata/seata-all/2.1.0/resource-config.json +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.seata/seata-all/2.1.0/resource-config.json @@ -1,20 +1,185 @@ { "resources":{ "includes":[{ - "condition":{"typeReachable":"org.apache.seata.config.ConfigurationFactory"}, - "pattern":".*META-INF/services/io\\.seata\\..+" - },{ - "condition":{"typeReachable":"org.apache.seata.config.ConfigurationFactory"}, - "pattern":".*META-INF/services/org\\.apache\\.seata\\..+" - },{ "condition":{"typeReachable":"org.apache.seata.sqlparser.druid.DruidDbTypeParserImpl"}, "pattern":"\\QMETA-INF/druid-driver.properties\\E" }, { - "condition":{"typeReachable":"org.apache.seata.config.FileConfiguration"}, - "pattern":"\\Q\\E" + "condition":{"typeReachable":"org.apache.seata.config.ConfigurationFactory"}, + "pattern":"\\QMETA-INF/seata/io.seata.config.ConfigurationProvider\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.core.rpc.netty.TmNettyRemotingClient"}, + "pattern":"\\QMETA-INF/seata/io.seata.core.auth.AuthSigner\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.core.context.ContextCoreLoader$ContextCoreHolder"}, + "pattern":"\\QMETA-INF/seata/io.seata.core.context.ContextCore\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.DefaultResourceManager"}, + "pattern":"\\QMETA-INF/seata/io.seata.core.model.ResourceManager\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.core.serializer.SerializerServiceLoader"}, + "pattern":"\\QMETA-INF/seata/io.seata.core.serializer.Serializer\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.discovery.registry.RegistryFactory"}, + "pattern":"\\QMETA-INF/seata/io.seata.discovery.registry.RegistryProvider\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.PreparedStatementProxy"}, + "pattern":"\\QMETA-INF/seata/io.seata.rm.datasource.exec.InsertExecutor\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.undo.parser.JacksonUndoLogParser"}, + "pattern":"\\QMETA-INF/seata/io.seata.rm.datasource.undo.parser.spi.JacksonSerializer\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.config.ConfigurationFactory"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.config.ConfigurationProvider\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.config.ConfigurationFactory"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.config.ExtConfigurationProvider\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.core.rpc.netty.TmNettyRemotingClient"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.core.auth.AuthSigner\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.core.context.ContextCoreLoader$ContextCoreHolder"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.core.context.ContextCore\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.DefaultResourceManager"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.core.model.ResourceManager\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.tm.TransactionManagerHolder$SingletonHolder"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.core.model.TransactionManager\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.core.rpc.netty.AbstractNettyRemoting"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.core.rpc.hook.RpcHook\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.core.serializer.SerializerServiceLoader"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.core.serializer.Serializer\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.discovery.registry.RegistryFactory"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.discovery.registry.RegistryProvider\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.DefaultRMHandler"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.rm.AbstractRMHandler\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.PreparedStatementProxy"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.rm.datasource.exec.InsertExecutor\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.undo.UndoExecutorHolderFactory"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.rm.datasource.undo.UndoExecutorHolder\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.undo.UndoLogManagerFactory"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.rm.datasource.undo.UndoLogManager\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.undo.UndoLogParserFactory"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.rm.datasource.undo.UndoLogParser\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.undo.parser.JacksonUndoLogParser"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.rm.datasource.undo.parser.spi.JacksonSerializer\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.sqlparser.EscapeHandlerFactory"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.sqlparser.EscapeHandler\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.sql.SQLVisitorFactory"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.sqlparser.SQLRecognizerFactory\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.common.loader.EnhancedServiceLoader"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.sqlparser.druid.SQLOperateRecognizerHolder\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.sql.struct.TableMetaCacheFactory"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.sqlparser.struct.TableMetaCache\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.util.JdbcUtils"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.sqlparser.util.DbTypeParser\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.config.ConfigurationFactory"}, + "pattern":"\\QMETA-INF/services/io.seata.config.ConfigurationProvider\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.core.rpc.netty.TmNettyRemotingClient"}, + "pattern":"\\QMETA-INF/services/io.seata.core.auth.AuthSigner\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.core.context.ContextCoreLoader$ContextCoreHolder"}, + "pattern":"\\QMETA-INF/services/io.seata.core.context.ContextCore\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.DefaultResourceManager"}, + "pattern":"\\QMETA-INF/services/io.seata.core.model.ResourceManager\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.core.serializer.SerializerServiceLoader"}, + "pattern":"\\QMETA-INF/services/io.seata.core.serializer.Serializer\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.discovery.registry.RegistryFactory"}, + "pattern":"\\QMETA-INF/services/io.seata.discovery.registry.RegistryProvider\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.PreparedStatementProxy"}, + "pattern":"\\QMETA-INF/services/io.seata.rm.datasource.exec.InsertExecutor\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.undo.parser.JacksonUndoLogParser"}, + "pattern":"\\QMETA-INF/services/io.seata.rm.datasource.undo.parser.spi.JacksonSerializer\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.config.ConfigurationFactory"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.config.ConfigurationProvider\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.config.ConfigurationFactory"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.config.ExtConfigurationProvider\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.core.rpc.netty.TmNettyRemotingClient"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.core.auth.AuthSigner\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.core.context.ContextCoreLoader$ContextCoreHolder"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.core.context.ContextCore\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.DefaultResourceManager"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.core.model.ResourceManager\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.tm.TransactionManagerHolder$SingletonHolder"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.core.model.TransactionManager\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.core.rpc.netty.AbstractNettyRemoting"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.core.rpc.hook.RpcHook\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.core.serializer.SerializerServiceLoader"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.core.serializer.Serializer\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.discovery.registry.RegistryFactory"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.discovery.registry.RegistryProvider\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.DefaultRMHandler"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.rm.AbstractRMHandler\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.PreparedStatementProxy"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.rm.datasource.exec.InsertExecutor\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.undo.UndoExecutorHolderFactory"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.rm.datasource.undo.UndoExecutorHolder\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.undo.UndoLogManagerFactory"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.rm.datasource.undo.UndoLogManager\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.undo.UndoLogParserFactory"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.rm.datasource.undo.UndoLogParser\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.undo.parser.JacksonUndoLogParser"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.rm.datasource.undo.parser.spi.JacksonSerializer\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.sqlparser.EscapeHandlerFactory"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.sqlparser.EscapeHandler\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.sql.SQLVisitorFactory"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.sqlparser.SQLRecognizerFactory\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.common.loader.EnhancedServiceLoader"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.sqlparser.druid.SQLOperateRecognizerHolder\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.sql.struct.TableMetaCacheFactory"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.sqlparser.struct.TableMetaCache\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.rm.datasource.util.JdbcUtils"}, + "pattern":"\\QMETA-INF/services/org.apache.seata.sqlparser.util.DbTypeParser\\E" }, { "condition":{"typeReachable":"org.apache.seata.sqlparser.druid.DefaultDruidLoader"}, "pattern":"\\Qlib/sqlparser/druid.jar\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.common.loader.EnhancedServiceLoader"}, + "pattern":"\\QMETA-INF/seata/org.apache.seata.config.file.FileConfig\\E" + }, { + "condition":{"typeReachable":"org.apache.seata.config.FileConfiguration"}, + "pattern":"\\Qregistry\\E" }]}, "bundles":[] } diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/elasticjob-lite-core/3.0.4/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/elasticjob-lite-core/3.0.4/reflect-config.json deleted file mode 100644 index ee1b6fdacc5d5..0000000000000 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere.elasticjob/elasticjob-lite-core/3.0.4/reflect-config.json +++ /dev/null @@ -1,55 +0,0 @@ -[ -{ - "condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.lite.internal.instance.InstanceNode"}, - "name":"org.apache.shardingsphere.elasticjob.infra.handler.sharding.JobInstance", - "allDeclaredFields":true, - "methods":[{"name":"getJobInstanceId","parameterTypes":[] }, {"name":"getLabels","parameterTypes":[] }, {"name":"getServerIp","parameterTypes":[] }] -}, -{ - "condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.executor.ElasticJobExecutor"}, - "name":"org.apache.shardingsphere.elasticjob.infra.pojo.JobConfigurationPOJO", - "methods":[{"name":"setCron","parameterTypes":["java.lang.String"] }, {"name":"setProps","parameterTypes":["java.util.Properties"] }] -}, -{ - "condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.infra.yaml.YamlEngine"}, - "name":"org.apache.shardingsphere.elasticjob.infra.pojo.JobConfigurationPOJO", - "allDeclaredFields":true, - "methods":[{"name":"","parameterTypes":[] }, {"name":"setDescription","parameterTypes":["java.lang.String"] }, {"name":"setDisabled","parameterTypes":["boolean"] }, {"name":"setFailover","parameterTypes":["boolean"] }, {"name":"setJobName","parameterTypes":["java.lang.String"] }, {"name":"setJobParameter","parameterTypes":["java.lang.String"] }, {"name":"setMaxTimeDiffSeconds","parameterTypes":["int"] }, {"name":"setMisfire","parameterTypes":["boolean"] }, {"name":"setMonitorExecution","parameterTypes":["boolean"] }, {"name":"setOverwrite","parameterTypes":["boolean"] }, {"name":"setReconcileIntervalMinutes","parameterTypes":["int"] }, {"name":"setShardingItemParameters","parameterTypes":["java.lang.String"] }, {"name":"setShardingTotalCount","parameterTypes":["int"] }, {"name":"setStaticSharding","parameterTypes":["boolean"] }] -}, -{ - "condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.lite.api.bootstrap.impl.ScheduleJobBootstrap"}, - "name":"org.apache.shardingsphere.elasticjob.infra.pojo.JobConfigurationPOJO", - "methods":[{"name":"setCron","parameterTypes":["java.lang.String"] }] -}, -{ - "condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.lite.internal.config.ConfigurationService"}, - "name":"org.apache.shardingsphere.elasticjob.infra.pojo.JobConfigurationPOJO", - "allDeclaredFields":true, - "methods":[{"name":"getCron","parameterTypes":[] }, {"name":"getDescription","parameterTypes":[] }, {"name":"getJobErrorHandlerType","parameterTypes":[] }, {"name":"getJobExecutorServiceHandlerType","parameterTypes":[] }, {"name":"getJobExtraConfigurations","parameterTypes":[] }, {"name":"getJobListenerTypes","parameterTypes":[] }, {"name":"getJobName","parameterTypes":[] }, {"name":"getJobParameter","parameterTypes":[] }, {"name":"getJobShardingStrategyType","parameterTypes":[] }, {"name":"getLabel","parameterTypes":[] }, {"name":"getMaxTimeDiffSeconds","parameterTypes":[] }, {"name":"getProps","parameterTypes":[] }, {"name":"getReconcileIntervalMinutes","parameterTypes":[] }, {"name":"getShardingItemParameters","parameterTypes":[] }, {"name":"getShardingTotalCount","parameterTypes":[] }, {"name":"getTimeZone","parameterTypes":[] }, {"name":"isDisabled","parameterTypes":[] }, {"name":"isFailover","parameterTypes":[] }, {"name":"isMisfire","parameterTypes":[] }, {"name":"isMonitorExecution","parameterTypes":[] }, {"name":"isOverwrite","parameterTypes":[] }, {"name":"isStaticSharding","parameterTypes":[] }] -}, -{ - "condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.lite.internal.failover.FailoverListenerManager"}, - "name":"org.apache.shardingsphere.elasticjob.infra.pojo.JobConfigurationPOJO", - "methods":[{"name":"setCron","parameterTypes":["java.lang.String"] }, {"name":"setProps","parameterTypes":["java.util.Properties"] }] -}, -{ - "condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.lite.internal.reconcile.ReconcileService"}, - "name":"org.apache.shardingsphere.elasticjob.infra.pojo.JobConfigurationPOJO", - "methods":[{"name":"setCron","parameterTypes":["java.lang.String"] }, {"name":"setProps","parameterTypes":["java.util.Properties"] }] -}, -{ - "condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.lite.internal.sharding.ShardingListenerManager$ListenServersChangedJobListener"}, - "name":"org.apache.shardingsphere.elasticjob.infra.pojo.JobConfigurationPOJO", - "methods":[{"name":"setCron","parameterTypes":["java.lang.String"] }, {"name":"setProps","parameterTypes":["java.util.Properties"] }] -}, -{ - "condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.lite.internal.sharding.ShardingListenerManager$ShardingTotalCountChangedJobListener"}, - "name":"org.apache.shardingsphere.elasticjob.infra.pojo.JobConfigurationPOJO", - "methods":[{"name":"setCron","parameterTypes":["java.lang.String"] }, {"name":"setProps","parameterTypes":["java.util.Properties"] }] -}, -{ - "condition":{"typeReachable":"org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobScheduler"}, - "name":"org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobShutdownHookPlugin", - "methods":[{"name":"","parameterTypes":[] }, {"name":"setCleanShutdown","parameterTypes":["boolean"] }] -} -] diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/jni-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/jni-config.json index 32960f8ced39d..cbb30c7b3fdee 100644 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/jni-config.json +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/jni-config.json @@ -1,2 +1,43 @@ [ +{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy"}, + "name":"java.io.FileDescriptor", + "fields":[{"name":"fd"}] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy"}, + "name":"java.io.IOException" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy"}, + "name":"java.lang.OutOfMemoryError" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy"}, + "name":"java.lang.RuntimeException" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy"}, + "name":"java.net.InetSocketAddress", + "methods":[{"name":"","parameterTypes":["java.lang.String","int"] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy"}, + "name":"java.net.PortUnreachableException" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy"}, + "name":"java.nio.Buffer", + "fields":[{"name":"limit"}, {"name":"position"}], + "methods":[{"name":"limit","parameterTypes":[] }, {"name":"position","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy"}, + "name":"java.nio.DirectByteBuffer" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy"}, + "name":"java.nio.channels.ClosedChannelException", + "methods":[{"name":"","parameterTypes":[] }] +} ] \ No newline at end of file diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/reflect-config.json index c624ab2737b68..25f9e4ae8b83e 100644 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/reflect-config.json +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/reflect-config.json @@ -60,19 +60,19 @@ "name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.manager.SchemaMetaDataManager"}, + "condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.standalone.persist.StandaloneMetaDataManagerPersistService"}, "name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.repository.standalone.jdbc.JDBCRepository"}, + "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.manager.SchemaMetaDataManager"}, "name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector"}, + "condition":{"typeReachable":"org.apache.shardingsphere.mode.repository.standalone.jdbc.JDBCRepository"}, "name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy$$Lambda/0x00007f2a8b5b2368"}, + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.mysql.command.query.text.query.MySQLComQueryPacketExecutor"}, "name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;" }, { @@ -95,11 +95,549 @@ "condition":{"typeReachable":"org.apache.shardingsphere.mode.repository.standalone.jdbc.JDBCRepository"}, "name":"[Ljava.sql.Statement;" }, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.util.yaml.YamlEngine"}, + "name":"java.beans.PropertyVetoException" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.io.BufferedInputStream" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.io.BufferedOutputStream" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.io.BufferedReader" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.io.BufferedWriter" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.io.Closeable", + "queryAllDeclaredMethods":true, + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.io.DataInputStream" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.io.DataOutputStream" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.io.File" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy"}, + "name":"java.io.FileDescriptor" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.io.Flushable", + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy"}, + "name":"java.io.IOException" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.io.InputStream", + "queryAllDeclaredMethods":true, + "methods":[{"name":"close","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.io.ObjectInputStream" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.io.ObjectOutputStream" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.io.OutputStream", + "queryAllDeclaredMethods":true, + "methods":[{"name":"close","parameterTypes":[] }, {"name":"flush","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.io.PrintStream" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.io.PrintWriter" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.io.Reader", + "queryAllDeclaredMethods":true, + "methods":[{"name":"close","parameterTypes":[] }, {"name":"read","parameterTypes":["java.nio.CharBuffer"] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.io.Serializable", + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.io.Writer", + "queryAllDeclaredMethods":true, + "methods":[{"name":"append","parameterTypes":["char"] }, {"name":"append","parameterTypes":["java.lang.CharSequence"] }, {"name":"append","parameterTypes":["java.lang.CharSequence","int","int"] }, {"name":"close","parameterTypes":[] }, {"name":"flush","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.Appendable", + "queryAllDeclaredMethods":true, + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.AutoCloseable", + "queryAllDeclaredMethods":true, + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.Boolean" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.CharSequence", + "queryAllDeclaredMethods":true, + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.Character" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.Class", + "methods":[{"name":"getPermittedSubclasses","parameterTypes":[] }, {"name":"isSealed","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.ClassLoader", + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"}, + "name":"java.lang.ClassLoader" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.Cloneable", + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.Comparable", + "queryAllDeclaredMethods":true, + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.Double" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.Enum", + "queryAllDeclaredMethods":true, + "methods":[{"name":"compareTo","parameterTypes":["java.lang.Object"] }, {"name":"describeConstable","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.Float" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.Integer" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.Iterable", + "queryAllDeclaredMethods":true, + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.Long" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.Number" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.Object", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllPublicMethods":true, + "methods":[{"name":"close","parameterTypes":[] }, {"name":"entrySet","parameterTypes":[] }, {"name":"equals","parameterTypes":["java.lang.Object"] }, {"name":"flush","parameterTypes":[] }, {"name":"hashCode","parameterTypes":[] }, {"name":"iterator","parameterTypes":[] }, {"name":"size","parameterTypes":[] }, {"name":"toString","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.schema.builder.SystemSchemaBuilder"}, + "name":"java.lang.Object", + "allDeclaredFields":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.util.eventbus.EventBusContext"}, + "name":"java.lang.Object", + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.util.yaml.YamlEngine"}, + "name":"java.lang.Object", + "allDeclaredFields":true, + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.util.yaml.representer.ShardingSphereYamlRepresenter"}, + "name":"java.lang.Object", + "allDeclaredFields":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.metadata.persist.MetaDataPersistService"}, + "name":"java.lang.Object", + "allDeclaredFields":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.metadata.persist.service.config.global.GlobalRulePersistService"}, + "name":"java.lang.Object", + "allDeclaredFields":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.metadata.persist.service.metadata.table.TableMetaDataPersistService"}, + "name":"java.lang.Object", + "allDeclaredFields":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.metadata.persist.service.metadata.table.TableRowDataPersistService"}, + "name":"java.lang.Object", + "allDeclaredFields":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.standalone.persist.StandaloneMetaDataManagerPersistService"}, + "name":"java.lang.Object", + "allDeclaredFields":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.mode.persist.service.ComputeNodePersistService"}, + "name":"java.lang.Object", + "allDeclaredFields":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.sharding.rule.changed.DefaultDatabaseShardingStrategyChangedProcessor"}, + "name":"java.lang.Object", + "allDeclaredFields":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.sharding.rule.changed.KeyGeneratorChangedProcessor"}, + "name":"java.lang.Object", + "allDeclaredFields":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.sharding.rule.changed.ShardingAlgorithmChangedProcessor"}, + "name":"java.lang.Object", + "allDeclaredFields":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.sharding.rule.changed.ShardingTableChangedProcessor"}, + "name":"java.lang.Object", + "allDeclaredFields":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.util.yaml.YamlEngine"}, + "name":"java.lang.ObjectBeanInfo" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.util.yaml.YamlEngine"}, + "name":"java.lang.ObjectCustomizer" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy"}, + "name":"java.lang.OutOfMemoryError" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.Process", + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy"}, + "name":"java.lang.ProcessHandle", + "methods":[{"name":"current","parameterTypes":[] }, {"name":"pid","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.Readable", + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy"}, + "name":"java.lang.RuntimeException" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.Short" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.String" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.StringBuffer" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.StringBuilder" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.System$Logger", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.Thread" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.mode.repository.cluster.etcd.EtcdRepository"}, + "name":"java.lang.Thread", + "methods":[{"name":"ofVirtual","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.mode.repository.cluster.etcd.EtcdRepository"}, + "name":"java.lang.Thread$Builder", + "methods":[{"name":"factory","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.mode.repository.cluster.etcd.EtcdRepository"}, + "name":"java.lang.Thread$Builder$OfVirtual", + "methods":[{"name":"name","parameterTypes":["java.lang.String","long"] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.Throwable" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"}, + "name":"java.lang.Throwable", + "methods":[{"name":"getSuppressed","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.constant.Constable", + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.db.protocol.constant.CommonConstants"}, + "name":"java.lang.management.ManagementFactory", + "methods":[{"name":"getRuntimeMXBean","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.db.protocol.constant.CommonConstants"}, + "name":"java.lang.management.RuntimeMXBean", + "methods":[{"name":"getInputArguments","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.lang.reflect.AnnotatedElement", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.math.BigDecimal" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.math.BigInteger" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy"}, + "name":"java.net.InetSocketAddress" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy"}, + "name":"java.net.PortUnreachableException" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.net.ServerSocket" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.net.Socket" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource"}, + "name":"java.net.SocketException", + "methods":[{"name":"","parameterTypes":["java.lang.String"] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.net.URI" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.net.URL" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource"}, + "name":"java.net.UnixDomainSocketAddress", + "methods":[{"name":"of","parameterTypes":["java.lang.String"] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.db.protocol.constant.CommonConstants"}, + "name":"java.nio.Bits", + "methods":[{"name":"unaligned","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.db.protocol.constant.CommonConstants"}, + "name":"java.nio.Buffer", + "fields":[{"name":"address"}] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.db.protocol.constant.CommonConstants"}, + "name":"java.nio.ByteBuffer", + "methods":[{"name":"alignedSlice","parameterTypes":["int"] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.db.protocol.constant.CommonConstants"}, + "name":"java.nio.DirectByteBuffer", + "methods":[{"name":"","parameterTypes":["long","long"] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy"}, + "name":"java.nio.channels.ClosedChannelException" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy"}, + "name":"java.nio.channels.FileChannel" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.nio.charset.Charset", + "queryAllDeclaredMethods":true, + "methods":[{"name":"compareTo","parameterTypes":["java.lang.Object"] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource"}, + "name":"java.security.AccessController", + "methods":[{"name":"doPrivileged","parameterTypes":["java.security.PrivilegedExceptionAction"] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.security.PrivilegedAction", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.security.PrivilegedExceptionAction", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.util.yaml.YamlEngine"}, + "name":"java.sql.Date" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.util.yaml.YamlEngine"}, + "name":"java.sql.Timestamp" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.AbstractCollection", + "queryAllDeclaredMethods":true, + "methods":[{"name":"add","parameterTypes":["java.lang.Object"] }, {"name":"addAll","parameterTypes":["java.util.Collection"] }, {"name":"clear","parameterTypes":[] }, {"name":"contains","parameterTypes":["java.lang.Object"] }, {"name":"containsAll","parameterTypes":["java.util.Collection"] }, {"name":"isEmpty","parameterTypes":[] }, {"name":"iterator","parameterTypes":[] }, {"name":"remove","parameterTypes":["java.lang.Object"] }, {"name":"removeAll","parameterTypes":["java.util.Collection"] }, {"name":"retainAll","parameterTypes":["java.util.Collection"] }, {"name":"size","parameterTypes":[] }, {"name":"toArray","parameterTypes":[] }, {"name":"toArray","parameterTypes":["java.lang.Object[]"] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.AbstractMap", + "queryAllDeclaredMethods":true, + "methods":[{"name":"clear","parameterTypes":[] }, {"name":"containsKey","parameterTypes":["java.lang.Object"] }, {"name":"containsValue","parameterTypes":["java.lang.Object"] }, {"name":"entrySet","parameterTypes":[] }, {"name":"equals","parameterTypes":["java.lang.Object"] }, {"name":"get","parameterTypes":["java.lang.Object"] }, {"name":"hashCode","parameterTypes":[] }, {"name":"isEmpty","parameterTypes":[] }, {"name":"keySet","parameterTypes":[] }, {"name":"put","parameterTypes":["java.lang.Object","java.lang.Object"] }, {"name":"putAll","parameterTypes":["java.util.Map"] }, {"name":"remove","parameterTypes":["java.lang.Object"] }, {"name":"size","parameterTypes":[] }, {"name":"values","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.BitSet" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.Collection", + "queryAllDeclaredMethods":true, + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.Comparator" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.Deque", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.Enumeration", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.Iterator", + "queryAllPublicMethods":true +}, { "condition":{"typeReachable":"org.apache.shardingsphere.broadcast.rule.changed.BroadcastTableChangedProcessor"}, "name":"java.util.LinkedHashSet", "methods":[{"name":"","parameterTypes":[] }] }, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.List", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.Locale" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.Map", + "queryAllDeclaredMethods":true, + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.Map$Entry" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.NavigableSet", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.Optional" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.OptionalDouble" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.OptionalInt" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.OptionalLong" +}, { "condition":{"typeReachable":"org.apache.shardingsphere.infra.util.yaml.YamlEngine"}, "name":"java.util.Properties", @@ -110,6 +648,148 @@ "name":"java.util.Properties", "methods":[{"name":"","parameterTypes":[] }] }, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.Random" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.ResourceBundle", + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.Set", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.SortedMap", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.SortedSet", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.Spliterator", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.Timer" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.TimerTask" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.concurrent.BlockingQueue", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.concurrent.Future", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.mode.repository.cluster.etcd.EtcdRepository"}, + "name":"java.util.concurrent.atomic.LongAdder", + "queryAllPublicConstructors":true, + "methods":[{"name":"","parameterTypes":[] }, {"name":"add","parameterTypes":["long"] }, {"name":"sum","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.function.DoubleFunction", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.function.DoublePredicate", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.function.Function", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.function.IntFunction", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.function.IntPredicate", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.function.LongFunction", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.function.LongPredicate", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.function.Supplier", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.function.ToDoubleFunction", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.function.ToIntFunction", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.function.ToLongFunction", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"}, + "name":"java.util.logging.Logger" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.regex.Matcher" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.regex.Pattern" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.stream.BaseStream", + "queryAllPublicMethods":true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.stream.DoubleStream" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.stream.IntStream" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.stream.LongStream" +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"}, + "name":"java.util.stream.Stream", + "queryAllPublicMethods":true +}, { "condition":{"typeReachable":"org.apache.shardingsphere.proxy.backend.handler.ProxyBackendHandlerFactory"}, "name":"org.apache.shardingsphere.authority.checker.AuthoritySQLExecutionChecker" @@ -206,7 +886,7 @@ "name":"org.apache.shardingsphere.broadcast.metadata.nodepath.BroadcastRuleNodePathProvider" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.infra.route.engine.impl.PartialSQLRouteExecutor"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.route.engine.type.PartialSQLRouteExecutor"}, "name":"org.apache.shardingsphere.broadcast.route.BroadcastSQLRouter" }, { @@ -683,21 +1363,6 @@ "name":"org.apache.shardingsphere.infra.algorithm.loadbalancer.weight.WeightLoadBalanceAlgorithm", "methods":[{"name":"","parameterTypes":[] }] }, -{ - "condition":{"typeReachable":"org.apache.shardingsphere.infra.binder.context.segment.select.projection.extractor.ProjectionIdentifierExtractEngine"}, - "name":"org.apache.shardingsphere.infra.binder.context.segment.select.projection.extractor.dialect.OpenGaussProjectionIdentifierExtractor", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "condition":{"typeReachable":"org.apache.shardingsphere.infra.binder.context.segment.select.projection.extractor.ProjectionIdentifierExtractEngine"}, - "name":"org.apache.shardingsphere.infra.binder.context.segment.select.projection.extractor.dialect.OracleProjectionIdentifierExtractor", - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "condition":{"typeReachable":"org.apache.shardingsphere.infra.binder.context.segment.select.projection.extractor.ProjectionIdentifierExtractEngine"}, - "name":"org.apache.shardingsphere.infra.binder.context.segment.select.projection.extractor.dialect.PostgreSQLProjectionIdentifierExtractor", - "methods":[{"name":"","parameterTypes":[] }] -}, { "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.mysql.command.query.text.query.MySQLComQueryPacketExecutor"}, "name":"org.apache.shardingsphere.infra.database.clickhouse.connector.ClickHouseConnectionPropertiesParser" @@ -976,6 +1641,10 @@ "condition":{"typeReachable":"org.apache.shardingsphere.infra.parser.cache.SQLStatementCacheBuilder"}, "name":"org.apache.shardingsphere.infra.parser.cache.SQLStatementCacheLoader" }, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.route.engine.SQLRouteEngine"}, + "name":"org.apache.shardingsphere.infra.route.engine.dialect.MySQLSQLRouteExecutorDecider" +}, { "condition":{"typeReachable":"org.apache.shardingsphere.infra.url.core.ShardingSphereURLLoadEngine"}, "name":"org.apache.shardingsphere.infra.url.absolutepath.AbsolutePathURLLoader" @@ -1416,7 +2085,7 @@ "queryAllDeclaredMethods":true }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.cluster.listener.DatabaseMetaDataChangedListener$$Lambda/0x00007f2a8bb1d230"}, + "condition":{"typeReachable":"org.apache.shardingsphere.mode.manager.cluster.listener.DatabaseMetaDataChangedListener$$Lambda/0x00007f6cc7b257d8"}, "name":"org.apache.shardingsphere.mode.manager.cluster.event.subscriber.dispatch.MetaDataChangedSubscriber" }, { @@ -1792,7 +2461,7 @@ "name":"org.apache.shardingsphere.readwritesplitting.metadata.nodepath.ReadwriteSplittingRuleNodePathProvider" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.infra.route.engine.impl.PartialSQLRouteExecutor"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.route.engine.type.PartialSQLRouteExecutor"}, "name":"org.apache.shardingsphere.readwritesplitting.route.ReadwriteSplittingSQLRouter" }, { @@ -1935,7 +2604,7 @@ "name":"org.apache.shardingsphere.shadow.metadata.nodepath.ShadowRuleNodePathProvider" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.infra.route.engine.impl.PartialSQLRouteExecutor"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.route.engine.type.PartialSQLRouteExecutor"}, "name":"org.apache.shardingsphere.shadow.route.ShadowSQLRouter" }, { @@ -2225,7 +2894,7 @@ "name":"org.apache.shardingsphere.sharding.rewrite.context.ShardingSQLRewriteContextDecorator" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.infra.route.engine.impl.PartialSQLRouteExecutor"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.route.engine.type.PartialSQLRouteExecutor"}, "name":"org.apache.shardingsphere.sharding.route.engine.ShardingSQLRouter" }, { @@ -2444,7 +3113,7 @@ "name":"org.apache.shardingsphere.single.metadata.reviser.SingleMetaDataReviseEntry" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.infra.route.engine.impl.PartialSQLRouteExecutor"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.route.engine.type.PartialSQLRouteExecutor"}, "name":"org.apache.shardingsphere.single.route.SingleSQLRouter" }, { diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/resource-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/resource-config.json index e818151d69d59..1e6e0a5c8c600 100644 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/resource-config.json +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/resource-config.json @@ -192,9 +192,6 @@ }, { "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.mysql.command.query.text.query.MySQLComQueryPacketExecutor"}, "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.infra.algorithm.keygen.core.KeyGenerateAlgorithm\\E" - }, { - "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.mysql.command.query.text.query.MySQLComQueryPacketExecutor"}, - "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.infra.binder.context.segment.select.projection.extractor.DialectProjectionIdentifierExtractor\\E" }, { "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.mysql.command.query.text.query.MySQLComQueryPacketExecutor"}, "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.infra.checker.SupportedSQLCheckersBuilder\\E" @@ -244,7 +241,7 @@ "condition":{"typeReachable":"org.apache.shardingsphere.proxy.backend.handler.ProxyBackendHandlerFactory"}, "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.infra.executor.checker.SQLExecutionChecker\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine"}, + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.mysql.command.query.text.query.MySQLComQueryPacketExecutor"}, "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.infra.executor.sql.hook.SQLExecutionHook\\E" }, { "condition":{"typeReachable":"org.apache.shardingsphere.infra.executor.sql.prepare.AbstractExecutionPrepareEngine"}, @@ -268,8 +265,11 @@ "condition":{"typeReachable":"org.apache.shardingsphere.infra.rewrite.SQLRewriteEntry"}, "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.infra.rewrite.context.SQLRewriteContextDecorator\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.infra.route.engine.impl.PartialSQLRouteExecutor"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.route.engine.type.PartialSQLRouteExecutor"}, "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.infra.route.SQLRouter\\E" + }, { + "condition":{"typeReachable":"org.apache.shardingsphere.infra.route.engine.SQLRouteEngine"}, + "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.infra.route.engine.SQLRouteExecutorDecider\\E" }, { "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.mysql.command.query.text.query.MySQLComQueryPacketExecutor"}, "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.infra.rule.builder.database.DatabaseRuleBuilder\\E" diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/reflect-config.json index f9c1d2ec03e9a..44550b54ae641 100644 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/reflect-config.json +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/reflect-config.json @@ -1,4 +1,193 @@ [ +{ + "condition":{"typeReachable":"com.oracle.svm.core.code.CodeCacheManagerMXBean"}, + "name":"com.oracle.svm.core.code.CodeCacheManagerMXBean", + "allPublicConstructors": true +}, +{ + "condition":{"typeReachable":"com.oracle.svm.core.genscavenge.HeapImplMemoryMXBean"}, + "name":"com.oracle.svm.core.genscavenge.HeapImplMemoryMXBean", + "allPublicConstructors": true +}, +{ + "condition":{"typeReachable":"com.oracle.svm.core.jdk.management.SubstrateClassLoadingMXBean"}, + "name":"com.oracle.svm.core.jdk.management.SubstrateClassLoadingMXBean", + "allPublicConstructors": true +}, +{ + "condition":{"typeReachable":"com.oracle.svm.core.jdk.management.SubstrateThreadMXBean"}, + "name":"com.oracle.svm.core.jdk.management.SubstrateThreadMXBean", + "allPublicConstructors": true +}, +{ + "condition":{"typeReachable":"com.oracle.svm.core.genscavenge.GenScavengeMemoryPoolMXBeans$SurvivorMemoryPoolMXBean"}, + "name":"com.oracle.svm.core.genscavenge.GenScavengeMemoryPoolMXBeans$SurvivorMemoryPoolMXBean", + "allPublicConstructors": true +}, +{ + "condition":{"typeReachable":"com.oracle.svm.core.genscavenge.GenScavengeMemoryPoolMXBeans$EdenMemoryPoolMXBean"}, + "name":"com.oracle.svm.core.genscavenge.GenScavengeMemoryPoolMXBeans$EdenMemoryPoolMXBean", + "allPublicConstructors": true +}, +{ + "condition":{"typeReachable":"com.oracle.svm.core.genscavenge.GenScavengeMemoryPoolMXBeans$OldGenerationMemoryPoolMXBean"}, + "name":"com.oracle.svm.core.genscavenge.GenScavengeMemoryPoolMXBeans$OldGenerationMemoryPoolMXBean", + "allPublicConstructors": true +}, +{ + "condition":{"typeReachable":"com.oracle.svm.core.genscavenge.IncrementalGarbageCollectorMXBean"}, + "name":"com.oracle.svm.core.genscavenge.IncrementalGarbageCollectorMXBean", + "allPublicConstructors": true +}, +{ + "condition":{"typeReachable":"com.oracle.svm.core.genscavenge.CompleteGarbageCollectorMXBean"}, + "name":"com.oracle.svm.core.genscavenge.CompleteGarbageCollectorMXBean", + "allPublicConstructors": true +}, +{ + "condition":{"typeReachable":"com.oracle.svm.core.code.CodeCachePoolMXBean$CodeAndDataPool"}, + "name":"com.oracle.svm.core.code.CodeCachePoolMXBean$CodeAndDataPool", + "allPublicConstructors": true +}, +{ + "condition":{"typeReachable":"com.oracle.svm.core.code.CodeCachePoolMXBean$NativeMetadataPool"}, + "name":"com.oracle.svm.core.code.CodeCachePoolMXBean$NativeMetadataPool", + "allPublicConstructors": true +}, +{ + "condition":{"typeReachable":"com.oracle.svm.core.jdk.management.SubstrateRuntimeMXBean"}, + "name":"com.oracle.svm.core.jdk.management.SubstrateRuntimeMXBean", + "allPublicConstructors": true +}, +{ + "condition":{"typeReachable":"com.oracle.svm.core.jdk.management.SubstrateCompilationMXBean"}, + "name":"com.oracle.svm.core.jdk.management.SubstrateCompilationMXBean", + "allPublicConstructors": true +}, +{ + "condition":{"typeReachable":"com.sun.management.GcInfo"}, + "name":"com.sun.management.GcInfo", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"com.sun.management.GarbageCollectorMXBean"}, + "name":"com.sun.management.GarbageCollectorMXBean", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"com.sun.management.ThreadMXBean"}, + "name":"com.sun.management.ThreadMXBean", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"com.sun.management.UnixOperatingSystemMXBean"}, + "name":"com.sun.management.UnixOperatingSystemMXBean", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"com.sun.management.internal.OperatingSystemImpl"}, + "name":"com.sun.management.internal.OperatingSystemImpl", + "allPublicMethods": true, + "allPublicConstructors": true +}, +{ + "condition":{"typeReachable":"java.lang.Boolean"}, + "name":"java.lang.Boolean", + "allDeclaredMethods": true, + "allDeclaredFields": true, + "allDeclaredConstructors": true +}, +{ + "condition":{"typeReachable":"java.lang.Deprecated"}, + "name":"java.lang.Deprecated", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"java.lang.Number"}, + "name":"java.lang.Number", + "allDeclaredFields": true, + "allDeclaredMethods": true +}, +{ + "condition":{"typeReachable":"java.lang.Integer"}, + "name":"java.lang.Integer", + "allDeclaredMethods": true, + "allDeclaredFields": true, + "allDeclaredConstructors": true +}, +{ + "condition":{"typeReachable":"java.lang.Long"}, + "name":"java.lang.Long", + "allDeclaredMethods": true, + "allDeclaredFields": true, + "allDeclaredConstructors": true +}, +{ + "condition":{"typeReachable":"java.lang.StackTraceElement"}, + "name":"java.lang.StackTraceElement", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"java.lang.constant.ConstantDesc"}, + "name":"java.lang.constant.ConstantDesc", + "allDeclaredMethods": true +}, +{ + "condition":{"typeReachable":"java.util.HashSet"}, + "name":"java.util.HashSet", + "allDeclaredMethods": true, + "allDeclaredConstructors": true +}, +{ + "condition":{"typeReachable":"java.lang.management.MemoryManagerMXBean"}, + "name":"java.lang.management.MemoryManagerMXBean", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"java.lang.management.MemoryPoolMXBean"}, + "name":"java.lang.management.MemoryPoolMXBean", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"java.lang.management.MonitorInfo"}, + "name":"java.lang.management.MonitorInfo", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"java.lang.management.LockInfo"}, + "name":"java.lang.management.LockInfo", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"java.lang.management.ClassLoadingMXBean"}, + "name":"java.lang.management.ClassLoadingMXBean", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"java.lang.management.ThreadInfo"}, + "name":"java.lang.management.ThreadInfo", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"java.lang.management.RuntimeMXBean"}, + "name":"java.lang.management.RuntimeMXBean", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"java.lang.management.CompilationMXBean"}, + "name":"java.lang.management.CompilationMXBean", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"java.lang.management.MemoryMXBean"}, + "name":"java.lang.management.MemoryMXBean", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"java.lang.management.MemoryUsage"}, + "name":"java.lang.management.MemoryUsage", + "allPublicMethods": true +}, { "condition":{"typeReachable":"org.apache.shardingsphere.infra.util.yaml.YamlEngine"}, "name":"org.apache.shardingsphere.encrypt.yaml.config.rule.YamlEncryptColumnItemRuleConfiguration", @@ -129,5 +318,38 @@ "condition":{"typeReachable":"org.apache.shardingsphere.sql.parser.clickhouse.visitor.statement.type.ClickHouseDMLStatementVisitor"}, "name":"org.apache.shardingsphere.sql.parser.clickhouse.visitor.statement.type.ClickHouseDMLStatementVisitor", "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.sharding.yaml.config.strategy.sharding.YamlBaseShardingStrategyConfiguration"}, + "name":"org.apache.shardingsphere.sharding.yaml.config.strategy.sharding.YamlBaseShardingStrategyConfiguration", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.logging.yaml.config.YamlLoggerConfiguration"}, + "name":"org.apache.shardingsphere.logging.yaml.config.YamlLoggerConfiguration", + "allDeclaredFields": true, + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.yaml.config.YamlSQLFederationExecutionPlanCacheRuleConfiguration"}, + "name":"org.apache.shardingsphere.sqlfederation.yaml.config.YamlSQLFederationExecutionPlanCacheRuleConfiguration", + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.logging.yaml.config.YamlAppenderConfiguration"}, + "name":"org.apache.shardingsphere.logging.yaml.config.YamlAppenderConfiguration", + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.yaml.data.pojo.YamlShardingSphereRowData"}, + "name":"org.apache.shardingsphere.infra.yaml.data.pojo.YamlShardingSphereRowData", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"sun.security.provider.SecureRandom"}, + "name":"sun.security.provider.SecureRandom", + "methods":[{"name":"","parameterTypes":[] }, {"name":"","parameterTypes":["java.security.SecureRandomParameters"] }] } ] diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/resource-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/resource-config.json index 0a9c856fee77e..03401528e7194 100644 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/resource-config.json +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/resource-config.json @@ -9,6 +9,9 @@ }, { "condition":{"typeReachable":"org.apache.shardingsphere.mode.repository.standalone.jdbc.sql.JDBCRepositorySQLLoader"}, "pattern":".*sql/.+\\.xml$" + }, { + "condition":{"typeReachable":"javax.xml.parsers.FactoryFinder"}, + "pattern":"\\QMETA-INF/services/javax.xml.parsers.SAXParserFactory\\E" }]}, "bundles":[] } diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apiguardian/apiguardian-api/1.1.2/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apiguardian/apiguardian-api/1.1.2/reflect-config.json new file mode 100644 index 0000000000000..98a088d829389 --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apiguardian/apiguardian-api/1.1.2/reflect-config.json @@ -0,0 +1,7 @@ +[ +{ + "condition":{"typeReachable":"org.apiguardian.api.API"}, + "name":"org.apiguardian.api.API", + "allPublicMethods": true +} +] diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.jboss.logging/jboss-logging/3.2.1.Final/resource-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.jboss.logging/jboss-logging/3.2.1.Final/resource-config.json new file mode 100644 index 0000000000000..d32bc6228a7b5 --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.jboss.logging/jboss-logging/3.2.1.Final/resource-config.json @@ -0,0 +1,8 @@ +{ + "resources":{ + "includes":[{ + "condition":{"typeReachable":"org.jboss.logging.LoggerProviders"}, + "pattern":"\\QMETA-INF/services/org.jboss.logging.LoggerProvider\\E" + }]}, + "bundles":[] +} diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.jboss.narayana.jta/jta/5.12.4.Final/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.jboss.narayana.jta/jta/5.12.7.Final/reflect-config.json similarity index 93% rename from infra/reachability-metadata/src/main/resources/META-INF/native-image/org.jboss.narayana.jta/jta/5.12.4.Final/reflect-config.json rename to infra/reachability-metadata/src/main/resources/META-INF/native-image/org.jboss.narayana.jta/jta/5.12.7.Final/reflect-config.json index 43a4d6d83786d..b374ae64797e4 100644 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.jboss.narayana.jta/jta/5.12.4.Final/reflect-config.json +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.jboss.narayana.jta/jta/5.12.7.Final/reflect-config.json @@ -60,48 +60,12 @@ "queryAllPublicConstructors":true, "methods":[{"name":"","parameterTypes":["com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean"] }] }, -{ - "condition":{"typeReachable":"com.arjuna.ats.arjuna.common.RecoveryEnvironmentBean"}, - "name":"com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule", - "queryAllPublicConstructors":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "condition":{"typeReachable":"com.arjuna.common.internal.util.ClassloadingUtility"}, - "name":"com.arjuna.ats.internal.arjuna.recovery.ExpiredTransactionStatusManagerScanner", - "queryAllPublicConstructors":true, - "methods":[{"name":"","parameterTypes":[] }] -}, { "condition":{"typeReachable":"com.arjuna.ats.arjuna.common.CoreEnvironmentBean"}, "name":"com.arjuna.ats.internal.arjuna.utils.SocketProcessId", "queryAllPublicConstructors":true, "methods":[{"name":"","parameterTypes":[] }] }, -{ - "condition":{"typeReachable":"com.arjuna.ats.jta.common.JTAEnvironmentBean"}, - "name":"com.arjuna.ats.internal.jta.recovery.arjunacore.JTAActionStatusServiceXAResourceOrphanFilter", - "queryAllPublicConstructors":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "condition":{"typeReachable":"com.arjuna.ats.jta.common.JTAEnvironmentBean"}, - "name":"com.arjuna.ats.internal.jta.recovery.arjunacore.JTANodeNameXAResourceOrphanFilter", - "queryAllPublicConstructors":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "condition":{"typeReachable":"com.arjuna.ats.jta.common.JTAEnvironmentBean"}, - "name":"com.arjuna.ats.internal.jta.recovery.arjunacore.JTATransactionLogXAResourceOrphanFilter", - "queryAllPublicConstructors":true, - "methods":[{"name":"","parameterTypes":[] }] -}, -{ - "condition":{"typeReachable":"com.arjuna.ats.arjuna.common.RecoveryEnvironmentBean"}, - "name":"com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule", - "queryAllPublicConstructors":true, - "methods":[{"name":"","parameterTypes":[] }] -}, { "condition":{"typeReachable":"com.arjuna.ats.jta.common.JTAEnvironmentBean"}, "name":"com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple", diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.jboss.narayana.jta/jta/5.12.7.Final/resource-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.jboss.narayana.jta/jta/5.12.7.Final/resource-config.json new file mode 100644 index 0000000000000..efecca767fd07 --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.jboss.narayana.jta/jta/5.12.7.Final/resource-config.json @@ -0,0 +1,14 @@ +{ + "resources":{ + "includes":[{ + "condition":{"typeReachable":"com.arjuna.common.util.ConfigurationInfo"}, + "pattern":"\\QConfigurationInfo.properties\\E" + }, { + "condition":{"typeReachable":"com.arjuna.common.util.propertyservice.AbstractPropertiesFactory"}, + "pattern":"\\Qdefault-jbossts-properties.xml\\E" + }, { + "condition":{"typeReachable":"com.arjuna.common.util.propertyservice.FileLocator"}, + "pattern":"\\Qjbossts-properties.xml\\E" + }]}, + "bundles":[] +} diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.junit.jupiter/junit-jupiter/5.11.1/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.junit.jupiter/junit-jupiter/5.11.1/reflect-config.json new file mode 100644 index 0000000000000..4acfe31d5f984 --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.junit.jupiter/junit-jupiter/5.11.1/reflect-config.json @@ -0,0 +1,37 @@ +[ +{ + "condition":{"typeReachable":"org.junit.platform.commons.util.AnnotationUtils"}, + "name":"org.junit.jupiter.api.extension.RegisterExtension", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"org.junit.platform.commons.util.AnnotationUtils"}, + "name":"org.junit.jupiter.api.condition.EnabledInNativeImage", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"org.junit.platform.commons.util.AnnotationUtils"}, + "name":"org.junit.jupiter.api.condition.EnabledIfSystemProperty", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"org.junit.platform.commons.util.AnnotationUtils"}, + "name":"org.junit.jupiter.api.extension.ExtendWith", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"org.junit.platform.commons.util.AnnotationUtils"}, + "name":"org.junit.jupiter.api.Test", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"org.junit.platform.commons.util.AnnotationUtils"}, + "name":"org.junit.platform.commons.annotation.Testable", + "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"org.junit.platform.commons.util.ReflectionUtils"}, + "name":"org.junit.internal.AssumptionViolatedException", + "allPublicMethods": true +} +] diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.junit.jupiter/junit-jupiter/5.11.1/resource-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.junit.jupiter/junit-jupiter/5.11.1/resource-config.json new file mode 100644 index 0000000000000..abf60bc88ff02 --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.junit.jupiter/junit-jupiter/5.11.1/resource-config.json @@ -0,0 +1,23 @@ +{ + "resources":{ + "includes":[{ + "condition":{"typeReachable":"org.junit.platform.launcher.core.LauncherFactory"}, + "pattern":"\\QMETA-INF/services/org.junit.platform.engine.TestEngine\\E" + }, { + "condition":{"typeReachable":"org.junit.platform.launcher.core.LauncherFactory"}, + "pattern":"\\QMETA-INF/services/org.junit.platform.launcher.LauncherDiscoveryListener\\E" + }, { + "condition":{"typeReachable":"org.junit.platform.launcher.core.LauncherFactory"}, + "pattern":"\\QMETA-INF/services/org.junit.platform.launcher.LauncherSessionListener\\E" + }, { + "condition":{"typeReachable":"org.junit.platform.launcher.core.LauncherFactory"}, + "pattern":"\\QMETA-INF/services/org.junit.platform.launcher.PostDiscoveryFilter\\E" + }, { + "condition":{"typeReachable":"org.junit.platform.launcher.core.LauncherFactory"}, + "pattern":"\\QMETA-INF/services/org.junit.platform.launcher.TestExecutionListener\\E" + }, { + "condition":{"typeReachable":"org.junit.platform.launcher.core.LauncherConfigurationParameters"}, + "pattern":"\\Qjunit-platform.properties\\E" + }]}, + "bundles":[] +} diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.springframework/spring-jcl/5.3.27/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.springframework/spring-jcl/5.3.27/reflect-config.json new file mode 100644 index 0000000000000..f3b39ca8920b3 --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.springframework/spring-jcl/5.3.27/reflect-config.json @@ -0,0 +1,6 @@ +[ +{ + "condition":{"typeReachable":"org.apache.commons.logging.LogAdapter"}, + "name":"org.apache.logging.log4j.spi.ExtendedLogger" +} +] diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.testcontainers/junit-jupiter/1.20.1/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.testcontainers/junit-jupiter/1.20.1/reflect-config.json new file mode 100644 index 0000000000000..bcaf96f54333b --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.testcontainers/junit-jupiter/1.20.1/reflect-config.json @@ -0,0 +1,168 @@ +[ +{ + "condition":{"typeReachable":"org.testcontainers.shaded.com.fasterxml.jackson.databind.util.ArrayBuilders"}, + "name":"[Lorg.testcontainers.shaded.com.fasterxml.jackson.databind.deser.BeanDeserializerModifier;" +}, +{ + "condition":{"typeReachable":"org.testcontainers.jdbc.ContainerDatabaseDriver"}, + "name":"org.testcontainers.containers.ClickHouseProvider" +}, +{ + "condition":{"typeReachable":"org.testcontainers.jdbc.ContainerDatabaseDriver"}, + "name":"org.testcontainers.containers.MSSQLServerContainerProvider" +}, +{ + "condition":{"typeReachable":"org.testcontainers.jdbc.ContainerDatabaseDriver"}, + "name":"org.testcontainers.containers.PgVectorContainerProvider" +}, +{ + "condition":{"typeReachable":"org.testcontainers.jdbc.ContainerDatabaseDriver"}, + "name":"org.testcontainers.containers.PostgisContainerProvider" +}, +{ + "condition":{"typeReachable":"org.testcontainers.jdbc.ContainerDatabaseDriver"}, + "name":"org.testcontainers.containers.PostgreSQLContainerProvider" +}, +{ + "condition":{"typeReachable":"org.testcontainers.jdbc.ContainerDatabaseDriver"}, + "name":"org.testcontainers.containers.TimescaleDBContainerProvider" +}, +{ + "condition":{"typeReachable":"org.testcontainers.DockerClientFactory"}, + "name":"org.testcontainers.dockerclient.DockerDesktopClientProviderStrategy" +}, +{ + "condition":{"typeReachable":"org.testcontainers.DockerClientFactory"}, + "name":"org.testcontainers.dockerclient.DockerMachineClientProviderStrategy" +}, +{ + "condition":{"typeReachable":"org.testcontainers.DockerClientFactory"}, + "name":"org.testcontainers.dockerclient.EnvironmentAndSystemPropertyClientProviderStrategy" +}, +{ + "condition":{"typeReachable":"org.testcontainers.DockerClientFactory"}, + "name":"org.testcontainers.dockerclient.NpipeSocketClientProviderStrategy" +}, +{ + "condition":{"typeReachable":"org.testcontainers.DockerClientFactory"}, + "name":"org.testcontainers.dockerclient.RootlessDockerClientProviderStrategy" +}, +{ + "condition":{"typeReachable":"org.testcontainers.DockerClientFactory"}, + "name":"org.testcontainers.dockerclient.TestcontainersHostPropertyClientProviderStrategy" +}, +{ + "condition":{"typeReachable":"org.testcontainers.DockerClientFactory"}, + "name":"org.testcontainers.dockerclient.UnixSocketClientProviderStrategy" +}, +{ + "condition":{"typeReachable":"org.testcontainers.dockerclient.DockerClientProviderStrategy"}, + "name":"org.testcontainers.dockerclient.UnixSocketClientProviderStrategy", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.com.fasterxml.jackson.databind.ext.Java7Support"}, + "name":"org.testcontainers.shaded.com.fasterxml.jackson.databind.ext.Java7SupportImpl", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.testcontainers.dockerclient.DockerClientProviderStrategy"}, + "name":"org.testcontainers.shaded.com.github.dockerjava.core.DockerConfigFile", + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"org.testcontainers.dockerclient.EnvironmentAndSystemPropertyClientProviderStrategy"}, + "name":"org.testcontainers.shaded.com.github.dockerjava.core.DockerConfigFile" +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.com.fasterxml.jackson.databind.ObjectMapper"}, + "name":"org.testcontainers.shaded.com.github.dockerjava.core.DockerConfigFile", + "allDeclaredFields":true, + "methods":[{"name":"","parameterTypes":[] }, {"name":"setAuths","parameterTypes":["java.util.Map"] }] +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.com.github.dockerjava.core.DefaultDockerClientConfig$Builder"}, + "name":"org.testcontainers.shaded.com.github.dockerjava.core.DockerConfigFile" +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.com.github.dockerjava.core.DockerConfigFile"}, + "name":"org.testcontainers.shaded.com.github.dockerjava.core.DockerConfigFile" +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder"}, + "name":"org.testcontainers.shaded.com.github.dockerjava.core.command.AbstrAsyncDockerCmd", + "queryAllDeclaredMethods":true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.com.github.dockerjava.core.exec.CreateNetworkCmdExec"}, + "name":"org.testcontainers.shaded.com.github.dockerjava.core.command.AbstrDockerCmd", + "queryAllDeclaredMethods":true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.com.github.dockerjava.core.exec.ExecCreateCmdExec"}, + "name":"org.testcontainers.shaded.com.github.dockerjava.core.command.AbstrDockerCmd", + "queryAllDeclaredMethods":true +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.com.github.dockerjava.core.exec.CreateNetworkCmdExec"}, + "name":"org.testcontainers.shaded.com.github.dockerjava.core.command.CreateNetworkCmdImpl", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"getAttachable","parameterTypes":[] }, {"name":"getCheckDuplicate","parameterTypes":[] }, {"name":"getDriver","parameterTypes":[] }, {"name":"getEnableIPv6","parameterTypes":[] }, {"name":"getInternal","parameterTypes":[] }, {"name":"getIpam","parameterTypes":[] }, {"name":"getLabels","parameterTypes":[] }, {"name":"getName","parameterTypes":[] }, {"name":"getOptions","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.com.github.dockerjava.core.exec.ExecCreateCmdExec"}, + "name":"org.testcontainers.shaded.com.github.dockerjava.core.command.ExecCreateCmdImpl", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true, + "methods":[{"name":"getContainerId","parameterTypes":[] }, {"name":"getEnv","parameterTypes":[] }, {"name":"getPrivileged","parameterTypes":[] }, {"name":"getUser","parameterTypes":[] }, {"name":"getWorkingDir","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder"}, + "name":"org.testcontainers.shaded.com.github.dockerjava.core.command.ExecStartCmdImpl", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, +{ + "condition":{"typeReachable":"org.testcontainers.containers.GenericContainer"}, + "name":"org.testcontainers.shaded.org.awaitility.core.ConditionFactory$1", + "allDeclaredMethods": true +}, +{ + "condition":{"typeReachable":"org.testcontainers.containers.GenericContainer$$Lambda/0x00007f841f23d008"}, + "name":"org.testcontainers.shaded.org.awaitility.core.ConditionFactory$1" +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.org.awaitility.core.ConditionFactory"}, + "name":"org.testcontainers.shaded.org.awaitility.core.ConditionFactory$1" +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.org.awaitility.core.ConditionFactory$1"}, + "name":"org.testcontainers.shaded.org.awaitility.core.ConditionFactory$1" +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.org.hamcrest.TypeSafeMatcher"}, + "name":"org.testcontainers.shaded.org.awaitility.core.ConditionFactory$1" +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.org.hamcrest.internal.ReflectiveTypeFinder"}, + "name":"org.testcontainers.shaded.org.awaitility.core.ConditionFactory$1" +}, +{ + "condition":{"typeReachable":"org.testcontainers.shaded.com.fasterxml.jackson.databind.util.ClassUtil"}, + "name":"org.testcontainers.shaded.com.github.dockerjava.core.command.CreateContainerCmdImpl", + "allDeclaredMethods": true, + "allDeclaredConstructors": true +}, +{ + "condition":{"typeReachable":"org.testcontainers.junit.jupiter.Testcontainers"}, + "name":"org.testcontainers.junit.jupiter.Testcontainers", + "allPublicMethods": true +} +] diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.testcontainers/junit-jupiter/1.20.1/resource-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.testcontainers/junit-jupiter/1.20.1/resource-config.json new file mode 100644 index 0000000000000..fb6e28ebdbc9b --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.testcontainers/junit-jupiter/1.20.1/resource-config.json @@ -0,0 +1,32 @@ +{ + "resources":{ + "includes":[{ + "condition":{"typeReachable":"org.testcontainers.jdbc.ContainerDatabaseDriver"}, + "pattern":"\\QMETA-INF/services/org.testcontainers.containers.JdbcDatabaseContainerProvider\\E" + }, { + "condition":{"typeReachable":"org.testcontainers.containers.GenericContainer"}, + "pattern":"\\QMETA-INF/services/org.testcontainers.core.CreateContainerCmdModifier\\E" + }, { + "condition":{"typeReachable":"org.testcontainers.DockerClientFactory"}, + "pattern":"\\QMETA-INF/services/org.testcontainers.dockerclient.DockerClientProviderStrategy\\E" + }, { + "condition":{"typeReachable":"org.testcontainers.shaded.com.google.common.io.Resources"}, + "pattern":"\\Qcontainer-license-acceptance.txt\\E" + }, { + "condition":{"typeReachable":"org.testcontainers.containers.wait.strategy.HostPortWaitStrategy"}, + "pattern":"\\Qlogback-test.xml\\E" + }, { + "condition":{"typeReachable":"org.testcontainers.utility.ClasspathScanner"}, + "pattern":"\\Qtestcontainers.properties\\E" + }, { + "condition":{"typeReachable":"org.testcontainers.utility.ImageNameSubstitutor"}, + "pattern":"\\QMETA-INF/services/org.testcontainers.utility.ImageNameSubstitutor\\E" + }, { + "condition":{"typeReachable":"org.testcontainers.shaded.com.github.dockerjava.core.DefaultDockerClientConfig"}, + "pattern":"\\Qdocker-java.properties\\E" + }, { + "condition":{"typeReachable":"org.testcontainers.dockerclient.DockerClientProviderStrategy"}, + "pattern":"\\QMETA-INF/services/java.net.spi.InetAddressResolverProvider\\E" + }]}, + "bundles":[] +} diff --git a/pom.xml b/pom.xml index e369ff79627e7..3ca57f1b60ed1 100644 --- a/pom.xml +++ b/pom.xml @@ -1096,6 +1096,9 @@ -H:+AddAllCharsets + -H:+UnlockExperimentalVMOptions + -H:ThrowMissingRegistrationErrors= + -H:MissingRegistrationReportingMode=Warn true diff --git a/test/native/native-image-filter/extra-filter.json b/test/native/native-image-filter/extra-filter.json index ef885c07a36aa..23de743f07c54 100644 --- a/test/native/native-image-filter/extra-filter.json +++ b/test/native/native-image-filter/extra-filter.json @@ -4,13 +4,9 @@ {"excludeClasses": "android.app.**"}, {"excludeClasses": "com.**"}, - {"excludeClasses": "ch.qos.logback.classic.**"}, + {"excludeClasses": "ch.qos.logback.**"}, {"excludeClasses": "groovy.**"}, {"excludeClasses": "io.**"}, - {"excludeClasses": "java.**"}, - {"includeClasses": "java.util.LinkedHashSet"}, - {"includeClasses": "java.util.Properties"}, - {"includeClasses": "java.util.ServiceLoader"}, {"excludeClasses": "javax.**"}, {"excludeClasses": "jdk.internal.misc.**"}, {"excludeClasses": "libcore.io.**"}, @@ -18,6 +14,7 @@ {"excludeClasses": "org.**"}, {"includeClasses": "org.apache.shardingsphere.**"}, {"excludeClasses": "sun.**"}, + {"includeClasses": "sun.security.provider.SecureRandom"}, {"excludeClasses": "org.apache.shardingsphere.test.natived.**"} ], diff --git a/test/native/src/test/java/org/apache/shardingsphere/test/natived/jdbc/transactions/base/SeataTest.java b/test/native/src/test/java/org/apache/shardingsphere/test/natived/jdbc/transactions/base/SeataTest.java index 7ac7dd61539d2..f52f45c477360 100644 --- a/test/native/src/test/java/org/apache/shardingsphere/test/natived/jdbc/transactions/base/SeataTest.java +++ b/test/native/src/test/java/org/apache/shardingsphere/test/natived/jdbc/transactions/base/SeataTest.java @@ -44,7 +44,7 @@ class SeataTest { @Container public static final GenericContainer CONTAINER = new GenericContainer<>("apache/seata-server:2.1.0") .withExposedPorts(7091, 8091) - .waitingFor(Wait.forHttp("/health").forPort(7091).forResponsePredicate(s -> s.equals("ok"))); + .waitingFor(Wait.forHttp("/health").forPort(7091).forResponsePredicate("ok"::equals)); private static final String SERVICE_DEFAULT_GROUP_LIST_KEY = "service.default.grouplist"; diff --git a/test/native/src/test/java/org/apache/shardingsphere/test/natived/proxy/databases/PostgresTest.java b/test/native/src/test/java/org/apache/shardingsphere/test/natived/proxy/databases/PostgresTest.java index bfaafd8bc5289..8d4abbeb70b0b 100644 --- a/test/native/src/test/java/org/apache/shardingsphere/test/natived/proxy/databases/PostgresTest.java +++ b/test/native/src/test/java/org/apache/shardingsphere/test/natived/proxy/databases/PostgresTest.java @@ -38,7 +38,6 @@ import java.sql.Statement; import java.time.Duration; import java.util.Properties; -import java.util.concurrent.TimeUnit; @SuppressWarnings({"SqlNoDataSourceInspection", "SameParameterValue", "resource"}) @EnabledInNativeImage @@ -56,7 +55,7 @@ class PostgresTest { @BeforeAll static void beforeAll() throws SQLException { - Awaitility.await().atMost(Duration.ofMinutes(30L)).ignoreExceptions().until(() -> { + Awaitility.await().atMost(Duration.ofSeconds(30L)).ignoreExceptions().until(() -> { openConnection("postgres", "yourStrongPassword123!", "jdbc:postgresql://127.0.0.1:" + POSTGRES_CONTAINER.getMappedPort(5432) + "/") .close(); return true; @@ -70,12 +69,7 @@ static void beforeAll() throws SQLException { } String absolutePath = Paths.get("src/test/resources/test-native/yaml/proxy/databases/postgresql").toAbsolutePath().normalize().toString(); proxyTestingServer = new ProxyTestingServer(absolutePath); - try { - TimeUnit.SECONDS.sleep(10L); - } catch (final InterruptedException ex) { - throw new RuntimeException(ex); - } - Awaitility.await().atMost(Duration.ofMinutes(30L)).until(() -> { + Awaitility.await().atMost(Duration.ofSeconds(30L)).ignoreExceptions().until(() -> { openConnection("root", "root", "jdbc:postgresql://127.0.0.1:" + proxyTestingServer.getProxyPort() + "/postgres").close(); return true; }); diff --git a/test/native/src/test/java/org/apache/shardingsphere/test/natived/proxy/features/ShardingTest.java b/test/native/src/test/java/org/apache/shardingsphere/test/natived/proxy/features/ShardingTest.java index c40ce8a9db47c..cb35804e4e726 100644 --- a/test/native/src/test/java/org/apache/shardingsphere/test/natived/proxy/features/ShardingTest.java +++ b/test/native/src/test/java/org/apache/shardingsphere/test/natived/proxy/features/ShardingTest.java @@ -56,7 +56,7 @@ class ShardingTest { @BeforeAll static void beforeAll() throws SQLException { - Awaitility.await().atMost(Duration.ofMinutes(30L)).ignoreExceptionsMatching(e -> e instanceof CommunicationsException).until(() -> { + Awaitility.await().atMost(Duration.ofSeconds(30L)).ignoreExceptionsMatching(e -> e instanceof CommunicationsException).until(() -> { openConnection("root", "yourStrongPassword123!", "jdbc:mysql://127.0.0.1:" + MYSQL_CONTAINER.getMappedPort(3306)) .close(); return true; @@ -70,7 +70,7 @@ static void beforeAll() throws SQLException { } String absolutePath = Paths.get("src/test/resources/test-native/yaml/proxy/features/sharding").toAbsolutePath().normalize().toString(); proxyTestingServer = new ProxyTestingServer(absolutePath); - Awaitility.await().atMost(Duration.ofMinutes(30L)).ignoreExceptionsMatching(e -> e instanceof CommunicationsException).until(() -> { + Awaitility.await().atMost(Duration.ofSeconds(30L)).ignoreExceptionsMatching(e -> e instanceof CommunicationsException).until(() -> { openConnection("root", "root", "jdbc:mysql://127.0.0.1:" + proxyTestingServer.getProxyPort()).close(); return true; }); diff --git a/test/native/src/test/resources/META-INF/native-image/shardingsphere-test-native-test-metadata/reflect-config.json b/test/native/src/test/resources/META-INF/native-image/shardingsphere-test-native-test-metadata/reflect-config.json index 92ed3029f2203..d1eeed2763a9b 100644 --- a/test/native/src/test/resources/META-INF/native-image/shardingsphere-test-native-test-metadata/reflect-config.json +++ b/test/native/src/test/resources/META-INF/native-image/shardingsphere-test-native-test-metadata/reflect-config.json @@ -8,5 +8,149 @@ "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.jdbc.features.EncryptTest"}, "name":"org.apache.shardingsphere.test.natived.commons.algorithm.TestQueryAssistedShardingEncryptAlgorithm", "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.proxy.features.ShardingTest"}, + "name":"org.apache.shardingsphere.test.natived.proxy.features.ShardingTest", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.jdbc.transactions.xa.NarayanaTest"}, + "name":"org.apache.shardingsphere.test.natived.jdbc.transactions.xa.NarayanaTest", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.jdbc.transactions.xa.AtomikosTest"}, + "name":"org.apache.shardingsphere.test.natived.jdbc.transactions.xa.AtomikosTest", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.proxy.databases.PostgresTest"}, + "name":"org.apache.shardingsphere.test.natived.proxy.databases.PostgresTest", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.jdbc.modes.cluster.ZookeeperTest"}, + "name":"org.apache.shardingsphere.test.natived.jdbc.modes.cluster.ZookeeperTest", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.jdbc.modes.cluster.EtcdTest"}, + "name":"org.apache.shardingsphere.test.natived.jdbc.modes.cluster.EtcdTest", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.jdbc.features.EncryptTest"}, + "name":"org.apache.shardingsphere.test.natived.jdbc.features.EncryptTest", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.jdbc.features.ReadWriteSplittingTest"}, + "name":"org.apache.shardingsphere.test.natived.jdbc.features.ReadWriteSplittingTest", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.jdbc.features.ShadowTest"}, + "name":"org.apache.shardingsphere.test.natived.jdbc.features.ShadowTest", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.jdbc.features.MaskTest"}, + "name":"org.apache.shardingsphere.test.natived.jdbc.features.MaskTest", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.jdbc.features.ShardingTest"}, + "name":"org.apache.shardingsphere.test.natived.jdbc.features.ShardingTest", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.jdbc.transactions.base.SeataTest"}, + "name":"org.apache.shardingsphere.test.natived.jdbc.transactions.base.SeataTest", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.jdbc.databases.HiveTest"}, + "name":"org.apache.shardingsphere.test.natived.jdbc.databases.HiveTest", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.jdbc.databases.PostgresTest"}, + "name":"org.apache.shardingsphere.test.natived.jdbc.databases.PostgresTest", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.jdbc.databases.ClickHouseTest"}, + "name":"org.apache.shardingsphere.test.natived.jdbc.databases.ClickHouseTest", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.jdbc.databases.SQLServerTest"}, + "name":"org.apache.shardingsphere.test.natived.jdbc.databases.SQLServerTest", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.jdbc.databases.MySQLTest"}, + "name":"org.apache.shardingsphere.test.natived.jdbc.databases.MySQLTest", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.jdbc.databases.OpenGaussTest"}, + "name":"org.apache.shardingsphere.test.natived.jdbc.databases.OpenGaussTest", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredFields": true } ]