| <?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</groupId> |
| <artifactId>components</artifactId> |
| <version>4.7.0</version> |
| </parent> |
| |
| <artifactId>camel-grpc</artifactId> |
| <packaging>jar</packaging> |
| <name>Camel :: gRPC</name> |
| <description>Camel component for gRPC (Remote Procedure Call) support</description> |
| |
| <dependencies> |
| |
| <!-- requires camel-core --> |
| <dependency> |
| <groupId>org.apache.camel</groupId> |
| <artifactId>camel-support</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-auth</artifactId> |
| <exclusions> |
| <exclusion> |
| <groupId>com.google.code.findbugs</groupId> |
| <artifactId>jsr305</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-netty</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-protobuf</artifactId> |
| <exclusions> |
| <exclusion> |
| <groupId>com.google.code.findbugs</groupId> |
| <artifactId>jsr305</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-stub</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.grpc</groupId> |
| <artifactId>grpc-core</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.javassist</groupId> |
| <artifactId>javassist</artifactId> |
| <version>${javassist-version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.auth</groupId> |
| <artifactId>google-auth-library-oauth2-http</artifactId> |
| <version>${grpc-google-auth-library-version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.google.code.findbugs</groupId> |
| <artifactId>jsr305</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.auth</groupId> |
| <artifactId>google-auth-library-credentials</artifactId> |
| <version>${grpc-google-auth-library-version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.auth0</groupId> |
| <artifactId>java-jwt</artifactId> |
| <version>${grpc-java-jwt-version}</version> |
| </dependency> |
| |
| <!-- for testing --> |
| <dependency> |
| <groupId>org.apache.camel</groupId> |
| <artifactId>camel-test-junit5</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <version>${mockito-version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.googlecode.junit-toolbox</groupId> |
| <artifactId>junit-toolbox</artifactId> |
| <version>${junit-toolbox-version}</version> |
| <scope>test</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <!-- GRPC does not support the jakarta annotation, see https://github.com/grpc/grpc-java/issues/9179 --> |
| <dependency> |
| <groupId>javax.annotation</groupId> |
| <artifactId>javax.annotation-api</artifactId> |
| <version>1.3.2</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <!-- needed for testing --> |
| <dependency> |
| <groupId>com.google.code.findbugs</groupId> |
| <artifactId>jsr305</artifactId> |
| <version>3.0.2</version> |
| <scope>test</scope> |
| </dependency> |
| |
| </dependencies> |
| |
| |
| <build> |
| <plugins> |
| <!-- |
| Check if the running OS platform supports the protobuf generator plugin. |
| If the platform doesn't support, the protobuf test code generation, their |
| assembly and launch will be skipped |
| Supported platforms are: |
| - Linux: x86_32, x86_64, aarch_64, ppcle_64 & s390_64 |
| - Windows: x86_32 & x86_64 |
| - OSX: x86_64 & aarch_64 |
| --> |
| <plugin> |
| <groupId>org.codehaus.gmavenplus</groupId> |
| <artifactId>gmavenplus-plugin</artifactId> |
| <version>${gmavenplus-plugin-version}</version> |
| <executions> |
| <execution> |
| <phase>validate</phase> |
| <goals> |
| <goal>execute</goal> |
| </goals> |
| <configuration> |
| <scripts> |
| <script><![CDATA[ |
| project.properties['skipTests']=project.properties['os.detected.classifier'].matches('^(linux-(x86_(32|64)|aarch_64|ppcle_64|s390_64)|windows-x86_(32|64)|osx-(x86_64|aarch_64))$') ? 'false' : 'true'; |
| ]]></script> |
| </scripts> |
| </configuration> |
| </execution> |
| </executions> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.groovy</groupId> |
| <artifactId>groovy</artifactId> |
| <version>${groovy-version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.groovy</groupId> |
| <artifactId>groovy-ant</artifactId> |
| <version>${groovy-version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| </dependencies> |
| </plugin> |
| |
| <!-- gRPC and protobuf Java code generator plugin --> |
| <plugin> |
| <groupId>io.github.ascopes</groupId> |
| <artifactId>protobuf-maven-plugin</artifactId> |
| <version>${protobuf-maven-plugin-version}</version> |
| <configuration> |
| <protocVersion>${protobuf-version}</protocVersion> |
| <sourceDirectories> |
| <sourceDirectory>src/test/proto</sourceDirectory> |
| </sourceDirectories> |
| <binaryMavenPlugins> |
| <binaryMavenPlugin> |
| <groupId>io.grpc</groupId> |
| <artifactId>protoc-gen-grpc-java</artifactId> |
| <version>${grpc-version}</version> |
| </binaryMavenPlugin> |
| </binaryMavenPlugins> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>generate-test</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>add-test-source</id> |
| <phase>generate-test-sources</phase> |
| <goals> |
| <goal>add-test-source</goal> |
| </goals> |
| <configuration> |
| <sources> |
| <source>target/generated-test-sources/protobuf</source> |
| </sources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>default-testCompile</id> |
| <phase>test-compile</phase> |
| <goals> |
| <goal>testCompile</goal> |
| </goals> |
| <configuration> |
| <skip>${skipTests}</skip> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- Force the version of guava to camel-package-maven-plugin to prevent build failure due to the |
| usage of an old/incompatible version of guava --> |
| <plugin> |
| <groupId>org.apache.camel</groupId> |
| <artifactId>camel-package-maven-plugin</artifactId> |
| <dependencies> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>${guava-version}</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| </plugins> |
| </build> |
| </project> |