riverqueue / river

Fast and reliable background jobs in Go
https://riverqueue.com
Mozilla Public License 2.0
2.86k stars 68 forks source link

Move parts of the project over to `rivershared` (monorepo alternative) #429

Closed brandur closed 1 week ago

brandur commented 1 week ago

As discussed over Slack, we've been having trouble wherein we often find ourselves needing pieces of the main River Go project over in other projects like River UI, and having to copy a bunch of stuff over.

Here, we establish a new rivershared Go Module in the main River project, then move references to it from other main modules over to it.

Basically my methodology for this one is that I'd been working on the plugin system, wanted to see if startstop.Service could be moved so we didn't have to duplicate it in rivertype, moved it to rivershared, then moved all of its dependencies over to rivershared as well. (Most of these dependencies come from startstop's test suite.)

brandur commented 1 week ago

Awesome. Alright let's give this a shot.