| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| |
| 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/maven-v4_0_0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <groupId>org.apache.camel.springboot.example</groupId> |
| <artifactId>camel-example-spring-boot-grpc-kubernetes</artifactId> |
| <version>3.10.0-SNAPSHOT</version> |
| </parent> |
| |
| <artifactId>camel-example-spring-boot-hello-grpc-server-kubernetes</artifactId> |
| <name>Camel SB Examples :: gRPC :: Kubernetes :: Server</name> |
| <description>An example showing a simple gRPC server running on Kubernetes</description> |
| |
| <properties> |
| <main.class>org.apache.camel.examples.grpc.HelloCamelServer</main.class> |
| <!-- gRPC requires strong own of the Google Guava version --> |
| <google-guava-version>${grpc-guava-version}</google-guava-version> |
| </properties> |
| |
| <dependencies> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-netty</artifactId> |
| <version>${grpc-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-protobuf</artifactId> |
| <version>${grpc-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-stub</artifactId> |
| <version>${grpc-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.annotation</groupId> |
| <artifactId>javax.annotation-api</artifactId> |
| <version>${javax-annotation-api-version}</version> |
| </dependency> |
| </dependencies> |
| <build> |
| <extensions> |
| <extension> |
| <groupId>kr.motd.maven</groupId> |
| <artifactId>os-maven-plugin</artifactId> |
| <version>${os-maven-plugin-version}</version> |
| </extension> |
| </extensions> |
| |
| <plugins> |
| <plugin> |
| <groupId>org.xolstice.maven.plugins</groupId> |
| <artifactId>protobuf-maven-plugin</artifactId> |
| <version>${protobuf-maven-plugin-version}</version> |
| <configuration> |
| <protocArtifact>com.google.protobuf:protoc:${protobuf-version}:exe:${os.detected.classifier} |
| </protocArtifact> |
| <pluginId>grpc-java</pluginId> |
| <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc-version}:exe:${os.detected.classifier} |
| </pluginArtifact> |
| <checkStaleness>true</checkStaleness> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>compile</goal> |
| <goal>compile-custom</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>enforce</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireUpperBoundDeps /> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <configuration> |
| <mainClass>org.apache.camel.examples.grpc.HelloCamelServer</mainClass> |
| <includePluginDependencies>false</includePluginDependencies> |
| </configuration> |
| </plugin> |
| <plugin> |
| <!-- NOTE: We don't need a groupId specification because the group |
| is org.apache.maven.plugins ...which is assumed by default. --> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <configuration> |
| <descriptorRefs> |
| <descriptorRef>jar-with-dependencies</descriptorRef> |
| </descriptorRefs> |
| <archive> |
| <manifest> |
| <mainClass>org.apache.camel.examples.grpc.HelloCamelServer</mainClass> |
| </manifest> |
| </archive> |
| </configuration> |
| <executions> |
| <execution> |
| <id>make-assembly</id> <!-- this is used for inheritance merges --> |
| <phase>package</phase> <!-- bind to the packaging phase --> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>kubernetes-install</id> |
| <build> |
| <defaultGoal>install</defaultGoal> |
| <plugins> |
| <plugin> |
| <groupId>io.fabric8</groupId> |
| <artifactId>fabric8-maven-plugin</artifactId> |
| <version>${fabric8-maven-plugin-version}</version> |
| <configuration> |
| <enricher> |
| <config> |
| <fmp-service> |
| <name>grpc-server</name> |
| </fmp-service> |
| </config> |
| </enricher> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>resource</goal> |
| <goal>build</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |