MavenStyleFormatter

A formatter for Maven-style version constraints. This class transforms conditions into a string representation that adheres to the Maven format for version ranges.

Samples

import io.github.z4kn4fein.semver.constraints.Constraint
import io.github.z4kn4fein.semver.constraints.ConstraintSerializer
import io.github.z4kn4fein.semver.constraints.MavenConstraintSerializer
import io.github.z4kn4fein.semver.constraints.MavenStyleFormatter
import io.github.z4kn4fein.semver.constraints.MavenStyleParser
import io.github.z4kn4fein.semver.constraints.satisfiedBy
import io.github.z4kn4fein.semver.constraints.satisfiedByAll
import io.github.z4kn4fein.semver.constraints.satisfiedByAny
import io.github.z4kn4fein.semver.constraints.toConstraint
import io.github.z4kn4fein.semver.constraints.toConstraintOrNull
import io.github.z4kn4fein.semver.constraints.toMavenConstraint
import io.github.z4kn4fein.semver.constraints.toMavenConstraintOrNull
import io.github.z4kn4fein.semver.constraints.toMavenFormat
import io.github.z4kn4fein.semver.toVersion
import kotlinx.serialization.json.Json

fun main() { 
   //sampleStart 
   val constraints =
    listOf(
        "1.0.0",
        "!=1.0.0",
        "~1.0",
        "^1.x",
        "1.1.0 - 1.2.*",
        ">=1.1.0 <3 || =0.1 || 5 - 6",
        "v1",
        "v3 - v4",
        ">=v2.3",
    )

constraints.forEach { println("$it => ${it.toConstraint().format(MavenStyleFormatter())}") } 
   //sampleEnd
}

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
open override val orSeparator: String

The string used to join conditions into OR segments when formatting constraints.

Functions

Link copied to clipboard
open override fun formatCondition(condition: Condition): String

Formats a condition into its string representation.