What these phrases mean:
xs @ _*
ps @ _*
Copied from documentation:
assemblyMergeStrategy in assembly := {
case PathList("javax", "servlet", xs @ _*) => MergeStrategy.first
case PathList(ps @ _*) if ps.last endsWith ".html" => MergeStrategy.first
case "application.conf" => MergeStrategy.concat
case "unwanted.txt" => MergeStrategy.discard
case x =>
val oldStrategy = (assemblyMergeStrategy in assembly).value
oldStrategy(x)
}
In your example _* means everything, @ for matching
xs @ _* is case pattern means pick every thing that matched for first case /javax/servlet/*
ps @ _* means pick up all that match as /* and with html extension
'@' operator is used to bind to variables in pattern matching.
<somevar> : _* is used to unpack varargs as sequence of appropriate type.
In this example ps @ _* tells pattern matching to retrieve varargs from PathList as Sequence of paths.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With