bazel-contrib / bazel-contrib/rules_scala
Cannot compile a Scrooge Finagle service
- Dominant language
- Starlark
- Stars
- 384
- Forks
- 292
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 47
Description
Hello,
Since I upgraded my Scala rules (last version known to work was 21c8913a2cf35130870df9f07a781afc77f33693, from last March), I cannot compile anymore my Thrift services with Scrooge. Creating `scrooge_scala_library` when the IDL file contains only structs is ok, but I cannot create a library when the IDL file also contains a service.
When trying to compile the target `scrooge_scala_library`, I get a lot of compilation errors looking like:
```error: object finagle is not a member of package com.twitter```
Previously, I used to add "//3rdparty/jvm/com/twitter:finagle_thrift" to my `deps` to bring in the Finagle dependency, but if I do so, I now get another error:
``` (rule 'scala_import') doesn't contain declared provider 'ThriftInfo'```
I couldn't spot any documentation or tests about compiling Finagle Scrooge services, so I am a bit stuck. I can contribute tests/documentation if given a hint about how things are supposed to work. Thanks!
Contributor guide
Research direction
Start by reproducing the scrooge_scala_library target with an IDL containing a service, then inspect the Scala rules and the dependency declarations for //3rdparty/jvm/com/twitter:finagle_thrift. Done means the service target compiles without the missing finagle or ThriftInfo errors, with tests or documentation covering the supported setup.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 32/100