io.github.matejcerny.sbtconfig.model

Members list

Type members

Classlikes

sealed abstract class CrossVersionType

Cross-versioning type for dependencies. Determines how the dependency artifact name is resolved.

Cross-versioning type for dependencies. Determines how the dependency artifact name is resolved.

  • Scala%% (standard Scala cross-versioning)
  • Java% (no cross-versioning, plain Java dependency)
  • ScalaJs%%% (platform cross-version, requires sbt-scalajs plugin)
  • ScalaNative%%% (platform cross-version, requires sbt-scala-native plugin)

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Java
object Scala
object ScalaJs
object ScalaNative

Attributes

Companion
class
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
case class Dependency(organization: String, name: String, version: String, crossVersionType: CrossVersionType = ..., platform: Platform = ...)

Represents a single dependency.

Represents a single dependency.

Value parameters

crossVersionType

How the artifact name is cross-versioned (default: Scala %%)

name

Artifact name (e.g., "cats-core")

organization

Group/organization ID (e.g., "org.typelevel")

platform

Which platform(s) this dependency targets (default: Shared = all platforms)

version

Version string (e.g., "2.13.0")

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class Developer(id: String, name: String, email: String, url: String)

Represents a project developer.

Represents a project developer.

Value parameters

email

Email address

id

Developer ID (e.g., GitHub username)

name

Full name

url

Personal/professional URL

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object License

Supported license identifiers matching sbt.librarymanagement.License

Supported license identifiers matching sbt.librarymanagement.License

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
License.type
sealed abstract class Platform

Platform target for dependencies. Determines which sbt projects receive the dependency.

Platform target for dependencies. Determines which sbt projects receive the dependency.

  • Shared → all platforms (JVM, JS, Native)
  • Jvm → JVM projects only
  • Js → Scala.js projects only
  • Native → Scala Native projects only

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Js
object Jvm
object Native
object Shared
object Platform

Attributes

Companion
class
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Platform.type
case class ProjectConfig(name: Option[String] = ..., organization: Option[String] = ..., version: Option[String] = ..., scalaVersion: Option[String] = ..., scalacOptions: Option[Seq[String]] = ..., dependencies: Option[Seq[Dependency]] = ..., testDependencies: Option[Seq[Dependency]] = ..., homepage: Option[String] = ..., licenses: Option[Seq[String]] = ..., versionScheme: Option[String] = ..., developers: Option[Seq[Developer]] = ...)

Configuration model representing the HOCON config structure. All fields are optional to allow partial configuration.

Configuration model representing the HOCON config structure. All fields are optional to allow partial configuration.

Value parameters

dependencies

Compile dependencies

developers

List of project developers

homepage

Project homepage URL

licenses

List of license identifiers (e.g., "MIT", "Apache-2.0")

name

Project name

organization

Organization/group ID

scalaVersion

Scala compiler version

scalacOptions

Scala compiler options

testDependencies

Test dependencies

version

Project version

versionScheme

Version scheme (e.g., "early-semver", "semver-spec")

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object ProjectConfig

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type