summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorstusmall <stuart.alan.small@gmail.com>2015-08-02 20:31:15 -0600
committerstusmall <stuart.alan.small@gmail.com>2015-08-07 23:52:17 -0600
commitcb8d924ab894cb3fb2b0e6cfe2fc41afc0b52457 (patch)
tree3d20be55d792d4d3fda4f8ae2906b9b0e58b65e4 /src/compiler
parenta745f06e35e070061348e95725afb0def8ca45de (diff)
downloadscala-cb8d924ab894cb3fb2b0e6cfe2fc41afc0b52457.tar.gz
scala-cb8d924ab894cb3fb2b0e6cfe2fc41afc0b52457.tar.bz2
scala-cb8d924ab894cb3fb2b0e6cfe2fc41afc0b52457.zip
SI-3623 Improved error message for "filename too long" build errors
When building on ecryptfs filenames can be limited to ~142 characters. This limit doesn't take long to hit and can leave the the user with a hard to diagnosis error message. Some legacy file systems will have similarly small limits. This just adds a hint that the error might be related to the underlying fs.
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/GenASM.scala4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/GenASM.scala b/src/compiler/scala/tools/nsc/backend/jvm/GenASM.scala
index a34ab914ef..fca0582539 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/GenASM.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/GenASM.scala
@@ -532,6 +532,10 @@ abstract class GenASM extends SubComponent with BytecodeWriters { self =>
case e: java.lang.RuntimeException if e.getMessage != null && (e.getMessage contains "too large!") =>
reporter.error(sym.pos,
s"Could not write class $jclassName because it exceeds JVM code size limits. ${e.getMessage}")
+ case e: java.io.IOException if e.getMessage != null && (e.getMessage contains "File name too long") =>
+ reporter.error(sym.pos, e.getMessage + "\n" +
+ "This can happen on some encrypted or legacy file systems. Please see SI-3623 for more details.")
+
}
}