Fixes native:metadata-copy
Maven Goal not available in Spring Boot Starter (#571)
This commit is contained in:
parent
089dbc294b
commit
d9d3b58cfc
8
.github/workflows/ci.yml
vendored
8
.github/workflows/ci.yml
vendored
@ -24,7 +24,7 @@ env:
|
|||||||
MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true
|
MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
# We only execute nativeTest on `dynamic-datasource-spring-boot3-starter`, since only Spring Boot OSS 3 support provides support for GraalVM Native Image
|
# We only execute nativeTest on `dynamic-datasource-spring-boot3-starter`, since only Spring Boot OSS 3 provides support for GraalVM Native Image
|
||||||
test-graalvm-ce-ci:
|
test-graalvm-ce-ci:
|
||||||
name: NativeTest CI - GraalVM CE ${{ matrix.java-version }} on ${{ matrix.os }}
|
name: NativeTest CI - GraalVM CE ${{ matrix.java-version }} on ${{ matrix.os }}
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
@ -33,7 +33,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ ubuntu-latest ]
|
os: [ ubuntu-latest ]
|
||||||
java-version: [ '17.0.8' ]
|
java-version: [ '21' ]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: graalvm/setup-graalvm@v1
|
- uses: graalvm/setup-graalvm@v1
|
||||||
@ -44,7 +44,7 @@ jobs:
|
|||||||
cache: 'maven'
|
cache: 'maven'
|
||||||
- name: Build Spring Boot Starter 3 test with Maven
|
- name: Build Spring Boot Starter 3 test with Maven
|
||||||
run: |
|
run: |
|
||||||
./mvnw -am -pl dynamic-datasource-spring-boot3-starter -PnativeTestInSpringBoot -T1C -B -e clean test
|
./mvnw -PnativeTestInSpringBoot -T1C -B -e clean test
|
||||||
test-hotspot-jdk-ci:
|
test-hotspot-jdk-ci:
|
||||||
name: Test CI - JDK ${{ matrix.java-version }} on ${{ matrix.os }}
|
name: Test CI - JDK ${{ matrix.java-version }} on ${{ matrix.os }}
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
@ -52,7 +52,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ ubuntu-latest ]
|
os: [ ubuntu-latest ]
|
||||||
java-version: [ '17', '20' ]
|
java-version: [ '17', '21-ea' ]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Setup java
|
- name: Setup java
|
||||||
|
@ -41,13 +41,13 @@ failed to discover tests 的测试库。
|
|||||||
sudo apt install unzip zip curl sed -y
|
sudo apt install unzip zip curl sed -y
|
||||||
curl -s "https://get.sdkman.io" | bash
|
curl -s "https://get.sdkman.io" | bash
|
||||||
source "$HOME/.sdkman/bin/sdkman-init.sh"
|
source "$HOME/.sdkman/bin/sdkman-init.sh"
|
||||||
sdk install java 17.0.8-graalce
|
sdk install java 21-graalce
|
||||||
sdk use java 17.0.8-graalce
|
sdk use java 21-graalce
|
||||||
sudo apt-get install build-essential libz-dev zlib1g-dev -y
|
sudo apt-get install build-essential libz-dev zlib1g-dev -y
|
||||||
|
|
||||||
git clone git@github.com:baomidou/dynamic-datasource.git
|
git clone git@github.com:baomidou/dynamic-datasource.git
|
||||||
cd ./dynamic-datasource/
|
cd ./dynamic-datasource/
|
||||||
./mvnw -am -pl dynamic-datasource-spring-boot3-starter -PnativeTestInSpringBoot -T1C -B clean test
|
./mvnw -PnativeTestInSpringBoot -T1C -e clean test
|
||||||
```
|
```
|
||||||
|
|
||||||
贡献者在提交 PR 后,位于 Github Actions 的 CI 将进行此验证。如果 nativeTest 执行失败,请跳转到[本文的 2.2 一节](./CONTRIBUTING.md)。
|
贡献者在提交 PR 后,位于 Github Actions 的 CI 将进行此验证。如果 nativeTest 执行失败,请跳转到[本文的 2.2 一节](./CONTRIBUTING.md)。
|
||||||
@ -69,8 +69,6 @@ System Property 屏蔽部分单元测试在 GraalVM Native Image 下运行。
|
|||||||
调整 Maven Profile 和 GraalVM Tracing Agent 的 Filter 链。
|
调整 Maven Profile 和 GraalVM Tracing Agent 的 Filter 链。
|
||||||
|
|
||||||
以下命令仅为 `dynamic-datasource-spring-boot3-starter` 生成 Conditioanl 形态的 GraalVM Reachability Metadata 的一个举例。
|
以下命令仅为 `dynamic-datasource-spring-boot3-starter` 生成 Conditioanl 形态的 GraalVM Reachability Metadata 的一个举例。
|
||||||
在 https://github.com/graalvm/native-build-tools/issues/500 关闭之前,你都需要手动调整 `native-image-configure` 的 `input-dir`
|
|
||||||
为 `./mvnw -PgenerateMetadata -DskipNativeTests -e clean test` 真实的输出目录。
|
|
||||||
|
|
||||||
对于测试类和测试文件独立使用的 GraalVM Reachability Metadata,贡献者应该放置到相关子模块对应的
|
对于测试类和测试文件独立使用的 GraalVM Reachability Metadata,贡献者应该放置到相关子模块对应的
|
||||||
`${project.basedir}/src/test/resources/META-INF/native-image/${project.artifactId}-test-metadata/` 文件夹下。`${}` 内为
|
`${project.basedir}/src/test/resources/META-INF/native-image/${project.artifactId}-test-metadata/` 文件夹下。`${}` 内为
|
||||||
@ -78,20 +76,9 @@ POM 4.0 的常规系统变量,自行替换。
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone git@github.com:baomidou/dynamic-datasource.git
|
git clone git@github.com:baomidou/dynamic-datasource.git
|
||||||
|
|
||||||
cd ./dynamic-datasource/
|
cd ./dynamic-datasource/
|
||||||
|
./mvnw -PgenerateMetadata -DskipNativeTests -e -T1C clean test native:metadata-copy
|
||||||
./mvnw -PgenerateMetadata -DskipNativeTests -e clean test
|
./mvnw -PnativeTestInSpringBoot -T1C -e clean test
|
||||||
|
|
||||||
mkdir -p "./dynamic-datasource-spring-boot3-starter/src/test/resources/META-INF/native-image/com.baomidou/dynamic-datasource-spring-boot3-starter/"
|
|
||||||
|
|
||||||
native-image-configure generate-conditional\
|
|
||||||
--user-code-filter="./native-image/user-code-filter.json"\
|
|
||||||
--class-name-filter="./native-image/extra-filter.json"\
|
|
||||||
--input-dir="./dynamic-datasource-spring-boot3-starter/target/native/agent-output/test/session-45270-20230907T013541Z/"\
|
|
||||||
--output-dir="./dynamic-datasource-spring-boot3-starter/src/main/resources/META-INF/native-image/com.baomidou/dynamic-datasource-spring-boot3-starter/"
|
|
||||||
|
|
||||||
./mvnw -am -pl dynamic-datasource-spring-boot3-starter -PnativeTestInSpringBoot -T1C -B -e clean test
|
|
||||||
```
|
```
|
||||||
|
|
||||||
请手动删除无任何具体条目的 JSON 文件。
|
请手动删除无任何具体条目的 JSON 文件。
|
||||||
|
@ -60,4 +60,18 @@
|
|||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</project>
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.graalvm.buildtools</groupId>
|
||||||
|
<artifactId>native-maven-plugin</artifactId>
|
||||||
|
<version>${native-maven-plugin.version}</version>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</project>
|
||||||
|
@ -6,10 +6,5 @@
|
|||||||
{
|
{
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
||||||
"name":"[Lcom.sun.management.internal.DiagnosticCommandInfo;"
|
"name":"[Lcom.sun.management.internal.DiagnosticCommandInfo;"
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.util.Arrays",
|
|
||||||
"methods":[{"name":"asList","parameterTypes":["java.lang.Object[]"] }]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -274,175 +274,5 @@
|
|||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.DynamicRoutingDataSource"},
|
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.DynamicRoutingDataSource"},
|
||||||
"name":"com.baomidou.dynamic.datasource.strategy.LoadBalanceDynamicDataSourceStrategy",
|
"name":"com.baomidou.dynamic.datasource.strategy.LoadBalanceDynamicDataSourceStrategy",
|
||||||
"methods":[{"name":"<init>","parameterTypes":[] }]
|
"methods":[{"name":"<init>","parameterTypes":[] }]
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"com.ibm.icu.text.Collator"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.toolkit.DsConfigUtil"},
|
|
||||||
"name":"java.beans.PropertyVetoException"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.DynamicRoutingDataSource"},
|
|
||||||
"name":"java.io.Closeable",
|
|
||||||
"queryAllPublicMethods":true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.lang.Boolean",
|
|
||||||
"fields":[{"name":"TYPE"}]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.lang.Byte",
|
|
||||||
"fields":[{"name":"TYPE"}]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.lang.Character",
|
|
||||||
"fields":[{"name":"TYPE"}]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.DynamicRoutingDataSource"},
|
|
||||||
"name":"java.lang.Cloneable",
|
|
||||||
"queryAllPublicMethods":true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.lang.Deprecated",
|
|
||||||
"queryAllPublicMethods":true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.lang.Double",
|
|
||||||
"fields":[{"name":"TYPE"}]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.lang.Float",
|
|
||||||
"fields":[{"name":"TYPE"}]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.lang.Integer",
|
|
||||||
"fields":[{"name":"TYPE"}]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.aop.DynamicDataSourceAnnotationAdvisor$AnnotationMethodPoint$AnnotationMethodMatcher"},
|
|
||||||
"name":"java.lang.Iterable",
|
|
||||||
"methods":[{"name":"forEach","parameterTypes":["java.util.function.Consumer"] }, {"name":"spliterator","parameterTypes":[] }]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.lang.Long",
|
|
||||||
"fields":[{"name":"TYPE"}]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.DynamicRoutingDataSource"},
|
|
||||||
"name":"java.lang.Object",
|
|
||||||
"queryAllDeclaredMethods":true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.aop.DynamicDataSourceAnnotationAdvisor$AnnotationMethodPoint$AnnotationMethodMatcher"},
|
|
||||||
"name":"java.lang.Object",
|
|
||||||
"methods":[{"name":"equals","parameterTypes":["java.lang.Object"] }, {"name":"getClass","parameterTypes":[] }, {"name":"hashCode","parameterTypes":[] }, {"name":"notify","parameterTypes":[] }, {"name":"notifyAll","parameterTypes":[] }, {"name":"toString","parameterTypes":[] }, {"name":"wait","parameterTypes":[] }, {"name":"wait","parameterTypes":["long"] }, {"name":"wait","parameterTypes":["long","int"] }]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.toolkit.DsConfigUtil"},
|
|
||||||
"name":"java.lang.Object",
|
|
||||||
"queryAllPublicMethods":true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.toolkit.DsConfigUtil"},
|
|
||||||
"name":"java.lang.ObjectBeanInfo"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.toolkit.DsConfigUtil"},
|
|
||||||
"name":"java.lang.ObjectCustomizer"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.lang.Short",
|
|
||||||
"fields":[{"name":"TYPE"}]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.lang.StackTraceElement",
|
|
||||||
"queryAllPublicMethods":true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.lang.String",
|
|
||||||
"fields":[{"name":"TYPE"}]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.lang.Void",
|
|
||||||
"fields":[{"name":"TYPE"}]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.math.BigDecimal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.math.BigInteger"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.sql.SQLException",
|
|
||||||
"fields":[{"name":"next"}]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.util.Date"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.util.PropertyPermission",
|
|
||||||
"methods":[{"name":"<init>","parameterTypes":["java.lang.String","java.lang.String"] }]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.util.logging.LogManager",
|
|
||||||
"methods":[{"name":"getLoggingMXBean","parameterTypes":[] }]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"java.util.logging.LoggingMXBean",
|
|
||||||
"queryAllPublicMethods":true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.DynamicRoutingDataSource"},
|
|
||||||
"name":"javax.naming.Referenceable",
|
|
||||||
"queryAllPublicMethods":true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.aop.DynamicDataSourceAnnotationAdvisor$AnnotationMethodPoint$AnnotationMethodMatcher"},
|
|
||||||
"name":"javax.sql.CommonDataSource",
|
|
||||||
"queryAllPublicMethods":true,
|
|
||||||
"methods":[{"name":"createShardingKeyBuilder","parameterTypes":[] }]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.DynamicRoutingDataSource"},
|
|
||||||
"name":"javax.sql.ConnectionPoolDataSource",
|
|
||||||
"queryAllPublicMethods":true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.DynamicRoutingDataSource"},
|
|
||||||
"name":"javax.sql.DataSource",
|
|
||||||
"queryAllPublicMethods":true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.aop.DynamicDataSourceAnnotationAdvisor$AnnotationMethodPoint$AnnotationMethodMatcher"},
|
|
||||||
"name":"javax.sql.DataSource",
|
|
||||||
"queryAllPublicMethods":true,
|
|
||||||
"methods":[{"name":"createConnectionBuilder","parameterTypes":[] }]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"name":"sun.security.provider.SHA2$SHA256",
|
|
||||||
"methods":[{"name":"<init>","parameterTypes":[] }]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"resources":{
|
|
||||||
"includes":[{
|
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
|
||||||
"pattern":"\\QMETA-INF/services/java.sql.Driver\\E"
|
|
||||||
}]},
|
|
||||||
"bundles":[]
|
|
||||||
}
|
|
@ -1,17 +1,29 @@
|
|||||||
{
|
{
|
||||||
"resources":{
|
"resources":{
|
||||||
"includes":[{
|
"includes":[{
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.fixture.v3.NestDataSourceTest"},
|
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.fixture.v3.NestDataSourceTest"},
|
||||||
"pattern":"\\Qdb/add-remove-datasource.sql\\E"
|
"pattern":"\\Qdb/add-remove-datasource.sql\\E"
|
||||||
}, {
|
}, {
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.creator.druid.DruidDataSourceCreator"},
|
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.creator.druid.DruidDataSourceCreator"},
|
||||||
"pattern":"\\QMETA-INF/druid-driver.properties\\E"
|
"pattern":"\\QMETA-INF/druid-driver.properties\\E"
|
||||||
}, {
|
}, {
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.creator.druid.DruidDataSourceCreator"},
|
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.creator.druid.DruidDataSourceCreator"},
|
||||||
"pattern":"\\QMETA-INF/druid-filter.properties\\E"
|
"pattern":"\\QMETA-INF/druid-filter.properties\\E"
|
||||||
}, {
|
}, {
|
||||||
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.creator.druid.DruidDataSourceCreator"},
|
||||||
"pattern":"\\Qorg/h2/util/data.zip\\E"
|
"pattern":"\\QMETA-INF/services/com.alibaba.druid.filter.Filter\\E"
|
||||||
}]},
|
}, {
|
||||||
|
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
||||||
|
"pattern":"\\QMETA-INF/services/java.lang.System$LoggerFinder\\E"
|
||||||
|
}, {
|
||||||
|
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
||||||
|
"pattern":"\\QMETA-INF/services/java.sql.Driver\\E"
|
||||||
|
}, {
|
||||||
|
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
||||||
|
"pattern":"\\Qorg/h2/util/data.zip\\E"
|
||||||
|
}, {
|
||||||
|
"condition":{"typeReachable":"com.baomidou.dynamic.datasource.provider.AbstractJdbcDataSourceProvider"},
|
||||||
|
"pattern":"jdk.jfr:\\Qjdk/jfr/internal/query/view.ini\\E"
|
||||||
|
}]},
|
||||||
"bundles":[]
|
"bundles":[]
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,14 @@
|
|||||||
{"excludeClasses": "com.sun.management.**"},
|
{"excludeClasses": "com.sun.management.**"},
|
||||||
{"excludeClasses": "sun.management.**"},
|
{"excludeClasses": "sun.management.**"},
|
||||||
{"excludeClasses": "javax.management.**"},
|
{"excludeClasses": "javax.management.**"},
|
||||||
|
{"excludeClasses": "java.**"},
|
||||||
|
{"includeClasses": "java.util.Properties"},
|
||||||
|
{"includeClasses": "java.lang.Thread"},
|
||||||
|
{"excludeClasses": "sun.misc.**"},
|
||||||
|
{"excludeClasses": "sun.security.**"},
|
||||||
|
{"excludeClasses": "com.ibm.icu.text.**"},
|
||||||
|
{"excludeClasses": "javax.naming.**"},
|
||||||
|
{"excludeClasses": "javax.sql.**"},
|
||||||
{"excludeClasses": "org.h2.**"},
|
{"excludeClasses": "org.h2.**"},
|
||||||
{"excludeClasses": "oracle.ucp.**"},
|
{"excludeClasses": "oracle.ucp.**"},
|
||||||
{"excludeClasses": "org.apache.tomcat.jdbc.**"},
|
{"excludeClasses": "org.apache.tomcat.jdbc.**"},
|
||||||
|
192
pom.xml
192
pom.xml
@ -59,7 +59,7 @@
|
|||||||
<commons-dbcp2.version>2.9.0</commons-dbcp2.version>
|
<commons-dbcp2.version>2.9.0</commons-dbcp2.version>
|
||||||
<p6spy.version>3.9.1</p6spy.version>
|
<p6spy.version>3.9.1</p6spy.version>
|
||||||
<seata.version>1.4.2</seata.version>
|
<seata.version>1.4.2</seata.version>
|
||||||
<lombok.version>1.18.28</lombok.version>
|
<lombok.version>1.18.30</lombok.version>
|
||||||
<h2.version>2.2.222</h2.version>
|
<h2.version>2.2.222</h2.version>
|
||||||
<atomikos.version>4.0.6</atomikos.version>
|
<atomikos.version>4.0.6</atomikos.version>
|
||||||
<junit-jupiter.version>5.10.0</junit-jupiter.version>
|
<junit-jupiter.version>5.10.0</junit-jupiter.version>
|
||||||
@ -75,7 +75,7 @@
|
|||||||
<license-maven-plugin.version>4.2</license-maven-plugin.version>
|
<license-maven-plugin.version>4.2</license-maven-plugin.version>
|
||||||
<maven-gpg-plugin.version>3.1.0</maven-gpg-plugin.version>
|
<maven-gpg-plugin.version>3.1.0</maven-gpg-plugin.version>
|
||||||
<nexus-staging-maven-plugin.version>1.6.13</nexus-staging-maven-plugin.version>
|
<nexus-staging-maven-plugin.version>1.6.13</nexus-staging-maven-plugin.version>
|
||||||
<native-maven-plugin.version>0.9.26</native-maven-plugin.version>
|
<native-maven-plugin.version>0.9.27</native-maven-plugin.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencyManagement>
|
<dependencyManagement>
|
||||||
@ -345,98 +345,120 @@
|
|||||||
<profile>
|
<profile>
|
||||||
<id>generateMetadata</id>
|
<id>generateMetadata</id>
|
||||||
<properties>
|
<properties>
|
||||||
<java.version>17</java.version>
|
<java.version>21</java.version>
|
||||||
</properties>
|
</properties>
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<pluginManagement>
|
||||||
<!-- We do not collect GraalVM Reachability Metadata from `dynamic-datasource-spring-boot-starter` because only Spring Boot OSS 3 support provides support for GraalVM Native Image-->
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
<artifactId>maven-surefire-plugin</artifactId>
|
<configuration>
|
||||||
<version>${maven-surefire-plugin.version}</version>
|
<includes>
|
||||||
<configuration>
|
<include>com.baomidou.dynamic.datasource.fixture.v3.**</include>
|
||||||
<excludes>
|
</includes>
|
||||||
<exclude>com.baomidou.dynamic.datasource.fixture.v1.**</exclude>
|
</configuration>
|
||||||
</excludes>
|
</plugin>
|
||||||
</configuration>
|
<plugin>
|
||||||
</plugin>
|
<groupId>org.graalvm.buildtools</groupId>
|
||||||
<plugin>
|
<artifactId>native-maven-plugin</artifactId>
|
||||||
<groupId>org.graalvm.buildtools</groupId>
|
<version>${native-maven-plugin.version}</version>
|
||||||
<artifactId>native-maven-plugin</artifactId>
|
<extensions>true</extensions>
|
||||||
<version>${native-maven-plugin.version}</version>
|
<executions>
|
||||||
<extensions>true</extensions>
|
<execution>
|
||||||
<executions>
|
<id>build-native</id>
|
||||||
<execution>
|
<goals>
|
||||||
<id>build-native</id>
|
<goal>compile-no-fork</goal>
|
||||||
<goals>
|
</goals>
|
||||||
<goal>compile-no-fork</goal>
|
<phase>package</phase>
|
||||||
</goals>
|
</execution>
|
||||||
<phase>package</phase>
|
<execution>
|
||||||
</execution>
|
<id>test-native</id>
|
||||||
<execution>
|
<goals>
|
||||||
<id>test-native</id>
|
<goal>test</goal>
|
||||||
<goals>
|
</goals>
|
||||||
<goal>test</goal>
|
<phase>test</phase>
|
||||||
</goals>
|
</execution>
|
||||||
<phase>test</phase>
|
</executions>
|
||||||
</execution>
|
<configuration>
|
||||||
</executions>
|
<agent>
|
||||||
<configuration>
|
<enabled>true</enabled>
|
||||||
<agent>
|
<defaultMode>Conditional</defaultMode>
|
||||||
<enabled>true</enabled>
|
<modes>
|
||||||
<defaultMode>Conditional</defaultMode>
|
<conditional>
|
||||||
<modes>
|
<userCodeFilterPath>${user.dir}/native-image/user-code-filter.json
|
||||||
<conditional>
|
</userCodeFilterPath>
|
||||||
<userCodeFilterPath>${user.dir}/native-image/user-code-filter.json</userCodeFilterPath>
|
<extraFilterPath>${user.dir}/native-image/extra-filter.json
|
||||||
<extraFilterPath>${user.dir}/native-image/extra-filter.json</extraFilterPath>
|
</extraFilterPath>
|
||||||
<parallel>true</parallel>
|
<parallel>true</parallel>
|
||||||
</conditional>
|
</conditional>
|
||||||
</modes>
|
</modes>
|
||||||
</agent>
|
<metadataCopy>
|
||||||
</configuration>
|
<disabledStages>
|
||||||
</plugin>
|
<stage>main</stage>
|
||||||
</plugins>
|
</disabledStages>
|
||||||
|
<merge>false</merge>
|
||||||
|
<outputDirectory>
|
||||||
|
${project.basedir}/src/main/resources/META-INF/native-image/${project.groupId}/${project.artifactId}/
|
||||||
|
</outputDirectory>
|
||||||
|
</metadataCopy>
|
||||||
|
</agent>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</pluginManagement>
|
||||||
</build>
|
</build>
|
||||||
</profile>
|
</profile>
|
||||||
<profile>
|
<profile>
|
||||||
<id>nativeTestInSpringBoot</id>
|
<id>nativeTestInSpringBoot</id>
|
||||||
<properties>
|
<properties>
|
||||||
<java.version>17</java.version>
|
<java.version>21</java.version>
|
||||||
</properties>
|
</properties>
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<pluginManagement>
|
||||||
<plugin>
|
<plugins>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<plugin>
|
||||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
<executions>
|
<configuration>
|
||||||
<execution>
|
<includes>
|
||||||
<id>process-test-aot</id>
|
<include>com.baomidou.dynamic.datasource.fixture.v3.**</include>
|
||||||
<goals>
|
</includes>
|
||||||
<goal>process-test-aot</goal>
|
</configuration>
|
||||||
</goals>
|
</plugin>
|
||||||
</execution>
|
<plugin>
|
||||||
</executions>
|
<groupId>org.springframework.boot</groupId>
|
||||||
</plugin>
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
<plugin>
|
<executions>
|
||||||
<groupId>org.graalvm.buildtools</groupId>
|
<execution>
|
||||||
<artifactId>native-maven-plugin</artifactId>
|
<id>process-test-aot</id>
|
||||||
<extensions>true</extensions>
|
<goals>
|
||||||
<configuration>
|
<goal>process-test-aot</goal>
|
||||||
<classesDirectory>${project.build.outputDirectory}</classesDirectory>
|
</goals>
|
||||||
<metadataRepository>
|
</execution>
|
||||||
<enabled>true</enabled>
|
</executions>
|
||||||
</metadataRepository>
|
</plugin>
|
||||||
</configuration>
|
<plugin>
|
||||||
<executions>
|
<groupId>org.graalvm.buildtools</groupId>
|
||||||
<execution>
|
<artifactId>native-maven-plugin</artifactId>
|
||||||
<id>native-test</id>
|
<version>${native-maven-plugin.version}</version>
|
||||||
<goals>
|
<extensions>true</extensions>
|
||||||
<goal>test</goal>
|
<configuration>
|
||||||
</goals>
|
<classesDirectory>${project.build.outputDirectory}</classesDirectory>
|
||||||
</execution>
|
<metadataRepository>
|
||||||
</executions>
|
<enabled>true</enabled>
|
||||||
</plugin>
|
</metadataRepository>
|
||||||
</plugins>
|
</configuration>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>test-native</id>
|
||||||
|
<goals>
|
||||||
|
<goal>test</goal>
|
||||||
|
</goals>
|
||||||
|
<phase>test</phase>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</pluginManagement>
|
||||||
</build>
|
</build>
|
||||||
</profile>
|
</profile>
|
||||||
</profiles>
|
</profiles>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user