Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate to bloop-cli and remove module from scala-cli #1971

Open
ckipp01 opened this issue Mar 28, 2023 · 3 comments
Open

Migrate to bloop-cli and remove module from scala-cli #1971

ckipp01 opened this issue Mar 28, 2023 · 3 comments
Assignees
Labels
Bloop Issues tied with Bloop integration. enhancement New feature or request

Comments

@ckipp01
Copy link
Contributor

ckipp01 commented Mar 28, 2023

Is your feature request related to a problem? Please describe.
There are currently two different forks. @alexarchambault outlined some of the steps that would be necessary to make these converge and one of them was that bloop-cli was moved to its own repo, but it may have fallen out of sync and it's not currently being used by this repo. Instead, this repo just uses it as a module inlined.

Describe the solution you'd like

  • I'd like for bloop-cli and the code that is inlined to be synced up.
  • I'd like for bloop-cli to be documented and released
  • I'd like scala-cli to just rely on bloop-cli

Describe alternatives you've considered
Have multiple forks of bloop out there forever.

Additional context
Once we get this done, we can better explore using it in Metals, which would allow us to drop it in Bloop, simplify it, and then maybe even star the convergence project.

@ckipp01 ckipp01 added the enhancement New feature or request label Mar 28, 2023
@alexarchambault
Copy link
Contributor

alexarchambault commented Mar 28, 2023

I'd like to advance this as much as I could this week. Not sure what others think about it, but here is a possible path forward, that I'm working on right now (the first steps at least):

  • folding scala-cli/bloop-cli into scala-cli/bloop-core: that would make all Scala CLI Bloop-related code live in a single repo, pushing both a Bloop server and a library to spawn and interact with Bloop (to Maven Central), and Bloop CLI binaries (as GitHub release assets)
  • make VirtusLab/scala-cli use the library from scala-cli/bloop-core rather than its own code (need to insure that the code at scala-cli/bloop-core doesn't miss anything that VirtusLab/scala-cli has)
  • add missing server-related parts in scala-cli/bloop-core (benchmarks, ability to listen on a TCP port)
  • remove the backend / frontend / shared / benchmark modules from scalacenter/bloop, and depend on the ones published by scala-cli/bloop-core instead
  • rename scalacenter/bloop to scalacenter/bloop-integrations, and scala-cli/bloop-core to scalacenter/bloop
  • deprecate the CLI generated in scalacenter/bloop-integrations

That's only a proposal of a path forward for now, as I guess we'll need to agree on the last steps in particular 😅

But to summarize, I basically propose to make the current Scala CLI Bloop fork the new default Bloop server, to make the Scala CLI Bloop libraries and CLI the new default Bloop libraries and CLI, and to leave only integrations in the current Bloop repo.

@alexarchambault
Copy link
Contributor

alexarchambault commented Mar 28, 2023

Then in a second time, we could have Metals use the new Bloop library rather than the current launcher module from scalacenter/bloop (basically what scalameta/metals#4103 attempts to do), and remove the launcher and bloopgun modules, and the former CLI, from scalacenter/bloop.

@alexarchambault
Copy link
Contributor

alexarchambault commented Mar 31, 2023

An update on this:

@tgodzik tgodzik added this to To do in Issue Board via automation Apr 3, 2023
@tgodzik tgodzik moved this from To do to In progress in Issue Board Apr 3, 2023
@Gedochao Gedochao moved this from In progress to To do in Issue Board May 24, 2023
@Gedochao Gedochao added the Bloop Issues tied with Bloop integration. label Mar 18, 2024
@Gedochao Gedochao removed this from To do in Issue Board Apr 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bloop Issues tied with Bloop integration. enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants