Are you able to share the exact code? 

I think I know what this is but need to see the code.

On 07/08/2013, at 1:51, Xavier Ducrohet <x...@google.com> wrote:

> I just encountered something very very strange in 1.7.
> 
> I rarely run this code, but I ran it on 1.6 with no issue. I'm trying to run 
> it with 1.7 (to update some of our local prebuilts to update to 1.7) and it's 
> failing with something that makes no sense.
> 
> I have a Groovy class that extends DefaultTask and looks something like this:
> 
> class DownloadArtifactsTask extends DefaultTask {
>   @TaskAction
>   void something() {
>     pullArtifact(...);
>   }
> 
>   private void pullArtifact(...) {
>     try {
>       downloadFile(...)
>     } catch (IOException e2) {
>       // ignore
>     }
>   }
> 
>   private File downloadFile(...) throws IOException {
>     if (...) {
>       throw new IOException(...);
>     }
>   }
> }
> 
> 
> What happens is that when downloadFile throws an IOException, it's not caught 
> in pullArtifact. I was really confused at first. So I put a catch on 
> Throwable, and noticed that my original exception was encapsulated in a 
> GradleException.
> 
> Nothing in my code does this obviously. The stack trace looks like this:
> 
> org.gradle.api.GradleException: Could not call 
> DownloadArtifactsTask.downloadFile() on task ':downloadArtifacts'
>       at org.gradle.util.JavaMethod.invoke(JavaMethod.java:69)
>       at 
> org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:295)
>       at 
> org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:136)
>       at 
> org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:147)
>       at 
> com.android.build.gradle.buildsrc.DownloadArtifactsTask_Decorated.invokeMethod(Unknown
>  Source)
>       at 
> org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:45)
>       at 
> org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:55)
>       at 
> com.android.build.gradle.buildsrc.DownloadArtifactsTask.pullArtifact(DownloadArtifactsTask.groovy:204)
>         ....
> Caused by: java.io.FileNotFoundException: http://xxx
>       at 
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1434)
>       at java.net.URL.openStream(URL.java:1010)
>       at org.apache.commons.io.FileUtils.copyURLToFile(FileUtils.java:844)
>       at org.apache.commons.io.FileUtils$copyURLToFile.call(Unknown Source)
>       at 
> com.android.build.gradle.buildsrc.DownloadArtifactsTask.downloadFile(DownloadArtifactsTask.groovy:256)
> 
> 
> DownloadArtifactsTask.groovy:204 is where downloadFile() is called.
> 
> Anyone has a clue?

Reply via email to