Skip to content
This repository has been archived by the owner on May 18, 2023. It is now read-only.

Improve generated Java code #95

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

larsgrefer
Copy link
Contributor

@larsgrefer larsgrefer commented Jun 24, 2022

These options should improve the java code generated by protoc.

The package name follows this convention: https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html

From a java point-of-view, this would technically be a breaking change which therefore might require a new major version (2.0.0). For all other languages, this change should be transparent.

@nex3
Copy link
Contributor

nex3 commented Jun 24, 2022

It's not feasible to release 2.0.0 right now, and I'm concerned about releasing a breaking change outside of a major version release. How bad is the current state of the Java generated code? What's the default namespace it uses?

@nex3 nex3 self-requested a review June 24, 2022 21:27
@larsgrefer
Copy link
Contributor Author

I'm totally fine if this PR stays open for a while until more important changes justify a new major version.
This is more of a cosmetic change.

Currently sass.embedded_protocol is used as java package, and one big java class EmbeddedSass.java with ~49200 lines of code is generated, which then contains all message types as inner classes with multiple levels of nesting.

So we get Java class names like EmbeddedSass.OutboundMessage.CompileResponse.CompileSuccess or EmbeddedSass.InboundMessage.ImportResponse.ImportSuccess

The status quo totally works, its just not that elegant and does not follow the java conventions for package names.

Generated `.java` files
.
└── sass
    └── embedded_protocol
        └── EmbeddedSass.java

