title: Gradle failed to build when proguard is activated
body: <p>I am trying to release my Android application with Gradle.</p>
  
  <p>Everything works, including the <code>./gradlew clean build assembleRelease</code> command.</p>
  
  <p>However, as soon as I try to use proguard, Gradle fail to build the release version.</p>
  
  <p>Here is the error I get (stack trace activated):</p>
  
  <pre><code>...
  :OSkin:validateDebugSigning
  :OSkin:packageDebug
  :OSkin:assembleDebug
  :OSkin:prepareReleaseDependencies
  :OSkin:compileReleaseAidl
  :OSkin:generateReleaseBuildConfig
  :OSkin:mergeReleaseAssets
  :OSkin:compileReleaseRenderscript
  :OSkin:mergeReleaseResources
  :OSkin:processReleaseManifest
  :OSkin:processReleaseResources
  :OSkin:compileRelease UP-TO-DATE
  :OSkin:proguardRelease
  ProGuard, version 4.9
  Reading input...
  Reading program directory [/home/geantvert/workspace/OSkinProject/OSkin/build/classes/release]
  :OSkin:proguardRelease FAILED
  
  FAILURE: Build failed with an exception.
  
  * What went wrong:
  Execution failed for task ':OSkin:proguardRelease'.
  &gt; Can't read [/home/geantvert/workspace/OSkinProject/OSkin/build/classes/release] (No such file or directory)
  
  * Try:
  Run with --info or --debug option to get more log output.
  
  * Exception is:
  org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':OSkin:proguardRelease'.
      at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
      at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
      at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
      at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
      at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
      at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
      at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
      at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
      at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
      at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:286)
      at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:80)
      at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
      at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTaskWithCacheLock(AbstractTaskPlanExecutor.java:58)
      at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:47)
      at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$1.run(DefaultTaskPlanExecutor.java:33)
      at org.gradle.internal.Factories$1.create(Factories.java:22)
      at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:214)
      at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:276)
      at org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:142)
      at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.longRunningOperation(DefaultTaskArtifactStateCacheAccess.java:78)
      at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:31)
      at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:89)
      at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
      at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
      at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
      at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67)
      at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
      at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
      at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54)
      at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:166)
      at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113)
      at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:81)
      at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:64)
      at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
      at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
      at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:35)
      at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
      at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50)
      at org.gradle.api.internal.Actions$RunnableActionAdapter.execute(Actions.java:171)
      at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:201)
      at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:174)
      at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:170)
      at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:139)
      at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
      at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
      at org.gradle.launcher.Main.doAction(Main.java:48)
      at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
      at org.gradle.launcher.Main.main(Main.java:39)
      at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50)
      at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:32)
      at org.gradle.launcher.GradleMain.main(GradleMain.java:26)
      at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:33)
      at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:130)
      at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
  Caused by: java.io.IOException: Can't read [/home/geantvert/workspace/OSkinProject/OSkin/build/classes/release] (No such file or directory)
      at proguard.InputReader.readInput(InputReader.java:230)
      at proguard.InputReader.readInput(InputReader.java:200)
      at proguard.InputReader.readInput(InputReader.java:178)
      at proguard.InputReader.execute(InputReader.java:78)
      at proguard.ProGuard.readInput(ProGuard.java:197)
      at proguard.ProGuard.execute(ProGuard.java:79)
      at proguard.gradle.ProGuardTask.proguard(ProGuardTask.java:958)
      at org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:248)
      at org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:136)
      at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:147)
      at proguard.gradle.ProGuardTask_Decorated.invokeMethod(Unknown Source)
      at org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:248)
      at org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:136)
      at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:147)
      at proguard.gradle.ProGuardTask_Decorated.invokeMethod(Unknown Source)
      at org.gradle.util.ReflectionUtil.invoke(ReflectionUtil.groovy:23)
      at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:220)
      at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:213)
      at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:202)
      at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:530)
      at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:513)
      at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
      at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
      ... 53 more
  Caused by: java.io.IOException: No such file or directory
      at proguard.io.DirectoryPump.pumpDataEntries(DirectoryPump.java:50)
      at proguard.InputReader.readInput(InputReader.java:226)
      ... 75 more
  
  
  BUILD FAILED
  
  Total time: 42.363 secs
  </code></pre>
  
  <p>Here is my gradle file:</p>
  
  <pre><code>buildscript {
      repositories {
          mavenCentral()
  
      }
      dependencies {
          classpath 'com.android.tools.build:gradle:0.5.+'
      }
  }
  apply plugin: 'android'
  
  repositories {
      mavenCentral()
      maven {
          url 'http://www.bugsense.com/gradle/'
      }
  }
  
  dependencies {
      compile fileTree(dir: 'libs', include: '*.jar')
  
      compile 'com.google.guava:guava:14.+'
      compile 'com.google.code.gson:gson:2.+'
      compile 'org.zeroturnaround:zt-zip:1.+'
      compile 'com.github.japgolly.android:svg-android:2.+'
      compile('de.keyboardsurfer.android.widget:crouton:1.8.1') {
          exclude module: 'support-v4'
          compile 'com.android.support:support-v4:18.+'
      }
      compile 'com.squareup:otto:1.3.4'
      compile 'com.squareup.okhttp:okhttp:1.2.+'
      compile 'com.squareup.picasso:picasso:1+'
      compile 'com.bugsense.trace:bugsense:3.5'
  
      //Google Drive SDK
      compile 'com.google.android.gms:play-services:3.+'
      compile 'com.google.apis:google-api-services-drive:v2+'
  
      compile('com.google.api-client:google-api-client:1.+') {
          exclude(group: 'xpp3', module: 'xpp3')
          exclude(group: 'org.apache.httpcomponents', module: 'httpclient')
          exclude(group: 'junit', module: 'junit')
          exclude(group: 'com.google.android', module: 'android')
      }
      compile('com.google.api-client:google-api-client-android:1.+') {
          exclude group: 'xpp3'
          exclude group: 'com.google.android.google-play-services'
      }
      compile('com.google.http-client:google-http-client-jackson:1.+') {
          exclude group: 'xpp3'
      }
      compile('com.google.http-client:google-http-client-gson:1.+') {
          exclude group: 'xpp3'
      }
  
      compile 'com.google.apis:google-api-services-plus:v1+'
  
      compile 'com.netflix.rxjava:rxjava-android:+'
  
      compile('com.github.frankiesardo:icepick:2+') {
          exclude module: 'support-v4'
          compile 'com.android.support:support-v4:18.+'
      }
  
  //    compile (group: 'com.google.apis', name: 'google-api-services-youtube', version: 'v3-rev56-1.15.0-rc')
  }
  
  android {
      compileSdkVersion 18
      buildToolsVersion "18.0.1"
  
      defaultConfig {
          minSdkVersion 14
          targetSdkVersion 18
      }
      signingConfigs {
          release {
                      storeFile file('path_to_file')
                      storePassword '***'
                      keyAlias '***'
                      keyPassword '***'
                  }
      }
  
      buildTypes
              {
                  release {
                      runProguard true
                      proguardFile getDefaultProguardFile('proguard-android.txt')
                      proguardFile 'proguard-project.txt'
                      signingConfig signingConfigs.release 
                 }
              }
  }
  </code></pre>
  
  <p>Does anyone has an idea of what is the issue?</p>
  
  <p>Regards</p>
  
  <p>Edit: <code>./gradlew clean assembleDebug</code> works perfectly! and <code>./gradlew clean build assembleRelease</code> works if runProguard is set to off. So it's a 100% proGuard issue.</p>