pekko-grpc icon indicating copy to clipboard operation
pekko-grpc copied to clipboard

review licenses for pekko-grpc-codegen and bat files (published to maven central)

Open pjfanning opened this issue 1 year ago • 3 comments

https://repository.apache.org/content/groups/staging/org/apache/pekko/pekko-grpc-codegen_2.13/1.1.1/

See pekko-grpc-codegen_2.13-1.1.1-assembly.jar and pekko-grpc-codegen_2.13-1.1.1-bat.bat

  • They are big files.
  • I am not sure if they are needed
  • The assembly jar bundles lots of scala-library, io.grpc, guava, protobuf, checkerframework classes but the only LICENSE and NOTICE in the jar are copied from the scala-library.
    • If we choose to keep publishing this file, we need to fix its build so that we add a proper LICENSE setup that properly attributes the license details for all classes bundled in the jar
  • I don't know what the bat file is but presume it also includes compiled code from many sources

pjfanning avatar Nov 13 '24 09:11 pjfanning

I am not sure if they are needed

They are used in https://github.com/apache/pekko-grpc/blob/main/gradle-plugin/src/main/groovy/org/apache/pekko/grpc/gradle/PekkoGrpcPlugin.groovy#L108 .

The assembly jar bundles lots of scala-library, io.grpc, guava, protobuf, checkerframework classes but the only LICENSE and NOTICE in the jar are copied from the scala-library.

  • If we choose to keep publishing this file, we need to fix its build so that we add a proper LICENSE setup that properly attributes the license details for all classes bundled in the jar

Ouch, indeed.

I don't know what the bat file is but presume it also includes compiled code from many sources

I think it's basically the same as the assembly but wrapped in a way that makes it easier to execute on Windows

raboof avatar Nov 13 '24 09:11 raboof

I am not sure if they are needed

They are used in https://github.com/apache/pekko-grpc/blob/main/gradle-plugin/src/main/groovy/org/apache/pekko/grpc/gradle/PekkoGrpcPlugin.groovy#L108 .

The assembly jar bundles lots of scala-library, io.grpc, guava, protobuf, checkerframework classes but the only LICENSE and NOTICE in the jar are copied from the scala-library.

Thanks @raboof for the pointer. The jar plain pekko-grpc-codegen jar is published with a pom file that lists the dependencies. https://repository.apache.org/content/groups/staging/org/apache/pekko/pekko-grpc-codegen_2.13/1.1.1/pekko-grpc-codegen_2.13-1.1.1.pom

Maybe, we could get away with changing PekkoGrpcPlugin.groovy to use the plain jar and rely on Gradle to fetch the dependencies.

pjfanning avatar Nov 13 '24 10:11 pjfanning

Maybe, we could get away with changing PekkoGrpcPlugin.groovy to use the plain jar and rely on Gradle to fetch the dependencies.

Last time I checked the gradle protobuf plugin it didn't support that, but that would indeed be great to revisit

raboof avatar Nov 13 '24 10:11 raboof