2 directories, 1 file
Compiled `.class` files
.
└── sass
    └── embedded_protocol
        ├── EmbeddedSass$1.class
        ├── EmbeddedSass$CalculationOperator$1.class
        ├── EmbeddedSass$CalculationOperator.class
        ├── EmbeddedSass$InboundMessage$1.class
        ├── EmbeddedSass$InboundMessage$Builder.class
        ├── EmbeddedSass$InboundMessage$CanonicalizeResponse$1.class
        ├── EmbeddedSass$InboundMessage$CanonicalizeResponse$Builder.class
        ├── EmbeddedSass$InboundMessage$CanonicalizeResponse$ResultCase.class
        ├── EmbeddedSass$InboundMessage$CanonicalizeResponse.class
        ├── EmbeddedSass$InboundMessage$CanonicalizeResponseOrBuilder.class
        ├── EmbeddedSass$InboundMessage$CompileRequest$1.class
        ├── EmbeddedSass$InboundMessage$CompileRequest$Builder.class
        ├── EmbeddedSass$InboundMessage$CompileRequest$Importer$1.class
        ├── EmbeddedSass$InboundMessage$CompileRequest$Importer$Builder.class
        ├── EmbeddedSass$InboundMessage$CompileRequest$Importer$ImporterCase.class
        ├── EmbeddedSass$InboundMessage$CompileRequest$Importer.class
        ├── EmbeddedSass$InboundMessage$CompileRequest$ImporterOrBuilder.class
        ├── EmbeddedSass$InboundMessage$CompileRequest$InputCase.class
        ├── EmbeddedSass$InboundMessage$CompileRequest$StringInput$1.class
        ├── EmbeddedSass$InboundMessage$CompileRequest$StringInput$Builder.class
        ├── EmbeddedSass$InboundMessage$CompileRequest$StringInput.class
        ├── EmbeddedSass$InboundMessage$CompileRequest$StringInputOrBuilder.class
        ├── EmbeddedSass$InboundMessage$CompileRequest.class
        ├── EmbeddedSass$InboundMessage$CompileRequestOrBuilder.class
        ├── EmbeddedSass$InboundMessage$FileImportResponse$1.class
        ├── EmbeddedSass$InboundMessage$FileImportResponse$Builder.class
        ├── EmbeddedSass$InboundMessage$FileImportResponse$ResultCase.class
        ├── EmbeddedSass$InboundMessage$FileImportResponse.class
        ├── EmbeddedSass$InboundMessage$FileImportResponseOrBuilder.class
        ├── EmbeddedSass$InboundMessage$FunctionCallResponse$1.class
        ├── EmbeddedSass$InboundMessage$FunctionCallResponse$Builder.class
        ├── EmbeddedSass$InboundMessage$FunctionCallResponse$ResultCase.class
        ├── EmbeddedSass$InboundMessage$FunctionCallResponse.class
        ├── EmbeddedSass$InboundMessage$FunctionCallResponseOrBuilder.class
        ├── EmbeddedSass$InboundMessage$ImportResponse$1.class
        ├── EmbeddedSass$InboundMessage$ImportResponse$Builder.class
        ├── EmbeddedSass$InboundMessage$ImportResponse$ImportSuccess$1.class
        ├── EmbeddedSass$InboundMessage$ImportResponse$ImportSuccess$Builder.class
        ├── EmbeddedSass$InboundMessage$ImportResponse$ImportSuccess.class
        ├── EmbeddedSass$InboundMessage$ImportResponse$ImportSuccessOrBuilder.class
        ├── EmbeddedSass$InboundMessage$ImportResponse$ResultCase.class
        ├── EmbeddedSass$InboundMessage$ImportResponse.class
        ├── EmbeddedSass$InboundMessage$ImportResponseOrBuilder.class
        ├── EmbeddedSass$InboundMessage$MessageCase.class
        ├── EmbeddedSass$InboundMessage$VersionRequest$1.class
        ├── EmbeddedSass$InboundMessage$VersionRequest$Builder.class
        ├── EmbeddedSass$InboundMessage$VersionRequest.class
        ├── EmbeddedSass$InboundMessage$VersionRequestOrBuilder.class
        ├── EmbeddedSass$InboundMessage.class
        ├── EmbeddedSass$InboundMessageOrBuilder.class
        ├── EmbeddedSass$ListSeparator$1.class
        ├── EmbeddedSass$ListSeparator.class
        ├── EmbeddedSass$LogEventType$1.class
        ├── EmbeddedSass$LogEventType.class
        ├── EmbeddedSass$OutboundMessage$1.class
        ├── EmbeddedSass$OutboundMessage$Builder.class
        ├── EmbeddedSass$OutboundMessage$CanonicalizeRequest$1.class
        ├── EmbeddedSass$OutboundMessage$CanonicalizeRequest$Builder.class
        ├── EmbeddedSass$OutboundMessage$CanonicalizeRequest.class
        ├── EmbeddedSass$OutboundMessage$CanonicalizeRequestOrBuilder.class
        ├── EmbeddedSass$OutboundMessage$CompileResponse$1.class
        ├── EmbeddedSass$OutboundMessage$CompileResponse$Builder.class
        ├── EmbeddedSass$OutboundMessage$CompileResponse$CompileFailure$1.class
        ├── EmbeddedSass$OutboundMessage$CompileResponse$CompileFailure$Builder.class
        ├── EmbeddedSass$OutboundMessage$CompileResponse$CompileFailure.class
        ├── EmbeddedSass$OutboundMessage$CompileResponse$CompileFailureOrBuilder.class
        ├── EmbeddedSass$OutboundMessage$CompileResponse$CompileSuccess$1.class
        ├── EmbeddedSass$OutboundMessage$CompileResponse$CompileSuccess$Builder.class
        ├── EmbeddedSass$OutboundMessage$CompileResponse$CompileSuccess.class
        ├── EmbeddedSass$OutboundMessage$CompileResponse$CompileSuccessOrBuilder.class
        ├── EmbeddedSass$OutboundMessage$CompileResponse$ResultCase.class
        ├── EmbeddedSass$OutboundMessage$CompileResponse.class
        ├── EmbeddedSass$OutboundMessage$CompileResponseOrBuilder.class
        ├── EmbeddedSass$OutboundMessage$FileImportRequest$1.class
        ├── EmbeddedSass$OutboundMessage$FileImportRequest$Builder.class
        ├── EmbeddedSass$OutboundMessage$FileImportRequest.class
        ├── EmbeddedSass$OutboundMessage$FileImportRequestOrBuilder.class
        ├── EmbeddedSass$OutboundMessage$FunctionCallRequest$1.class
        ├── EmbeddedSass$OutboundMessage$FunctionCallRequest$Builder.class
        ├── EmbeddedSass$OutboundMessage$FunctionCallRequest$IdentifierCase.class
        ├── EmbeddedSass$OutboundMessage$FunctionCallRequest.class
        ├── EmbeddedSass$OutboundMessage$FunctionCallRequestOrBuilder.class
        ├── EmbeddedSass$OutboundMessage$ImportRequest$1.class
        ├── EmbeddedSass$OutboundMessage$ImportRequest$Builder.class
        ├── EmbeddedSass$OutboundMessage$ImportRequest.class
        ├── EmbeddedSass$OutboundMessage$ImportRequestOrBuilder.class
        ├── EmbeddedSass$OutboundMessage$LogEvent$1.class
        ├── EmbeddedSass$OutboundMessage$LogEvent$Builder.class
        ├── EmbeddedSass$OutboundMessage$LogEvent.class
        ├── EmbeddedSass$OutboundMessage$LogEventOrBuilder.class
        ├── EmbeddedSass$OutboundMessage$MessageCase.class
        ├── EmbeddedSass$OutboundMessage$VersionResponse$1.class
        ├── EmbeddedSass$OutboundMessage$VersionResponse$Builder.class
        ├── EmbeddedSass$OutboundMessage$VersionResponse.class
        ├── EmbeddedSass$OutboundMessage$VersionResponseOrBuilder.class
        ├── EmbeddedSass$OutboundMessage.class
        ├── EmbeddedSass$OutboundMessageOrBuilder.class
        ├── EmbeddedSass$OutputStyle$1.class
        ├── EmbeddedSass$OutputStyle.class
        ├── EmbeddedSass$ProtocolError$1.class
        ├── EmbeddedSass$ProtocolError$Builder.class
        ├── EmbeddedSass$ProtocolError.class
        ├── EmbeddedSass$ProtocolErrorOrBuilder.class
        ├── EmbeddedSass$ProtocolErrorType$1.class
        ├── EmbeddedSass$ProtocolErrorType.class
        ├── EmbeddedSass$SingletonValue$1.class
        ├── EmbeddedSass$SingletonValue.class
        ├── EmbeddedSass$SourceSpan$1.class
        ├── EmbeddedSass$SourceSpan$Builder.class
        ├── EmbeddedSass$SourceSpan$SourceLocation$1.class
        ├── EmbeddedSass$SourceSpan$SourceLocation$Builder.class
        ├── EmbeddedSass$SourceSpan$SourceLocation.class
        ├── EmbeddedSass$SourceSpan$SourceLocationOrBuilder.class
        ├── EmbeddedSass$SourceSpan.class
        ├── EmbeddedSass$SourceSpanOrBuilder.class
        ├── EmbeddedSass$Syntax$1.class
        ├── EmbeddedSass$Syntax.class
        ├── EmbeddedSass$Value$1.class
        ├── EmbeddedSass$Value$ArgumentList$1.class
        ├── EmbeddedSass$Value$ArgumentList$Builder.class
        ├── EmbeddedSass$Value$ArgumentList$KeywordsDefaultEntryHolder.class
        ├── EmbeddedSass$Value$ArgumentList.class
        ├── EmbeddedSass$Value$ArgumentListOrBuilder.class
        ├── EmbeddedSass$Value$Builder.class
        ├── EmbeddedSass$Value$Calculation$1.class
        ├── EmbeddedSass$Value$Calculation$Builder.class
        ├── EmbeddedSass$Value$Calculation$CalculationOperation$1.class
        ├── EmbeddedSass$Value$Calculation$CalculationOperation$Builder.class
        ├── EmbeddedSass$Value$Calculation$CalculationOperation.class
        ├── EmbeddedSass$Value$Calculation$CalculationOperationOrBuilder.class
        ├── EmbeddedSass$Value$Calculation$CalculationValue$1.class
        ├── EmbeddedSass$Value$Calculation$CalculationValue$Builder.class
        ├── EmbeddedSass$Value$Calculation$CalculationValue$ValueCase.class
        ├── EmbeddedSass$Value$Calculation$CalculationValue.class
        ├── EmbeddedSass$Value$Calculation$CalculationValueOrBuilder.class
        ├── EmbeddedSass$Value$Calculation.class
        ├── EmbeddedSass$Value$CalculationOrBuilder.class
        ├── EmbeddedSass$Value$CompilerFunction$1.class
        ├── EmbeddedSass$Value$CompilerFunction$Builder.class
        ├── EmbeddedSass$Value$CompilerFunction.class
        ├── EmbeddedSass$Value$CompilerFunctionOrBuilder.class
        ├── EmbeddedSass$Value$HostFunction$1.class
        ├── EmbeddedSass$Value$HostFunction$Builder.class
        ├── EmbeddedSass$Value$HostFunction.class
        ├── EmbeddedSass$Value$HostFunctionOrBuilder.class
        ├── EmbeddedSass$Value$HslColor$1.class
        ├── EmbeddedSass$Value$HslColor$Builder.class
        ├── EmbeddedSass$Value$HslColor.class
        ├── EmbeddedSass$Value$HslColorOrBuilder.class
        ├── EmbeddedSass$Value$HwbColor$1.class
        ├── EmbeddedSass$Value$HwbColor$Builder.class
        ├── EmbeddedSass$Value$HwbColor.class
        ├── EmbeddedSass$Value$HwbColorOrBuilder.class
        ├── EmbeddedSass$Value$List$1.class
        ├── EmbeddedSass$Value$List$Builder.class
        ├── EmbeddedSass$Value$List.class
        ├── EmbeddedSass$Value$ListOrBuilder.class
        ├── EmbeddedSass$Value$Map$1.class
        ├── EmbeddedSass$Value$Map$Builder.class
        ├── EmbeddedSass$Value$Map$Entry$1.class
        ├── EmbeddedSass$Value$Map$Entry$Builder.class
        ├── EmbeddedSass$Value$Map$Entry.class
        ├── EmbeddedSass$Value$Map$EntryOrBuilder.class
        ├── EmbeddedSass$Value$Map.class
        ├── EmbeddedSass$Value$MapOrBuilder.class
        ├── EmbeddedSass$Value$Number$1.class
        ├── EmbeddedSass$Value$Number$Builder.class
        ├── EmbeddedSass$Value$Number.class
        ├── EmbeddedSass$Value$NumberOrBuilder.class
        ├── EmbeddedSass$Value$RgbColor$1.class
        ├── EmbeddedSass$Value$RgbColor$Builder.class
        ├── EmbeddedSass$Value$RgbColor.class
        ├── EmbeddedSass$Value$RgbColorOrBuilder.class
        ├── EmbeddedSass$Value$String$1.class
        ├── EmbeddedSass$Value$String$Builder.class
        ├── EmbeddedSass$Value$String.class
        ├── EmbeddedSass$Value$StringOrBuilder.class
        ├── EmbeddedSass$Value$ValueCase.class
        ├── EmbeddedSass$Value.class
        ├── EmbeddedSass$ValueOrBuilder.class
        └── EmbeddedSass.class

