playframework/playframework — pull request #2936 by jroper (2014-06-24 07:16:27+00:00)
Title: [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)