sbt / sbt-remote-control

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

Add classpath + aggregate dependency information to minimal project buil... #289

Closed jsuereth closed 9 years ago

jsuereth commented 9 years ago

...d.

Replaces #286

A few caveats

Thanks to @dancingrobot84 for the original patch.

Review by @havocp (Protocol update review by @eed3si9n )

cc> @dancingrobot84 @dpratt

havocp commented 9 years ago

looks reasonable but I guess we need to spell out what we do with protocol version for stuff like this. are we bumping it on every patch that adds a field, or only when we go to make a release? and the comment in Protocol.scala says we'll always be back-compat even when we bump it, which I think is right, but then why do we have the protocol-versioned directory in the tests?

havocp commented 9 years ago

I'm fine with saying we'll bump the protocol version essentially never. I think there's almost always a better answer - back-compat addition, feature tags, changing the lockfile we use to launch, etc.

The one argument for bumping it on every added field would be that then clients or servers can fail fast if they truly require a newer field. For example if a client needs this info you've added here and you bump to 2, then it could require 2 on startup and complain otherwise.

havocp commented 9 years ago

So here's an attempt to sketch how changes to the protocol get handled:

jsuereth commented 9 years ago

@havocp @eed3si9n Check the new infrastructure i added to test new protocols and the bump to protoocl version 2.

havocp commented 9 years ago

LGTM. will let Eugene also look.

eed3si9n commented 9 years ago

LGTM