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



Reply via email to