gradle/gradle — pull request #186 by jglick (2013-08-16 17:54:08+00:00)
Title: Use Pattern.DOTALL to ensure that newlines are handled in options.

Without this patch, if you run e.g.

gradle -Dprop=a:1\nb:2\nc:3 task

(where whatever shell you use to invoke Gradle is passing an actual newline where I wrote `\n`) Gradle gets very confused and emits a baffling error message. For example, it will complain that there is no subproject named `-Dprop=a`.

While the `bin/gradle` wrapper miraculously preserves all the newlines intact for the Java argv, command-line parsers use the regexp element `.` in various places where what is really meant is “any character”. You need to use `DOTALL` or the inline `(?s)`.