bazel-contrib / bazel-contrib/rules_scala

Cannot compile a Scrooge Finagle service

Open
#592 7 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.