scalathriftthrift-protocoltwitter-finagle

How to "include" Thrift files from different modules?


Scenario: One big project with multiple sub-projects, SBT build definition.

rootproject/
  api/
    src/
      main/
       thrift/
         SomeService.thrift
  core/
    src/
      main/
        thrift/
         SomeModel.thrift

What is the correct way to include SomeModel.thrift in SomeService.thrift?


Solution

  • Managed to find the answer. Path inclusion works as expected:

    SomeService.thrift looks like this:

    include ../../../../SomeModels.thrift
    
    // And then normal IDL definitions
    struct Test {
        1: required SomeModels.Model model
    }