• Home
  • Raw
  • Download

Lines Matching +full:alpine +full:- +full:build +full:- +full:testing

1 gRPC-Java - An RPC library and framework
11 <td><a href="https://groups.google.com/forum/#!forum/grpc-io">grpc-io@googlegroups.com</a></td>
15 …ttps://gitter.im/grpc/grpc?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=bad…
16 [![Build Status](https://travis-ci.org/grpc/grpc-java.svg?branch=master)](https://travis-ci.org/grp…
17 …tps://coveralls.io/repos/grpc/grpc-java/badge.svg?branch=master&service=github)](https://coveralls…
18 [![Branch-adjusted Line Coverage Status](https://codecov.io/gh/grpc/grpc-java/branch/master/graph/b…
21 -------------------
23 gRPC-Java supports Java 8 and later. Android minSdkVersion 19 (KitKat) and
24 later are supported with [Java 8 language desugaring][android-java-8].
31 Policy][P5-jdk-version-support].
34 ------------ | -----------
37 [android-java-8]: https://developer.android.com/studio/write/java8-support#supported_features
38 [P5-jdk-version-support]: https://github.com/grpc/proposal/blob/master/P5-jdk-version-support.md#pr…
41 ---------------
47 The [examples](https://github.com/grpc/grpc-java/tree/v1.56.0/examples) and the
48 [Android example](https://github.com/grpc/grpc-java/tree/v1.56.0/examples/android)
52 --------
54 Download [the JARs][]. Or for Maven with non-Android, add to your `pom.xml`:
58 <artifactId>grpc-netty-shaded</artifactId>
64 <artifactId>grpc-protobuf</artifactId>
69 <artifactId>grpc-stub</artifactId>
72 <dependency> <!-- necessary for Java 9+ -->
74 <artifactId>annotations-api</artifactId>
80 Or for Gradle with non-Android, add to your dependencies:
82 runtimeOnly 'io.grpc:grpc-netty-shaded:1.56.0'
83 implementation 'io.grpc:grpc-protobuf:1.56.0'
84 implementation 'io.grpc:grpc-stub:1.56.0'
85 compileOnly 'org.apache.tomcat:annotations-api:6.0.53' // necessary for Java 9+
88 For Android client, use `grpc-okhttp` instead of `grpc-netty-shaded` and
89 `grpc-protobuf-lite` instead of `grpc-protobuf`:
91 implementation 'io.grpc:grpc-okhttp:1.56.0'
92 implementation 'io.grpc:grpc-protobuf-lite:1.56.0'
93 implementation 'io.grpc:grpc-stub:1.56.0'
94 compileOnly 'org.apache.tomcat:annotations-api:6.0.53' // necessary for Java 9+
97 For [Bazel](https://bazel.build), you can either
108 --------------
110 For protobuf-based codegen, you can put your proto files in the `src/main/proto`
113 For protobuf-based codegen integrated with the Maven build system, you can use
114 [protobuf-maven-plugin][] (Eclipse and NetBeans users should also look at
115 `os-maven-plugin`'s
116 [IDE documentation](https://github.com/trustin/os-maven-plugin#issues-with-eclipse-m2e-or-other-ide…
118 <build>
122 <artifactId>os-maven-plugin</artifactId>
129 <artifactId>protobuf-maven-plugin</artifactId>
133 <pluginId>grpc-java</pluginId>
134 … <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.56.0:exe:${os.detected.classifier}</pluginArtifact>
140 <goal>compile-custom</goal>
146 </build>
149 [protobuf-maven-plugin]: https://www.xolstice.org/protobuf-maven-plugin/
151 For non-Android protobuf-based codegen integrated with the Gradle build system,
152 you can use [protobuf-gradle-plugin][]:
164 artifact = 'io.grpc:protoc-gen-grpc-java:1.56.0'
175 [protobuf-gradle-plugin]: https://github.com/google/protobuf-gradle-plugin
177 The prebuilt protoc-gen-grpc-java binary uses glibc on Linux. If you are
178 compiling on Alpine Linux, you may want to use the [Alpine grpc-java package][]
181 [Alpine grpc-java package]: https://pkgs.alpinelinux.org/package/edge/community/x86_64/grpc-java
183 For Android protobuf-based codegen integrated with the Gradle build system, also
184 use protobuf-gradle-plugin but specify the 'lite' options:
197 artifact = 'io.grpc:protoc-gen-grpc-java:1.56.0'
201 all().each { task ->
214 For [Bazel](https://bazel.build), use the [`proto_library`](https://github.com/bazelbuild/rules_pro…
215 and the [`java_proto_library`](https://bazel.build/reference/be/java#java_proto_library) (no `load(…
217 [this example `BUILD.bazel`](https://github.com/grpc/grpc-java/blob/master/examples/BUILD.bazel).
220 -------------
228 [grpc-java-api-checker](https://github.com/grpc/grpc-java-api-checker)
229 (an [Error Prone](https://github.com/google/error-prone) plugin)
232 unintended `@ExperimentalApi` consumption in non-library code.
234 How to Build
235 ------------
237 If you are making changes to gRPC-Java, see the [compiling
240 High-level Components
241 ---------------------
248 The Stub layer is what is exposed to most developers and provides type-safe
250 a [plugin](https://github.com/google/grpc-java/blob/master/compiler) to the
251 protocol-buffers compiler that generates Stub interfaces out of `.proto` files,
259 layer to address cross-cutting concerns such as logging, monitoring, auth, etc.
270 1. The Netty-based HTTP/2 transport is the main transport implementation based
272 2. The OkHttp-based HTTP/2 transport is a lightweight transport based on
273 [Okio](https://square.github.io/okio/) and forked low-level parts of
275 3. The in-process transport is for when a server is in the same process as the
276 client. It is used frequently for testing, while also being safe for
278 4. The Binder transport is for Android cross-process communication on a single