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