Add module-info.java files to gRPC modules (issue #759) (#789)

* Add module-info.java files to gRPC modules (issue #759)

* Copyright fixes (issue #759)

* Fixing merge conflicts

* Fix missing modules in module-info files

* Fix incorrect indentation in pom.xml

* Fix incorrect indentation in pom file
This commit is contained in:
Jonathan Knight
2019-08-10 02:41:53 +03:00
committed by Romain Grecourt
parent e97a9b1ae3
commit c8ddc94812
33 changed files with 844 additions and 84 deletions

View File

@@ -55,8 +55,9 @@
</dependency>
<!-- etcd v3 -->
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-core</artifactId>
<groupId>io.helidon.grpc</groupId>
<artifactId>io.grpc</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
@@ -67,10 +68,6 @@
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>

View File

@@ -52,10 +52,6 @@
<groupId>io.grpc</groupId>
<artifactId>grpc-netty</artifactId>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-services</artifactId>

View File

@@ -87,10 +87,6 @@
<groupId>io.grpc</groupId>
<artifactId>grpc-netty</artifactId>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-services</artifactId>

View File

@@ -78,10 +78,6 @@
<groupId>io.grpc</groupId>
<artifactId>grpc-netty</artifactId>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-services</artifactId>

View File

@@ -26,8 +26,6 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
import javax.annotation.concurrent.ThreadSafe;
import io.helidon.grpc.core.InterceptorPriorities;
import io.helidon.grpc.core.PriorityBag;
@@ -42,7 +40,6 @@ import io.grpc.stub.StreamObserver;
/**
* A gRPC Client for a specific gRPC service.
*/
@ThreadSafe
public class GrpcServiceClient {
private final HashMap<String, GrpcMethodStub> methodStubs;

View File

@@ -0,0 +1,27 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
/**
* gRPC Client Module.
*/
module io.helidon.grpc.client {
exports io.helidon.grpc.client;
requires transitive io.helidon.grpc.core;
requires opentracing.api;
requires opentracing.grpc;
}

View File

@@ -31,68 +31,89 @@
<artifactId>helidon-grpc-core</artifactId>
<name>Helidon gRPC Core</name>
<dependencies>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty</artifactId>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-services</artifactId>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
</dependency>
<dependency>
<groupId>io.helidon.config</groupId>
<artifactId>helidon-config-object-mapping</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.helidon.config</groupId>
<artifactId>helidon-config-yaml</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.helidon.common</groupId>
<artifactId>helidon-common-http</artifactId>
<version>${project.version}</version>
</dependency>
<dependencies>
<dependency>
<groupId>io.helidon.grpc</groupId>
<artifactId>io.grpc</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty</artifactId>
<exclusions>
<exclusion>
<groupId>io.grpc</groupId>
<artifactId>grpc-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-services</artifactId>
<exclusions>
<exclusion>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
<exclusions>
<exclusion>
<groupId>io.grpc</groupId>
<artifactId>grpc-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.json</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependency>
<groupId>io.helidon.config</groupId>
<artifactId>helidon-config-object-mapping</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.helidon.config</groupId>
<artifactId>helidon-config-yaml</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.helidon.common</groupId>
<artifactId>helidon-common-http</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.json</groupId>
<artifactId>javax.json-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,41 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
/**
* gRPC Core Module.
*/
module io.helidon.grpc.core {
exports io.helidon.grpc.core;
requires transitive io.helidon.config;
requires transitive io.helidon.config.objectmapping;
requires transitive io.helidon.common;
requires io.helidon.common.context;
requires io.helidon.common.http;
requires grpc.netty;
requires grpc.protobuf.lite;
requires transitive io.grpc;
requires io.netty.handler;
requires io.netty.transport;
requires protobuf.java;
requires java.annotation;
requires java.logging;
requires java.naming;
requires javax.inject;
}

111
grpc/io.grpc/pom.xml Normal file
View File

@@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2019 Oracle and/or its affiliates. All rights reserved.
Licensed 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>
<parent>
<groupId>io.helidon.grpc</groupId>
<artifactId>helidon-grpc-project</artifactId>
<version>1.1.3-SNAPSHOT</version>
</parent>
<artifactId>io.grpc</artifactId>
<name>Helidon grpc-java Repackaged</name>
<description>A Java modules compatible re-packaging of grpc-java</description>
<dependencies>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-core</artifactId>
<exclusions>
<exclusion>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-context</artifactId>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<!-- create the base JAR removing all of the dummy classes -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<excludes>
<exclude>io/grpc/**/*.class</exclude>
</excludes>
</configuration>
</plugin>
<!-- create the shaded JAR -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>${version.lib.asm}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-commons</artifactId>
<version>${version.lib.asm}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>shade</id>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedArtifactAttached>false</shadedArtifactAttached>
<createDependencyReducedPom>true</createDependencyReducedPom>
<createSourcesJar>true</createSourcesJar>
<promoteTransitiveDependencies>true</promoteTransitiveDependencies>
<artifactSet>
<includes>
<include>io.grpc:*</include>
<include>com.google.instrumentation:instrumentation-api</include>
<include>io.opencensus:opencensus-api</include>
<include>io.opencensus:opencensus-contrib-grpc-metrics</include>
</includes>
</artifactSet>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,27 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
package io.grpc;
/**
* A dummy class to allow the re-packaging of grpc-java
* with a module-info.java file to work.
* <p>
* This file will be replaced by the real implementation from grpc-java
* as part of the re-packaging process.
*/
public class LoadBalancerProvider {
}

View File

@@ -0,0 +1,27 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
package io.grpc;
/**
* A dummy class to allow the re-packaging of grpc-java
* with a module-info.java file to work.
* <p>
* This file will be replaced by the real implementation from grpc-java
* as part of the re-packaging process.
*/
public class ManagedChannelProvider {
}

View File

@@ -0,0 +1,27 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
package io.grpc;
/**
* A dummy class to allow the re-packaging of grpc-java
* with a module-info.java file to work.
* <p>
* This file will be replaced by the real implementation from grpc-java
* as part of the re-packaging process.
*/
public interface NameResolverProvider {
}

View File

@@ -0,0 +1,27 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
package io.grpc;
/**
* A dummy class to allow the re-packaging of grpc-java
* with a module-info.java file to work.
* <p>
* This file will be replaced by the real implementation from grpc-java
* as part of the re-packaging process.
*/
public class ServerProvider {
}

View File

@@ -0,0 +1,26 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
package io.grpc.inprocess;
/**
* A dummy class to allow the re-packaging of grpc-java
* with a module-info.java file to work.
* <p>
* This file will be replaced by the real implementation from grpc-java
* as part of the re-packaging process.
*/
public class DummyClass {
}

View File

@@ -0,0 +1,20 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
/**
* A dummy package to allow re-packaging of grpc-java to work.
*/
package io.grpc.inprocess;

View File

@@ -0,0 +1,34 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
package io.grpc.internal;
import java.io.Closeable;
import java.io.IOException;
/**
* A dummy class to allow the re-packaging of grpc-java
* with a module-info.java file to work.
* <p>
* This file will be replaced by the real implementation from grpc-java
* as part of the re-packaging process.
*/
public class BinaryLogProvider
implements Closeable {
@Override
public void close() throws IOException {
}
}

View File

@@ -0,0 +1,30 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
package io.grpc.internal;
import io.grpc.NameResolverProvider;
/**
* A dummy class to allow the re-packaging of grpc-java
* with a module-info.java file to work.
* <p>
* This file will be replaced by the real implementation from grpc-java
* as part of the re-packaging process.
*/
public class DnsNameResolverProvider
implements NameResolverProvider {
}

View File

@@ -0,0 +1,28 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
package io.grpc.internal;
/**
* A dummy class to allow the re-packaging of grpc-java
* with a module-info.java file to work.
* <p>
* This file will be replaced by the real implementation from grpc-java
* as part of the re-packaging process.
*/
public class PickFirstLoadBalancerProvider
extends io.grpc.LoadBalancerProvider {
}

View File

@@ -0,0 +1,20 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
/**
* A dummy package to allow re-packaging of grpc-java to work.
*/
package io.grpc.internal;

View File

@@ -0,0 +1,20 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
/**
* A dummy package to allow re-packaging of grpc-java to work.
*/
package io.grpc;

View File

@@ -0,0 +1,26 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
package io.grpc.stub;
/**
* A dummy class to allow the re-packaging of grpc-java
* with a module-info.java file to work.
* <p>
* This file will be replaced by the real implementation from grpc-java
* as part of the re-packaging process.
*/
public class DummyClass {
}

View File

@@ -0,0 +1,22 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
package io.grpc.stub.annotations;
/**
* A dummy class to allow repackaging of grpc-java to work.
*/
public class DummyClass {
}

View File

@@ -0,0 +1,20 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
/**
* A dummy package to allow re-packaging of grpc-java to work.
*/
package io.grpc.stub.annotations;

View File

@@ -0,0 +1,20 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
/**
* A dummy package to allow re-packaging of grpc-java to work.
*/
package io.grpc.stub;

View File

@@ -0,0 +1,26 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
package io.grpc.util;
/**
* A dummy class to allow the re-packaging of grpc-java
* with a module-info.java file to work.
* <p>
* This file will be replaced by the real implementation from grpc-java
* as part of the re-packaging process.
*/
public class DummyClass {
}

View File

@@ -0,0 +1,20 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
/**
* A dummy package to allow re-packaging of grpc-java to work.
*/
package io.grpc.util;

View File

@@ -0,0 +1,45 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
/**
* Module info for re-packaged gRPC Java module.
*/
module io.grpc {
exports io.grpc;
exports io.grpc.inprocess;
exports io.grpc.internal;
exports io.grpc.stub;
exports io.grpc.stub.annotations;
exports io.grpc.util;
requires java.logging;
requires java.naming;
requires com.google.common;
requires error.prone.annotations;
uses io.grpc.ManagedChannelProvider;
uses io.grpc.NameResolverProvider;
uses io.grpc.ServerProvider;
uses io.grpc.internal.BinaryLogProvider;
uses io.grpc.LoadBalancerProvider;
provides io.grpc.NameResolverProvider
with io.grpc.internal.DnsNameResolverProvider;
provides io.grpc.LoadBalancerProvider
with io.grpc.internal.PickFirstLoadBalancerProvider;
}

View File

@@ -0,0 +1,29 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
/**
* gRPC Metrics Module.
*/
module io.helidon.grpc.metrics {
exports io.helidon.grpc.metrics;
requires transitive io.helidon.grpc.core;
requires static io.helidon.grpc.client;
requires static io.helidon.grpc.server;
requires transitive io.helidon.metrics;
requires microprofile.metrics.api;
}

View File

@@ -35,6 +35,7 @@
<packaging>pom</packaging>
<modules>
<module>io.grpc</module>
<module>core</module>
<module>server</module>
<module>client</module>

View File

@@ -0,0 +1,40 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
/**
* gRPC Server Module.
*/
module io.helidon.grpc.server {
exports io.helidon.grpc.server;
requires io.helidon.common;
requires io.helidon.common.context;
requires io.helidon.common.pki;
requires io.helidon.config;
requires transitive io.helidon.grpc.core;
requires transitive io.helidon.health;
requires io.helidon.tracing;
requires transitive grpc.services;
requires transitive microprofile.health.api;
requires transitive opentracing.api;
requires transitive opentracing.grpc;
requires java.annotation;
requires java.logging;
requires javax.inject;
}

12
pom.xml
View File

@@ -109,6 +109,7 @@
<version.lib.arquillian>1.4.0.Final</version.lib.arquillian>
<version.lib.arquillian-weld-embedded>2.0.0.Final</version.lib.arquillian-weld-embedded>
<version.lib.asciidoctor.diagram>1.5.4.1</version.lib.asciidoctor.diagram>
<version.lib.asm>6.0</version.lib.asm>
<version.lib.brave-opentracing>0.31.0</version.lib.brave-opentracing>
<version.lib.cdi-api>2.0</version.lib.cdi-api>
<version.lib.checkstyle>8.18</version.lib.checkstyle>
@@ -217,6 +218,7 @@
<version.plugin.protobuf>0.5.1</version.plugin.protobuf>
<version.plugin.resources>2.7</version.plugin.resources>
<version.plugin.scm-publish-plugin>3.0.0</version.plugin.scm-publish-plugin>
<version.plugin.shade>3.0.0</version.plugin.shade>
<version.plugin.site>3.7.1</version.plugin.site>
<version.plugin.source>3.0.1</version.plugin.source>
<version.plugin.spotbugs>3.1.12</version.plugin.spotbugs>
@@ -583,6 +585,11 @@
<getRevisionOnlyOnce>true</getRevisionOnlyOnce>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>${version.plugin.shade}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
@@ -850,6 +857,11 @@
<artifactId>grpc-core</artifactId>
<version>${version.lib.grpc}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-context</artifactId>
<version>${version.lib.grpc}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>

View File

@@ -0,0 +1,31 @@
/*
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
*
* Licensed 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.
*/
/**
* Security integration with Helidon gRPC.
*/
module io.helidon.security.integration.grpc {
exports io.helidon.security.integration.grpc;
requires io.helidon.common;
requires io.helidon.common.context;
requires transitive io.helidon.grpc.core;
requires static io.helidon.grpc.server;
requires transitive io.helidon.security;
requires transitive io.helidon.security.integration.common;
requires java.logging;
requires io.helidon.webserver;
}

View File

@@ -39,7 +39,7 @@ module io.helidon.security {
exports io.helidon.security;
exports io.helidon.security.spi;
exports io.helidon.security.internal to io.helidon.security.integration.jersey, io.helidon.security.integration.webserver;
exports io.helidon.security.internal to io.helidon.security.integration.jersey, io.helidon.security.integration.webserver, io.helidon.security.integration.grpc;
uses io.helidon.security.spi.SecurityProviderService;
}