2 directories, 181 files

With these changes, the output would look like this:

New generated `.java` sources
.
└── com
    └── sass_lang
        └── embedded_protocol
            ├── CalculationOperator.java
            ├── EmbeddedSass.java
            ├── InboundMessage.java
            ├── InboundMessageOrBuilder.java
            ├── ListSeparator.java
            ├── LogEventType.java
            ├── OutboundMessage.java
            ├── OutboundMessageOrBuilder.java
            ├── OutputStyle.java
            ├── ProtocolError.java
            ├── ProtocolErrorOrBuilder.java
            ├── ProtocolErrorType.java
            ├── SingletonValue.java
            ├── SourceSpan.java
            ├── SourceSpanOrBuilder.java
            ├── Syntax.java
            ├── Value.java
            └── ValueOrBuilder.java

3 directories, 18 files
New compiled `.class` files
.
└── com
    └── sass_lang
        └── embedded_protocol
            ├── CalculationOperator$1.class
            ├── CalculationOperator.class
            ├── EmbeddedSass.class
            ├── InboundMessage$1.class
            ├── InboundMessage$2.class
            ├── InboundMessage$Builder.class
            ├── InboundMessage$CanonicalizeResponse$1.class
            ├── InboundMessage$CanonicalizeResponse$Builder.class
            ├── InboundMessage$CanonicalizeResponse$ResultCase.class
            ├── InboundMessage$CanonicalizeResponse.class
            ├── InboundMessage$CanonicalizeResponseOrBuilder.class
            ├── InboundMessage$CompileRequest$1.class
            ├── InboundMessage$CompileRequest$Builder.class
            ├── InboundMessage$CompileRequest$Importer$1.class
            ├── InboundMessage$CompileRequest$Importer$Builder.class
            ├── InboundMessage$CompileRequest$Importer$ImporterCase.class
            ├── InboundMessage$CompileRequest$Importer.class
            ├── InboundMessage$CompileRequest$ImporterOrBuilder.class
            ├── InboundMessage$CompileRequest$InputCase.class
            ├── InboundMessage$CompileRequest$StringInput$1.class
            ├── InboundMessage$CompileRequest$StringInput$Builder.class
            ├── InboundMessage$CompileRequest$StringInput.class
            ├── InboundMessage$CompileRequest$StringInputOrBuilder.class
            ├── InboundMessage$CompileRequest.class
            ├── InboundMessage$CompileRequestOrBuilder.class
            ├── InboundMessage$FileImportResponse$1.class
            ├── InboundMessage$FileImportResponse$Builder.class
            ├── InboundMessage$FileImportResponse$ResultCase.class
            ├── InboundMessage$FileImportResponse.class
            ├── InboundMessage$FileImportResponseOrBuilder.class
            ├── InboundMessage$FunctionCallResponse$1.class
            ├── InboundMessage$FunctionCallResponse$Builder.class
            ├── InboundMessage$FunctionCallResponse$ResultCase.class
            ├── InboundMessage$FunctionCallResponse.class
            ├── InboundMessage$FunctionCallResponseOrBuilder.class
            ├── InboundMessage$ImportResponse$1.class
            ├── InboundMessage$ImportResponse$Builder.class
            ├── InboundMessage$ImportResponse$ImportSuccess$1.class
            ├── InboundMessage$ImportResponse$ImportSuccess$Builder.class
            ├── InboundMessage$ImportResponse$ImportSuccess.class
            ├── InboundMessage$ImportResponse$ImportSuccessOrBuilder.class
            ├── InboundMessage$ImportResponse$ResultCase.class
            ├── InboundMessage$ImportResponse.class
            ├── InboundMessage$ImportResponseOrBuilder.class
            ├── InboundMessage$MessageCase.class
            ├── InboundMessage$VersionRequest$1.class
            ├── InboundMessage$VersionRequest$Builder.class
            ├── InboundMessage$VersionRequest.class
            ├── InboundMessage$VersionRequestOrBuilder.class
            ├── InboundMessage.class
            ├── InboundMessageOrBuilder.class
            ├── ListSeparator$1.class
            ├── ListSeparator.class
            ├── LogEventType$1.class
            ├── LogEventType.class
            ├── OutboundMessage$1.class
            ├── OutboundMessage$2.class
            ├── OutboundMessage$Builder.class
            ├── OutboundMessage$CanonicalizeRequest$1.class
            ├── OutboundMessage$CanonicalizeRequest$Builder.class
            ├── OutboundMessage$CanonicalizeRequest.class
            ├── OutboundMessage$CanonicalizeRequestOrBuilder.class
            ├── OutboundMessage$CompileResponse$1.class
            ├── OutboundMessage$CompileResponse$Builder.class
            ├── OutboundMessage$CompileResponse$CompileFailure$1.class
            ├── OutboundMessage$CompileResponse$CompileFailure$Builder.class
            ├── OutboundMessage$CompileResponse$CompileFailure.class
            ├── OutboundMessage$CompileResponse$CompileFailureOrBuilder.class
            ├── OutboundMessage$CompileResponse$CompileSuccess$1.class
            ├── OutboundMessage$CompileResponse$CompileSuccess$Builder.class
            ├── OutboundMessage$CompileResponse$CompileSuccess.class
            ├── OutboundMessage$CompileResponse$CompileSuccessOrBuilder.class
            ├── OutboundMessage$CompileResponse$ResultCase.class
            ├── OutboundMessage$CompileResponse.class
            ├── OutboundMessage$CompileResponseOrBuilder.class
            ├── OutboundMessage$FileImportRequest$1.class
            ├── OutboundMessage$FileImportRequest$Builder.class
            ├── OutboundMessage$FileImportRequest.class
            ├── OutboundMessage$FileImportRequestOrBuilder.class
            ├── OutboundMessage$FunctionCallRequest$1.class
            ├── OutboundMessage$FunctionCallRequest$Builder.class
            ├── OutboundMessage$FunctionCallRequest$IdentifierCase.class
            ├── OutboundMessage$FunctionCallRequest.class
            ├── OutboundMessage$FunctionCallRequestOrBuilder.class
            ├── OutboundMessage$ImportRequest$1.class
            ├── OutboundMessage$ImportRequest$Builder.class
            ├── OutboundMessage$ImportRequest.class
            ├── OutboundMessage$ImportRequestOrBuilder.class
            ├── OutboundMessage$LogEvent$1.class
            ├── OutboundMessage$LogEvent$Builder.class
            ├── OutboundMessage$LogEvent.class
            ├── OutboundMessage$LogEventOrBuilder.class
            ├── OutboundMessage$MessageCase.class
            ├── OutboundMessage$VersionResponse$1.class
            ├── OutboundMessage$VersionResponse$Builder.class
            ├── OutboundMessage$VersionResponse.class
            ├── OutboundMessage$VersionResponseOrBuilder.class
            ├── OutboundMessage.class
            ├── OutboundMessageOrBuilder.class
            ├── OutputStyle$1.class
            ├── OutputStyle.class
            ├── ProtocolError$1.class
            ├── ProtocolError$Builder.class
            ├── ProtocolError.class
            ├── ProtocolErrorOrBuilder.class
            ├── ProtocolErrorType$1.class
            ├── ProtocolErrorType.class
            ├── SingletonValue$1.class
            ├── SingletonValue.class
            ├── SourceSpan$1.class
            ├── SourceSpan$Builder.class
            ├── SourceSpan$SourceLocation$1.class
            ├── SourceSpan$SourceLocation$Builder.class
            ├── SourceSpan$SourceLocation.class
            ├── SourceSpan$SourceLocationOrBuilder.class
            ├── SourceSpan.class
            ├── SourceSpanOrBuilder.class
            ├── Syntax$1.class
            ├── Syntax.class
            ├── Value$1.class
            ├── Value$2.class
            ├── Value$ArgumentList$1.class
            ├── Value$ArgumentList$Builder.class
            ├── Value$ArgumentList$KeywordsDefaultEntryHolder.class
            ├── Value$ArgumentList.class
            ├── Value$ArgumentListOrBuilder.class
            ├── Value$Builder.class
            ├── Value$Calculation$1.class
            ├── Value$Calculation$Builder.class
            ├── Value$Calculation$CalculationOperation$1.class
            ├── Value$Calculation$CalculationOperation$Builder.class
            ├── Value$Calculation$CalculationOperation.class
            ├── Value$Calculation$CalculationOperationOrBuilder.class
            ├── Value$Calculation$CalculationValue$1.class
            ├── Value$Calculation$CalculationValue$Builder.class
            ├── Value$Calculation$CalculationValue$ValueCase.class
            ├── Value$Calculation$CalculationValue.class
            ├── Value$Calculation$CalculationValueOrBuilder.class
            ├── Value$Calculation.class
            ├── Value$CalculationOrBuilder.class
            ├── Value$CompilerFunction$1.class
            ├── Value$CompilerFunction$Builder.class
            ├── Value$CompilerFunction.class
            ├── Value$CompilerFunctionOrBuilder.class
            ├── Value$HostFunction$1.class
            ├── Value$HostFunction$Builder.class
            ├── Value$HostFunction.class
            ├── Value$HostFunctionOrBuilder.class
            ├── Value$HslColor$1.class
            ├── Value$HslColor$Builder.class
            ├── Value$HslColor.class
            ├── Value$HslColorOrBuilder.class
            ├── Value$HwbColor$1.class
            ├── Value$HwbColor$Builder.class
            ├── Value$HwbColor.class
            ├── Value$HwbColorOrBuilder.class
            ├── Value$List$1.class
            ├── Value$List$Builder.class
            ├── Value$List.class
            ├── Value$ListOrBuilder.class
            ├── Value$Map$1.class
            ├── Value$Map$Builder.class
            ├── Value$Map$Entry$1.class
            ├── Value$Map$Entry$Builder.class
            ├── Value$Map$Entry.class
            ├── Value$Map$EntryOrBuilder.class
            ├── Value$Map.class
            ├── Value$MapOrBuilder.class
            ├── Value$Number$1.class
            ├── Value$Number$Builder.class
            ├── Value$Number.class
            ├── Value$NumberOrBuilder.class
            ├── Value$RgbColor$1.class
            ├── Value$RgbColor$Builder.class
            ├── Value$RgbColor.class
            ├── Value$RgbColorOrBuilder.class
            ├── Value$String$1.class
            ├── Value$String$Builder.class
            ├── Value$String.class
            ├── Value$StringOrBuilder.class
            ├── Value$ValueCase.class
            ├── Value.class
            └── ValueOrBuilder.class

3 directories, 183 files

@nex3 nex3 added blocked Waiting on another issue to be fixed and removed needs info labels Jun 27, 2022
@nex3
Copy link
Contributor

nex3 commented Jun 27, 2022

Yeah, unless we can somehow support both let's wait to do this until the next major version.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
blocked Waiting on another issue to be fixed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants