sysalto / ReactiveReports

Reactive Reports - a framework developed in Scala, designed for generating reports from code.
Other
16 stars 4 forks source link

Use of Protobuf compiler #3

Closed NickFengIBM closed 5 years ago

NickFengIBM commented 6 years ago

Hi, I wonder how protobuf compiler (protoc) is being used for building reactive reports? Because of licensing issue with protoc, our tool is not able to directly use reactive report as a dependency unless we can prove the impact of protoc is reasonable . Can you please show me how protoc is involved (e.g. if protoc is used to compiled x.proto to x.java code)

Thank you in advance.

sysalto commented 6 years ago

Hi Nick,

Protoc is only use like a development dependecy - you have to used it if you want to modify (e.g. add a new report function or parameter) and rebuild the jars. I have two sh scripts (not added to github). The first one genProtoFiles.sh is : protoc -I=./core/report/src/main/java --java_out=./core/report/src/main/java ./core/report/src/main/java/com/sysalto/report/serialization/re port_proto.proto protoc -I=./core/report/src/main/java --java_out=./core/report/src/main/java ./core/report/src/main/java/com/sysalto/report/serialization/co mmon/report_common_proto.proto

And the second one is for render:genRenderProtoFiles.sh :

protoc -I=./core/report/src/main/java -I=./core/renders/pdf/src/main/java --java_out=./core/renders/pdf/src/main/java ./core/renders/pdf/sr c/main/java/com/sysalto/render/serialization/render_proto.proto

Basically , you don't need to run protoc if you need to use or to rebuild the jars from github sources , unless you add or update the definition any report's functions.

NickFengIBM commented 6 years ago

Thank you for the detailed answer. I have made a small change to protoc and pushed the change back to its original github repo to avoid the license issue. If it is possible, can you please use the latest protobuf compiler (may need to build from source) to re-generate the above Java files?

sysalto commented 6 years ago

It's great that you added a change to the Protobuf code, to address the license issue. Reactive Reports uses a Maven dependency from them and can only use code that comes from one of their releases. So, when Protobuf has a new release, including your change, then I'll be able to include it, and create a new release for Reactive Reports. Until then, we'll need to wait.

sysalto commented 5 years ago

Hi @NickFengIBM,

12 days ago, I created a new release, 1.0.1, which uses the latest Protobuf. Please, let me know of any other questions or issues. Thanks for your interest in Reactive Reports.