[2.3] ZipException: duplicate entry while doing sbt 'dist'

The issue is present in 2.3.0-RC1 & 2.3.0-RC2. 2.3-M1 works fine. 

(2 reports so far: https://groups.google.com/forum/#!searchin/play-framework/duplicate$20entry|sort:date/play-framework/aqje1w6KZq0/MJA0G2pb6r4J)

java.util.zip.ZipException: duplicate entry: public/lib/angularjs/i18n/angular-locale_lv.js
        at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:233)
        at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:109)
        at sbt.IO$.sbt$IO$$addFileEntry$1(IO.scala:445)
        at sbt.IO$$anonfun$sbt$IO$$writeZip$2.apply(IO.scala:454)
        at sbt.IO$$anonfun$sbt$IO$$writeZip$2.apply(IO.scala:454)
        at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
        at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
        at sbt.IO$.sbt$IO$$writeZip(IO.scala:454)
        at sbt.IO$$anonfun$archive$1.apply(IO.scala:407)
        at sbt.IO$$anonfun$archive$1.apply(IO.scala:405)
        at sbt.IO$$anonfun$withZipOutput$1.apply(IO.scala:500)
        at sbt.IO$$anonfun$withZipOutput$1.apply(IO.scala:486)
        at sbt.Using.apply(Using.scala:25)
        at sbt.IO$.withZipOutput(IO.scala:486)
        at sbt.IO$.archive(IO.scala:405)
        at sbt.IO$.jar(IO.scala:388)
        at sbt.Package$.makeJar(Package.scala:107)
        at sbt.Package$$anonfun$3$$anonfun$apply$3.apply(Package.scala:72)
        at sbt.Package$$anonfun$3$$anonfun$apply$3.apply(Package.scala:70)
        at sbt.Tracked$$anonfun$outputChanged$1.apply(Tracked.scala:57)
        at sbt.Tracked$$anonfun$outputChanged$1.apply(Tracked.scala:52)
        at sbt.Package$.apply(Package.scala:80)
        at sbt.Defaults$$anonfun$packageTask$1.apply(Defaults.scala:650)
        at sbt.Defaults$$anonfun$packageTask$1.apply(Defaults.scala:649)
        at scala.Function2$$anonfun$tupled$1.apply(Function2.scala:54)
        at scala.Function2$$anonfun$tupled$1.apply(Function2.scala:53)
        at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
        at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42)
        at sbt.std.Transform$$anon$4.work(System.scala:64)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
        at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
        at sbt.Execute.work(Execute.scala:244)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
        at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
        at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
That could also be achieved by introducing a pipeline stage that excludes it.