Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions compiler/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -146,9 +146,11 @@ sourceSets {
dependencies {
testImplementation project(':grpc-protobuf'),
project(':grpc-stub'),
libraries.jakarta.annotation,
libraries.javax.annotation
testLiteImplementation project(':grpc-protobuf-lite'),
project(':grpc-stub'),
libraries.jakarta.annotation,
libraries.javax.annotation
}

Expand Down
7 changes: 5 additions & 2 deletions compiler/src/java_plugin/cpp/java_generator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1217,7 +1217,8 @@ void PrintImports(Printer* p) {
void GenerateService(const ServiceDescriptor* service,
protobuf::io::ZeroCopyOutputStream* out,
ProtoFlavor flavor,
bool disable_version) {
bool disable_version,
bool jakarta_over_javax) {
// All non-generated classes must be referred by fully qualified names to
// avoid collision with generated classes.
std::map<std::string, std::string> vars;
Expand Down Expand Up @@ -1249,7 +1250,9 @@ void GenerateService(const ServiceDescriptor* service,
vars["MethodDescriptor"] = "io.grpc.MethodDescriptor";
vars["StreamObserver"] = "io.grpc.stub.StreamObserver";
vars["Iterator"] = "java.util.Iterator";
vars["Generated"] = "javax.annotation.Generated";
vars["Generated"] = jakarta_over_javax
? "jakarta.annotation.Generated"
: "javax.annotation.Generated";
vars["GrpcGenerated"] = "io.grpc.stub.annotations.GrpcGenerated";
vars["ListenableFuture"] =
"com.google.common.util.concurrent.ListenableFuture";
Expand Down
3 changes: 2 additions & 1 deletion compiler/src/java_plugin/cpp/java_generator.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,8 @@ std::string ServiceClassName(const impl::protobuf::ServiceDescriptor* service);
void GenerateService(const impl::protobuf::ServiceDescriptor* service,
impl::protobuf::io::ZeroCopyOutputStream* out,
ProtoFlavor flavor,
bool disable_version);
bool disable_version,
bool jakarta_over_javax);

} // namespace java_grpc_generator

Expand Down
5 changes: 4 additions & 1 deletion compiler/src/java_plugin/cpp/java_plugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,15 @@ class JavaGrpcGenerator : public protobuf::compiler::CodeGenerator {
java_grpc_generator::ProtoFlavor flavor =
java_grpc_generator::ProtoFlavor::NORMAL;

bool jakarta_over_javax = false;
bool disable_version = false;
for (size_t i = 0; i < options.size(); i++) {
if (options[i].first == "lite") {
flavor = java_grpc_generator::ProtoFlavor::LITE;
} else if (options[i].first == "noversion") {
disable_version = true;
} else if (options[i].first == "jakarta") {
jakarta_over_javax = true;
}
}

Expand All @@ -77,7 +80,7 @@ class JavaGrpcGenerator : public protobuf::compiler::CodeGenerator {
std::unique_ptr<protobuf::io::ZeroCopyOutputStream> output(
context->Open(filename));
java_grpc_generator::GenerateService(
service, output.get(), flavor, disable_version);
service, output.get(), flavor, disable_version, jakarta_over_javax);
}
return true;
}
Expand Down
1 change: 1 addition & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ guava-testlib = "com.google.guava:guava-testlib:32.1.3-android"
guava-jre = "com.google.guava:guava:32.1.3-jre"
hdrhistogram = "org.hdrhistogram:HdrHistogram:2.1.12"
javax-annotation = "org.apache.tomcat:annotations-api:6.0.53"
jakarta-annotation = "jakarta.annotation:jakarta.annotation-api:2.1.1"
j2objc-annotations = " com.google.j2objc:j2objc-annotations:2.8"
jetty-alpn-agent = "org.mortbay.jetty.alpn:jetty-alpn-agent:2.0.10"
jsr305 = "com.google.code.findbugs:jsr305:3.0.2"
Expand Down