MavenStyleParser

A parser that converts Maven-style version range expressions into Condition objects.

The class supports:

  • Parsing single-version constraints (e.g., "1.0.0")

  • Parsing range constraints (e.g., "[1.0.0,2.0.0)")

  • Parsing multiple constraints (e.g., "[1.0.0,2.0.0),3.0.0")

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 
   print(Constraint.parseFormat("[1.2,)", MavenStyleParser())) 
   //sampleEnd
}

Constructors

Link copied to clipboard
constructor()

Creates an instance of the MavenStyleParser.

Properties

Link copied to clipboard

The separator used to split the OR segments of a constraint expression.

Link copied to clipboard
open override val regex: Regex

A regular expression used for parsing and matching conditional expressions. It serves as a pattern to identify and extract components from the input string that conform to the expected condition syntax, enabling the creation of valid Condition objects.

Functions

Link copied to clipboard
open override fun parseCondition(match: MatchResult): Condition

Parses the given MatchResult into a corresponding Condition instance.

Link copied to clipboard
open override fun preProcessConstraint(constraint: String): String

Preprocesses the given constraint string to normalize it for further parsing.