| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <project xmlns="http://maven.apache.org/POM/4.0.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <groupId>org.apache.dubbo</groupId> |
| <artifactId>dubbo-samples-native-image</artifactId> |
| <version>1.0-SNAPSHOT</version> |
| <packaging>pom</packaging> |
| |
| <properties> |
| <maven.compiler.source>17</maven.compiler.source> |
| <maven.compiler.target>17</maven.compiler.target> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| |
| <dubbo.version>3.3.0-beta.1</dubbo.version> |
| <spring-boot.version>3.2.3</spring-boot.version> |
| <protobuf-java.version>3.19.6</protobuf-java.version> |
| |
| <maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version> |
| <native-maven-plugin.version>0.9.28</native-maven-plugin.version> |
| </properties> |
| |
| <modules> |
| <module>dubbo-samples-native-image-provider</module> |
| <module>dubbo-samples-native-image-consumer</module> |
| </modules> |
| |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-dependencies</artifactId> |
| <version>${spring-boot.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.dubbo</groupId> |
| <artifactId>dubbo-bom</artifactId> |
| <version>${dubbo.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.dubbo</groupId> |
| <artifactId>dubbo-remoting-zookeeper-curator5</artifactId> |
| <version>${dubbo.version}</version> |
| <exclusions> |
| <exclusion> |
| <artifactId>log4j</artifactId> |
| <groupId>log4j</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>slf4j-log4j12</artifactId> |
| <groupId>org.slf4j</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.dubbo</groupId> |
| <artifactId>dubbo-registry-zookeeper</artifactId> |
| <version>${dubbo.version}</version> |
| <exclusions> |
| <exclusion> |
| <artifactId>curator-x-discovery</artifactId> |
| <groupId>org.apache.curator</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>curator-recipes</artifactId> |
| <groupId>org.apache.curator</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>curator-framework</artifactId> |
| <groupId>org.apache.curator</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.dubbo</groupId> |
| <artifactId>dubbo-metadata-report-zookeeper</artifactId> |
| <version>${dubbo.version}</version> |
| <exclusions> |
| <exclusion> |
| <artifactId>dubbo-metrics-prometheus</artifactId> |
| <groupId>org.apache.dubbo</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.dubbo</groupId> |
| <artifactId>dubbo-serialization-jdk</artifactId> |
| <version>${dubbo.version}</version> |
| <exclusions> |
| <exclusion> |
| <artifactId>hessian-lite</artifactId> |
| <groupId>com.alibaba</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.dubbo</groupId> |
| <artifactId>dubbo-spring-boot-autoconfigure</artifactId> |
| <version>${dubbo.version}</version> |
| <exclusions> |
| <exclusion> |
| <artifactId>dubbo</artifactId> |
| <groupId>org.apache.dubbo</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java</artifactId> |
| <version>${protobuf-java.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java-util</artifactId> |
| <version>${protobuf-java.version}</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>${maven-compiler-plugin.version}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-maven-plugin</artifactId> |
| <version>${spring-boot.version}</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>repackage</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.dubbo</groupId> |
| <artifactId>dubbo-maven-plugin</artifactId> |
| <version>${dubbo.version}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.graalvm.buildtools</groupId> |
| <artifactId>native-maven-plugin</artifactId> |
| <version>${native-maven-plugin.version}</version> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>native</id> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <release>17</release> |
| <fork>true</fork> |
| <verbose>true</verbose> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>process-aot</id> |
| <goals> |
| <goal>process-aot</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.dubbo</groupId> |
| <artifactId>dubbo-maven-plugin</artifactId> |
| <dependencies> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-simple</artifactId> |
| <version>1.7.36</version> |
| </dependency> |
| </dependencies> |
| <executions> |
| <execution> |
| <phase>process-sources</phase> |
| <goals> |
| <goal>dubbo-process-aot</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.graalvm.buildtools</groupId> |
| <artifactId>native-maven-plugin</artifactId> |
| <configuration> |
| <classesDirectory>${project.build.outputDirectory}</classesDirectory> |
| <metadataRepository> |
| <enabled>true</enabled> |
| </metadataRepository> |
| <requiredVersion>22.3</requiredVersion> |
| </configuration> |
| <executions> |
| <execution> |
| <id>add-reachability-metadata</id> |
| <goals> |
| <goal>add-reachability-metadata</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.graalvm.buildtools</groupId> |
| <artifactId>native-maven-plugin</artifactId> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| <inherited>false</inherited> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |