◐ Shell
clean mode source ↗

GitHub - grpc/grpc-java-api-checker

GitHub Actions Testing

An Error Prone plugin that checks for usages of grpc-java APIs that are annotated with @ExperimentalApi or @Internal.

NOTE: grpc-java-api-checker works with grpc-java version 1.10.0 or greater.

The error examples:

src/main/java/com/example/App.java:10: error: [GrpcInternal] @Internal should not be used in application code
    System.out.println(InternalStatus.MESSAGE_KEY);
                       ^
    (see https://github.com/grpc/grpc-java)

src/main/java/com/example/App.java:11: error: [GrpcExperimentalApi] @ExperimentalApi should not be used in application code
    System.out.println(Grpc.TRANSPORT_ATTR_REMOTE_ADDR);
                           ^
    (see "https://github.com/grpc/grpc-java/issues/1710")

Usage

Using the grpc-java-api-checker requires configuring your project to build with the Error Prone Java compiler. You can see the Error Prone documents here.

Examples

Maven

The example is here

Gradle

The example is here

cd examples/
./gradlew compileJava

Bazel

The example is here

cd examples/
bazel build //...

Build and Test

# Compile
mvn compile

# Test
mvn test

# Build
mvn build

# Publish to Local
mvn install