sbt-dynver icon indicating copy to clipboard operation
sbt-dynver copied to clipboard

DynVer Breaks on SemVer Tags with Metadata

Open apeschel opened this issue 7 years ago • 2 comments

DynVer doesn't respect tags with build metadata in them. SemVer tags with a + in them completely break DynVer.

Metadata SemVer tags

Input: v1.2.3+foo Expected Result: Ignore tag or Valid SemVer version (maybe use v1.2.3-13dcda87+foo.0 instead?) Actual Result: Invalid SemVer version v1.2.3+foo+0-13dcda87 sbt crash/stacktrace

[error] scala.MatchError: v1.2.3+foo+0-13dcda87 (of class java.lang.String)
[error]         at sbtdynver.GitDescribeOutput$.parse(DynVerPlugin.scala:116)
[error]         at sbtdynver.DynVer.$anonfun$getGitDescribeOutput$3(DynVerPlugin.scala:167)
[error]         at scala.Option.map(Option.scala:146)
[error]         at sbtdynver.DynVer.getGitDescribeOutput(DynVerPlugin.scala:167)
[error]         at sbtdynver.DynVerPlugin$.$anonfun$buildSettings$7(DynVerPlugin.scala:44)
[error]         at scala.Function1.$anonfun$compose$1(Function1.scala:44)
[error]         at sbt.internal.util.EvaluateSettings$MixedNode.evaluate0(INode.scala:221)
[error]         at sbt.internal.util.EvaluateSettings$INode.evaluate(INode.scala:164)
[error]         at sbt.internal.util.EvaluateSettings.$anonfun$submitEvaluate$1(INode.scala:87)
[error]         at sbt.internal.util.EvaluateSettings.sbt$internal$util$EvaluateSettings$$run0(INode.scala:98)
[error]         at sbt.internal.util.EvaluateSettings$$anon$3.run(INode.scala:94)
[error]         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
[error]         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[error]         at java.base/java.lang.Thread.run(Thread.java:844)
[error] scala.MatchError: v1.2.3+foo+0-13dcda87 (of class java.lang.String)
[error] Use 'last' for the full log.

apeschel avatar Mar 19 '19 17:03 apeschel

Ouch! Sorry about that. Is this something you'd like to send a fix for? I don't know if I'll have time to get to it in the immediate future.

dwijnand avatar Mar 19 '19 18:03 dwijnand

I'll try to come up with a patch if I have time in the next week or so.

apeschel avatar Mar 19 '19 18:03 apeschel