mirror of https://github.com/sbt/sbt.git
Use uri instead of url
This commit is contained in:
parent
c5bfc67750
commit
8a8215cf1b
|
|
@ -90,7 +90,7 @@ private[sbt] final class CommandExchange {
|
||||||
case Some(x) => // do nothing
|
case Some(x) => // do nothing
|
||||||
case _ =>
|
case _ =>
|
||||||
val portfile = (new File(".")).getAbsoluteFile / "project" / "target" / "active.json"
|
val portfile = (new File(".")).getAbsoluteFile / "project" / "target" / "active.json"
|
||||||
val h = Hash.halfHashString(portfile.toURL.toString)
|
val h = Hash.halfHashString(portfile.toURI.toString)
|
||||||
val tokenfile = BuildPaths.getGlobalBase(s) / "server" / h / "token.json"
|
val tokenfile = BuildPaths.getGlobalBase(s) / "server" / h / "token.json"
|
||||||
val x = Server.start("127.0.0.1", port, onIncomingSocket, portfile, tokenfile, s.log)
|
val x = Server.start("127.0.0.1", port, onIncomingSocket, portfile, tokenfile, s.log)
|
||||||
Await.ready(x.ready, Duration("10s"))
|
Await.ready(x.ready, Duration("10s"))
|
||||||
|
|
|
||||||
|
|
@ -9,27 +9,27 @@ package sbt.internal.protocol
|
||||||
* It can be used to find out the transport protocol (port number etc).
|
* It can be used to find out the transport protocol (port number etc).
|
||||||
*/
|
*/
|
||||||
final class PortFile private (
|
final class PortFile private (
|
||||||
/** URL of the sbt server. */
|
/** URI of the sbt server. */
|
||||||
val url: String,
|
val uri: String,
|
||||||
val tokenfile: Option[String]) extends Serializable {
|
val tokenfile: Option[String]) extends Serializable {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
override def equals(o: Any): Boolean = o match {
|
override def equals(o: Any): Boolean = o match {
|
||||||
case x: PortFile => (this.url == x.url) && (this.tokenfile == x.tokenfile)
|
case x: PortFile => (this.uri == x.uri) && (this.tokenfile == x.tokenfile)
|
||||||
case _ => false
|
case _ => false
|
||||||
}
|
}
|
||||||
override def hashCode: Int = {
|
override def hashCode: Int = {
|
||||||
37 * (37 * (37 * (17 + "sbt.internal.protocol.PortFile".##) + url.##) + tokenfile.##)
|
37 * (37 * (37 * (17 + "sbt.internal.protocol.PortFile".##) + uri.##) + tokenfile.##)
|
||||||
}
|
}
|
||||||
override def toString: String = {
|
override def toString: String = {
|
||||||
"PortFile(" + url + ", " + tokenfile + ")"
|
"PortFile(" + uri + ", " + tokenfile + ")"
|
||||||
}
|
}
|
||||||
protected[this] def copy(url: String = url, tokenfile: Option[String] = tokenfile): PortFile = {
|
protected[this] def copy(uri: String = uri, tokenfile: Option[String] = tokenfile): PortFile = {
|
||||||
new PortFile(url, tokenfile)
|
new PortFile(uri, tokenfile)
|
||||||
}
|
}
|
||||||
def withUrl(url: String): PortFile = {
|
def withUri(uri: String): PortFile = {
|
||||||
copy(url = url)
|
copy(uri = uri)
|
||||||
}
|
}
|
||||||
def withTokenfile(tokenfile: Option[String]): PortFile = {
|
def withTokenfile(tokenfile: Option[String]): PortFile = {
|
||||||
copy(tokenfile = tokenfile)
|
copy(tokenfile = tokenfile)
|
||||||
|
|
@ -40,6 +40,6 @@ final class PortFile private (
|
||||||
}
|
}
|
||||||
object PortFile {
|
object PortFile {
|
||||||
|
|
||||||
def apply(url: String, tokenfile: Option[String]): PortFile = new PortFile(url, tokenfile)
|
def apply(uri: String, tokenfile: Option[String]): PortFile = new PortFile(uri, tokenfile)
|
||||||
def apply(url: String, tokenfile: String): PortFile = new PortFile(url, Option(tokenfile))
|
def apply(uri: String, tokenfile: String): PortFile = new PortFile(uri, Option(tokenfile))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,26 +5,26 @@
|
||||||
// DO NOT EDIT MANUALLY
|
// DO NOT EDIT MANUALLY
|
||||||
package sbt.internal.protocol
|
package sbt.internal.protocol
|
||||||
final class TokenFile private (
|
final class TokenFile private (
|
||||||
val url: String,
|
val uri: String,
|
||||||
val token: String) extends Serializable {
|
val token: String) extends Serializable {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
override def equals(o: Any): Boolean = o match {
|
override def equals(o: Any): Boolean = o match {
|
||||||
case x: TokenFile => (this.url == x.url) && (this.token == x.token)
|
case x: TokenFile => (this.uri == x.uri) && (this.token == x.token)
|
||||||
case _ => false
|
case _ => false
|
||||||
}
|
}
|
||||||
override def hashCode: Int = {
|
override def hashCode: Int = {
|
||||||
37 * (37 * (37 * (17 + "sbt.internal.protocol.TokenFile".##) + url.##) + token.##)
|
37 * (37 * (37 * (17 + "sbt.internal.protocol.TokenFile".##) + uri.##) + token.##)
|
||||||
}
|
}
|
||||||
override def toString: String = {
|
override def toString: String = {
|
||||||
"TokenFile(" + url + ", " + token + ")"
|
"TokenFile(" + uri + ", " + token + ")"
|
||||||
}
|
}
|
||||||
protected[this] def copy(url: String = url, token: String = token): TokenFile = {
|
protected[this] def copy(uri: String = uri, token: String = token): TokenFile = {
|
||||||
new TokenFile(url, token)
|
new TokenFile(uri, token)
|
||||||
}
|
}
|
||||||
def withUrl(url: String): TokenFile = {
|
def withUri(uri: String): TokenFile = {
|
||||||
copy(url = url)
|
copy(uri = uri)
|
||||||
}
|
}
|
||||||
def withToken(token: String): TokenFile = {
|
def withToken(token: String): TokenFile = {
|
||||||
copy(token = token)
|
copy(token = token)
|
||||||
|
|
@ -32,5 +32,5 @@ final class TokenFile private (
|
||||||
}
|
}
|
||||||
object TokenFile {
|
object TokenFile {
|
||||||
|
|
||||||
def apply(url: String, token: String): TokenFile = new TokenFile(url, token)
|
def apply(uri: String, token: String): TokenFile = new TokenFile(uri, token)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,17 +11,17 @@ implicit lazy val PortFileFormat: JsonFormat[sbt.internal.protocol.PortFile] = n
|
||||||
jsOpt match {
|
jsOpt match {
|
||||||
case Some(js) =>
|
case Some(js) =>
|
||||||
unbuilder.beginObject(js)
|
unbuilder.beginObject(js)
|
||||||
val url = unbuilder.readField[String]("url")
|
val uri = unbuilder.readField[String]("uri")
|
||||||
val tokenfile = unbuilder.readField[Option[String]]("tokenfile")
|
val tokenfile = unbuilder.readField[Option[String]]("tokenfile")
|
||||||
unbuilder.endObject()
|
unbuilder.endObject()
|
||||||
sbt.internal.protocol.PortFile(url, tokenfile)
|
sbt.internal.protocol.PortFile(uri, tokenfile)
|
||||||
case None =>
|
case None =>
|
||||||
deserializationError("Expected JsObject but found None")
|
deserializationError("Expected JsObject but found None")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
override def write[J](obj: sbt.internal.protocol.PortFile, builder: Builder[J]): Unit = {
|
override def write[J](obj: sbt.internal.protocol.PortFile, builder: Builder[J]): Unit = {
|
||||||
builder.beginObject()
|
builder.beginObject()
|
||||||
builder.addField("url", obj.url)
|
builder.addField("uri", obj.uri)
|
||||||
builder.addField("tokenfile", obj.tokenfile)
|
builder.addField("tokenfile", obj.tokenfile)
|
||||||
builder.endObject()
|
builder.endObject()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,17 +11,17 @@ implicit lazy val TokenFileFormat: JsonFormat[sbt.internal.protocol.TokenFile] =
|
||||||
jsOpt match {
|
jsOpt match {
|
||||||
case Some(js) =>
|
case Some(js) =>
|
||||||
unbuilder.beginObject(js)
|
unbuilder.beginObject(js)
|
||||||
val url = unbuilder.readField[String]("url")
|
val uri = unbuilder.readField[String]("uri")
|
||||||
val token = unbuilder.readField[String]("token")
|
val token = unbuilder.readField[String]("token")
|
||||||
unbuilder.endObject()
|
unbuilder.endObject()
|
||||||
sbt.internal.protocol.TokenFile(url, token)
|
sbt.internal.protocol.TokenFile(uri, token)
|
||||||
case None =>
|
case None =>
|
||||||
deserializationError("Expected JsObject but found None")
|
deserializationError("Expected JsObject but found None")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
override def write[J](obj: sbt.internal.protocol.TokenFile, builder: Builder[J]): Unit = {
|
override def write[J](obj: sbt.internal.protocol.TokenFile, builder: Builder[J]): Unit = {
|
||||||
builder.beginObject()
|
builder.beginObject()
|
||||||
builder.addField("url", obj.url)
|
builder.addField("uri", obj.uri)
|
||||||
builder.addField("token", obj.token)
|
builder.addField("token", obj.token)
|
||||||
builder.endObject()
|
builder.endObject()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,12 @@ package sbt.internal.protocol
|
||||||
## This file should exist throughout the lifetime of the server.
|
## This file should exist throughout the lifetime of the server.
|
||||||
## It can be used to find out the transport protocol (port number etc).
|
## It can be used to find out the transport protocol (port number etc).
|
||||||
type PortFile {
|
type PortFile {
|
||||||
## URL of the sbt server.
|
## URI of the sbt server.
|
||||||
url: String!
|
uri: String!
|
||||||
tokenfile: String
|
tokenfile: String
|
||||||
}
|
}
|
||||||
|
|
||||||
type TokenFile {
|
type TokenFile {
|
||||||
url: String!
|
uri: String!
|
||||||
token: String!
|
token: String!
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,14 +30,14 @@ object Client extends App {
|
||||||
val json: JValue = Parser.parseFromFile(portfile).get
|
val json: JValue = Parser.parseFromFile(portfile).get
|
||||||
json match {
|
json match {
|
||||||
case JObject(fields) =>
|
case JObject(fields) =>
|
||||||
(fields find { _.field == "url" } map { _.value }) match {
|
(fields find { _.field == "uri" } map { _.value }) match {
|
||||||
case Some(JString(value)) =>
|
case Some(JString(value)) =>
|
||||||
val u = new URI(value)
|
val u = new URI(value)
|
||||||
u.getPort
|
u.getPort
|
||||||
case _ =>
|
case _ =>
|
||||||
sys.error("json doesn't url field that is JString")
|
sys.error("json doesn't uri field that is JString")
|
||||||
}
|
}
|
||||||
case _ => sys.error("json doesn't have url field")
|
case _ => sys.error("json doesn't have uri field")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue