leave scheme unchanged for binary compatibility but don`t render email tag if it is null or empty

This commit is contained in:
0lejk4 2019-03-17 11:32:52 +02:00
parent 0878b9db14
commit a4e5a2e299
4 changed files with 11 additions and 11 deletions

View File

@ -7,7 +7,7 @@ package sbt.librarymanagement
final class Developer private (
val id: String,
val name: String,
val email: Option[String],
val email: String,
val url: java.net.URL) extends Serializable {
@ -22,7 +22,7 @@ final class Developer private (
override def toString: String = {
"Developer(" + id + ", " + name + ", " + email + ", " + url + ")"
}
private[this] def copy(id: String = id, name: String = name, email: Option[String] = email, url: java.net.URL = url): Developer = {
private[this] def copy(id: String = id, name: String = name, email: String = email, url: java.net.URL = url): Developer = {
new Developer(id, name, email, url)
}
def withId(id: String): Developer = {
@ -31,7 +31,7 @@ final class Developer private (
def withName(name: String): Developer = {
copy(name = name)
}
def withEmail(email: Option[String]): Developer = {
def withEmail(email: String): Developer = {
copy(email = email)
}
def withUrl(url: java.net.URL): Developer = {
@ -40,5 +40,5 @@ final class Developer private (
}
object Developer {
def apply(id: String, name: String, email: Option[String], url: java.net.URL): Developer = new Developer(id, name, email, url)
def apply(id: String, name: String, email: String, url: java.net.URL): Developer = new Developer(id, name, email, url)
}

View File

@ -13,7 +13,7 @@ implicit lazy val DeveloperFormat: JsonFormat[sbt.librarymanagement.Developer] =
unbuilder.beginObject(js)
val id = unbuilder.readField[String]("id")
val name = unbuilder.readField[String]("name")
val email = unbuilder.readField[Option[String]]("email")
val email = unbuilder.readField[String]("email")
val url = unbuilder.readField[java.net.URL]("url")
unbuilder.endObject()
sbt.librarymanagement.Developer(id, name, email, url)

View File

@ -328,10 +328,10 @@
"target": "Scala",
"type": "record",
"fields": [
{ "name": "id", "type": "String" },
{ "name": "name", "type": "String" },
{ "name": "email", "type": "Option[String]" },
{ "name": "url", "type": "java.net.URL" }
{ "name": "id", "type": "String" },
{ "name": "name", "type": "String" },
{ "name": "email", "type": "String" },
{ "name": "url", "type": "java.net.URL" }
]
},
{

View File

@ -209,8 +209,8 @@ class MakePom(val log: Logger) {
<url>{ developer.url }</url>
{
developer.email match {
case Some(e)=> <email>{ e }</email>
case _ => NodeSeq.Empty
case "" | null => NodeSeq.Empty
case e => <email>{ e }</email>
}
}
</developer>