sbt / sbt-remote-control

Create and manage sbt process using unicorns and forks
Other
74 stars 14 forks source link

Start migrating to mutl-project friendly API #48

Closed jsuereth closed 10 years ago

jsuereth commented 10 years ago

This PR updates the API which Activator uses (the high level API) to support multiple projects. It also consolidates the protocol into one file with a better delination of what is high level and what is low level.

We may need more requests here to fully support both IDEs and Activator at a high level, but this is a good start

It also brings in the start of the low-level API for sbt inspection type commands.

The rest of the code is slightly gunky (more cleanups possible) but working. This represents the next release in the series of sbt-remote-control (a 0.3).

jsuereth commented 10 years ago

Review by @skyluc @havocp and @harrah (the protocol at least).

harrah commented 10 years ago

That's a lot of commits. Where do I start?

jsuereth commented 10 years ago

@harrah for now, just protocol.scala. The rest can be mucked with a bit. protocol.scala represents a starting point for our design/discussion.

havocp commented 10 years ago

I'd say this is fine to merge if you've pushed everything you are planning to. On a high level looks like a good bunch of changes.

I think the big challenge for multi-client is to transition from a command-execution engine to a model-view. Not in this PR obviously. I think we likely want to port activator to this new API and restabilize first.

jsuereth commented 10 years ago

Cool. Sounds like a plan. I'll merge this, push the next PR, and we can discuss what model-view means in this sense.