All Downloads are FREE. Search and download functionalities are using the official Maven repository.

scala.build.options.PublishOptions.scala Maven / Gradle / Ivy

package scala.build.options

import scala.build.Positioned
import scala.build.options.publish.{Developer, License, Vcs}

final case class PublishOptions(
  organization: Option[Positioned[String]] = None,
  name: Option[Positioned[String]] = None,
  moduleName: Option[Positioned[String]] = None,
  version: Option[Positioned[String]] = None,
  url: Option[Positioned[String]] = None,
  license: Option[Positioned[License]] = None,
  versionControl: Option[Vcs] = None,
  description: Option[String] = None,
  developers: Seq[Developer] = Nil,
  scalaVersionSuffix: Option[String] = None,
  scalaPlatformSuffix: Option[String] = None,
  local: PublishContextualOptions = PublishContextualOptions(),
  ci: PublishContextualOptions = PublishContextualOptions(),
  signingCli: ScalaSigningCliOptions = ScalaSigningCliOptions()
) {
  def retained(isCi: Boolean): PublishContextualOptions =
    if (isCi) ci
    else local
  def contextual(isCi: Boolean): PublishContextualOptions =
    if (isCi) PublishContextualOptions.monoid.orElse(ci, local)
    else local
}

object PublishOptions {
  implicit val monoid: ConfigMonoid[PublishOptions] = ConfigMonoid.derive
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy