Looks like it's failing here: > com.android.build.gradle.BasePlugin.resolveDependencyForConfig(BasePlugin.groovy:1344)
Not in your static Set<ResolvedArtifact> getResolvedArtifacts(Configuration configuration) method. Might explain why the exception wasn't getting caught. On 05/09/2013, at 12:29 PM, Alex Ruiz <alr...@google.com> wrote: > Hi Adam, > > Here is the stack trace: > > org.gradle.api.ProjectConfigurationException: A problem occurred configuring > root project 'flavors'. > at > org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:79) > at > org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:74) > at > org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61) > at > org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:472) > at > org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:77) > at > org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:31) > at > org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:142) > 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.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:45) > at > org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34) > at > org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125) > at > org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:42) > at > org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125) > at > org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:24) > at > org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125) > at > org.gradle.launcher.daemon.server.exec.StartStopIfBuildAndStop.execute(StartStopIfBuildAndStop.java:33) > at > org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125) > at > org.gradle.launcher.daemon.server.exec.ReturnResult.execute(ReturnResult.java:34) > at > org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125) > at > org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:71) > at > org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:69) > at org.gradle.util.Swapper.swap(Swapper.java:38) > at > org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:69) > at > org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125) > at > org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60) > at > org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34) > at > org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125) > at > org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:59) > at > org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34) > at > org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125) > at > org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:45) > at > org.gradle.launcher.daemon.server.DaemonStateCoordinator.runCommand(DaemonStateCoordinator.java:186) > at > org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy.doBuild(StartBuildOrRespondWithBusy.java:49) > at > org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34) > at > org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125) > at > org.gradle.launcher.daemon.server.exec.HandleStop.execute(HandleStop.java:36) > at > org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125) > at > org.gradle.launcher.daemon.server.exec.CatchAndForwardDaemonFailure.execute(CatchAndForwardDaemonFailure.java:32) > at > org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125) > at > org.gradle.launcher.daemon.server.exec.DefaultDaemonCommandExecuter.executeCommand(DefaultDaemonCommandExecuter.java:48) > at > org.gradle.launcher.daemon.server.DefaultIncomingConnectionHandler$ConnectionWorker.handleCommand(DefaultIncomingConnectionHandler.java:155) > at > org.gradle.launcher.daemon.server.DefaultIncomingConnectionHandler$ConnectionWorker.receiveAndHandleCommand(DefaultIncomingConnectionHandler.java:128) > at > org.gradle.launcher.daemon.server.DefaultIncomingConnectionHandler$ConnectionWorker.run(DefaultIncomingConnectionHandler.java:116) > at > org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:66) > Caused by: org.gradle.listener.ListenerNotificationException: Failed to > notify project evaluation listener. > at > org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:90) > at > org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:30) > at > org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) > at com.sun.proxy.$Proxy15.afterEvaluate(Unknown Source) > at > org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:67) > ... 47 more > Caused by: org.gradle.api.artifacts.ResolveException: Could not resolve all > dependencies for configuration ':_F1FaDebugCompile'. > at > org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration.rethrowFailure(DefaultLenientConfiguration.java:52) > at > org.gradle.api.internal.artifacts.ivyservice.DefaultResolvedConfiguration.rethrowFailure(DefaultResolvedConfiguration.java:36) > at > org.gradle.api.internal.artifacts.ivyservice.SelfResolvingDependencyResolver$FilesAggregatingResolvedConfiguration.rethrowFailure(SelfResolvingDependencyResolver.java:106) > at > org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingArtifactDependencyResolver$ErrorHandlingResolvedConfiguration.rethrowFailure(ErrorHandlingArtifactDependencyResolver.java:74) > at > org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getFiles(DefaultConfiguration.java:465) > at > org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.getFiles(DefaultConfiguration.java:202) > at > org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated.getFiles(Unknown > Source) > at > org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.getProperty(BeanDynamicObject.java:158) > at > org.gradle.api.internal.BeanDynamicObject.getProperty(BeanDynamicObject.java:112) > at > org.gradle.api.internal.CompositeDynamicObject.getProperty(CompositeDynamicObject.java:78) > at > org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated.getProperty(Unknown > Source) > at > com.android.build.gradle.BasePlugin.resolveDependencyForConfig(BasePlugin.groovy:1344) > at > com.android.build.gradle.BasePlugin$resolveDependencyForConfig.callCurrent(Unknown > Source) > at > com.android.build.gradle.BasePlugin.resolveDependencies(BasePlugin.groovy:1264) > at > com.android.build.gradle.BasePlugin$resolveDependencies.callCurrent(Unknown > Source) > at > com.android.build.gradle.AppPlugin.createTasksForFlavoredBuild(AppPlugin.groovy:488) > at > com.android.build.gradle.AppPlugin.this$3$createTasksForFlavoredBuild(AppPlugin.groovy) > at > com.android.build.gradle.AppPlugin$this$3$createTasksForFlavoredBuild.callCurrent(Unknown > Source) > at > com.android.build.gradle.AppPlugin.createTasksForMultiFlavoredBuilds(AppPlugin.groovy:256) > at > com.android.build.gradle.AppPlugin.this$3$createTasksForMultiFlavoredBuilds(AppPlugin.groovy) > at > com.android.build.gradle.AppPlugin.createTasksForMultiFlavoredBuilds(AppPlugin.groovy:271) > at > com.android.build.gradle.AppPlugin.this$3$createTasksForMultiFlavoredBuilds(AppPlugin.groovy) > at > com.android.build.gradle.AppPlugin.createTasksForMultiFlavoredBuilds(AppPlugin.groovy:271) > at > com.android.build.gradle.AppPlugin.this$3$createTasksForMultiFlavoredBuilds(AppPlugin.groovy) > at > com.android.build.gradle.AppPlugin$this$3$createTasksForMultiFlavoredBuilds.callCurrent(Unknown > Source) > at > com.android.build.gradle.AppPlugin.doCreateAndroidTasks(AppPlugin.groovy:231) > at > com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.groovy:251) > at > com.android.build.gradle.BasePlugin$_apply_closure1.doCall(BasePlugin.groovy:199) > at > org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(ClosureBackedMethodInvocationDispatch.java:40) > at > org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(ClosureBackedMethodInvocationDispatch.java:25) > at > org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:81) > ... 51 more > Caused by: > org.gradle.api.internal.artifacts.ivyservice.ModuleVersionNotFoundException: > Could not find com.google.guava:guava:15.0.2. > Required by: > :flavors:unspecified > at > org.gradle.api.internal.artifacts.ivyservice.ivyresolve.LazyDependencyToModuleResolver$StaticVersionResolveResult.notFound(LazyDependencyToModuleResolver.java:148) > at > org.gradle.api.internal.artifacts.ivyservice.ivyresolve.LazyDependencyToModuleResolver$AbstractVersionResolveResult.resolve(LazyDependencyToModuleResolver.java:89) > at > org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder$ModuleVersionResolveState.resolve(DependencyGraphBuilder.java:644) > at > org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder$ModuleVersionResolveState.getMetaData(DependencyGraphBuilder.java:655) > at > org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder$DependencyEdge.calculateTargetConfigurations(DependencyGraphBuilder.java:336) > at > org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder$DependencyEdge.attachToTargetConfigurations(DependencyGraphBuilder.java:312) > at > org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder.traverseGraph(DependencyGraphBuilder.java:128) > at > org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder.resolve(DependencyGraphBuilder.java:68) > at > org.gradle.api.internal.artifacts.ivyservice.resolveengine.DefaultDependencyResolver$1.transform(DefaultDependencyResolver.java:101) > at > org.gradle.api.internal.artifacts.ivyservice.resolveengine.DefaultDependencyResolver$1.transform(DefaultDependencyResolver.java:71) > at > org.gradle.api.internal.artifacts.ivyservice.DefaultIvyContextManager.withIvy(DefaultIvyContextManager.java:61) > at > org.gradle.api.internal.artifacts.ivyservice.resolveengine.DefaultDependencyResolver.resolve(DefaultDependencyResolver.java:71) > at > org.gradle.api.internal.artifacts.ivyservice.CacheLockingArtifactDependencyResolver$1.create(CacheLockingArtifactDependencyResolver.java:39) > at > org.gradle.api.internal.artifacts.ivyservice.CacheLockingArtifactDependencyResolver$1.create(CacheLockingArtifactDependencyResolver.java:37) > at > org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:143) > at > org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:130) > at > org.gradle.api.internal.artifacts.ivyservice.DefaultCacheLockingManager.useCache(DefaultCacheLockingManager.java:54) > at > org.gradle.api.internal.artifacts.ivyservice.CacheLockingArtifactDependencyResolver.resolve(CacheLockingArtifactDependencyResolver.java:37) > at > org.gradle.api.internal.artifacts.ivyservice.SelfResolvingDependencyResolver.resolve(SelfResolvingDependencyResolver.java:41) > at > org.gradle.api.internal.artifacts.ivyservice.ShortcircuitEmptyConfigsArtifactDependencyResolver.resolve(ShortcircuitEmptyConfigsArtifactDependencyResolver.java:46) > at > org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingArtifactDependencyResolver.resolve(ErrorHandlingArtifactDependencyResolver.java:39) > at > org.gradle.api.internal.artifacts.ivyservice.DefaultConfigurationResolver.resolve(DefaultConfigurationResolver.java:42) > at > org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveNow(DefaultConfiguration.java:240) > at > org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.getResolvedConfiguration(DefaultConfiguration.java:230) > at > org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated.getResolvedConfiguration(Unknown > Source) > at > com.android.build.gradle.GroovyHelper.getResolvedArtifacts(GroovyHelper.java:22) > at > com.android.build.gradle.BasePlugin.collectArtifacts(BasePlugin.groovy:1379) > at > com.android.build.gradle.BasePlugin$collectArtifacts.callStatic(Unknown > Source) > at > com.android.build.gradle.BasePlugin.resolveDependencyForConfig(BasePlugin.groovy:1314) > ... 70 more > > > > On Wed, Sep 4, 2013 at 6:47 PM, Adam Murdoch <adam.murd...@gradleware.com> > wrote: > > On 05/09/2013, at 10:38 AM, Alex Ruiz <alr...@google.com> wrote: > >> Hey Szczepan, I tried that already (calling getLenientConfiguration()) but >> it throws exception at getResolvedConfiguration(). >> >> In my original e-mail I forgot to mention that it doesn't even get to >> getResolvedArtifacts(), getResolvedConfiguration() is the one throwing the >> exception. > > What's the actual exception? Do you have a stack trace? > > >> >> >> On Wed, Sep 4, 2013 at 4:31 PM, Szczepan Faber >> <szczepan.fa...@gradleware.com> wrote: >> Hey! >> >> >throws an exception if a dependency cannot be resolved. >> >> getResolvedConfiguration() should not throw an exception if some dependency >> cannot be resolved. It is, however, thrown when you try to access artifacts >> via getResolvedArtifacts() >> >> Not sure what's the deal with try/catch issue, never heard about such >> problem. >> >> Take a look at getResolvedConfiguration().getLenientConfiguration() method - >> might be useful for your use case :) >> >> Cheers! >> >> >> On Wed, Sep 4, 2013 at 11:55 PM, Alex Ruiz <alr...@google.com> wrote: >> We tried this with Gradle 1.6 and 1.8. >> >> >> On Wed, Sep 4, 2013 at 2:54 PM, Alex Ruiz <alr...@google.com> wrote: >> Greetings, >> >> We are making changes in the Android Gradle plug-in to allow project import >> continue even if dependencies are not being resolved. From a stack trace we >> found that the method: >> >> org.gradle.api.artifacts.Configuration.getResolvedConfiguation() >> >> throws an exception if a dependency cannot be resolved. So, I try to put >> that line of code in a try/catch block, in its own method, like this (this >> is inside a Groovy class, BTW): >> >> static Set<ResolvedArtifact> getResolvedArtifacts(Configuration >> configuration) { >> try { >> return >> configuration.getResolvedConfiguration().getResolvedArtifacts(); >> } catch (Throwable t) { >> return new HashSet<ResolvedArtifact>(); >> } >> } >> >> The problem is that, even there is a try/catch block, the exception is being >> thrown anyway and never caught! >> >> Xav reported a similar issue, but he was able to work around it by moving >> code to Java. We tried the same thing, we moved the method to a Java class, >> and the exception is still not being caught! >> >> This is so weird (probably Groovy magic?) >> >> Is there a way to get around this? >> >> Many thanks, >> -Alex >> >> >> >> >> >> >> -- >> Szczepan Faber >> core dev@gradle; lead@mockito >> Join me at the Gradle eXchange 2013, Oct 28th in London: >> http://skillsmatter.com/event/java-jee/gradle-exchange-2013 >> > > > -- > Adam Murdoch > Gradle Co-founder > http://www.gradle.org > VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting > http://www.gradleware.com > > Join us at the Gradle eXchange 2013, Oct 28th in London, UK: > http://skillsmatter.com/event/java-jee/gradle-exchange-2013 > > > > -- Adam Murdoch Gradle Co-founder http://www.gradle.org VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting http://www.gradleware.com Join us at the Gradle eXchange 2013, Oct 28th in London, UK: http://skillsmatter.com/event/java-jee/gradle-exchange-2013