Gradle
  1. Gradle
  2. GRADLE-2003

With transition to httpclient library the proxy settings are not picked up anymore

    Details

    • Type: Bug Bug
    • Status: Resolved Resolved
    • Resolution: Fixed
    • Affects Version/s: 1.0-milestone-6
    • Fix Version/s: 1.0-milestone-7

      Description

      With 1.0-milestone-6 I cannot anymore access remote repos (e.g. mavenCentral()) residing behind corporate proxy, though $HOME/.gradle/gradle.properties are configured as per http://gradle.org/releases/1.0-milestone-6/docs/userguide/tutorial_this_and_that.html#sec:accessing_the_web_via_a_proxy and are working correctly with latest release (Gradle 0.9.2).

      With 1.0-milestone-6 on samples/java/multiproject sample project comming with '-all' bundle I get:

      Build log
      :buildSrc:clean
      :buildSrc:compileJava
      :buildSrc:compileGroovy UP-TO-DATE
      :buildSrc:processResources UP-TO-DATE
      :buildSrc:classes
      :buildSrc:jar
      :buildSrc:assemble
      :buildSrc:compileTestJava
      
      FAILURE: Build failed with an exception.
      
      * What went wrong:
      Could not resolve group:junit, module:junit, version:4.8.2.
      Required by:
          :buildSrc:unspecified
      Cause: java.lang.reflect.UndeclaredThrowableException (no error message)
      
      * Try:
      Run with --info or --debug option to get more log output.
      
      * Exception is:
      org.gradle.api.internal.artifacts.ivyservice.ModuleVersionResolveException: Could not resolve group:junit, module:junit, version:4.8.2.
      Required by:
          :buildSrc:unspecified
              at org.gradle.api.internal.artifacts.ivyservice.IvyResolverBackedDependencyToModuleResolver$DefaultModuleVersionResolver.getDescriptor(IvyResolverBackedDependencyToModuleResolver.java:82)
              at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder$ModuleVersionSelectorResolveState.resolve(DependencyGraphBuilder.java:559)
              at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder$DependencyResolvePath.resolveMetaData(DependencyGraphBuilder.java:649)
              at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder.traverseGraph(DependencyGraphBuilder.java:130)
              at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder.resolve(DependencyGraphBuilder.java:58)
              at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DefaultDependencyResolver.resolve(DefaultDependencyResolver.java:69)
              at org.gradle.api.internal.artifacts.ivyservice.CacheLockingArtifactDependencyResolver$1.call(CacheLockingArtifactDependencyResolver.java:37)
              at org.gradle.api.internal.artifacts.ivyservice.CacheLockingArtifactDependencyResolver$1.call(CacheLockingArtifactDependencyResolver.java:35)
              at org.gradle.api.internal.artifacts.ivyservice.DefaultCacheLockingManager.withCacheLock(DefaultCacheLockingManager.java:54)
              at org.gradle.api.internal.artifacts.ivyservice.CacheLockingArtifactDependencyResolver.resolve(CacheLockingArtifactDependencyResolver.java:35)
              at org.gradle.api.internal.artifacts.ivyservice.SelfResolvingDependencyResolver.resolve(SelfResolvingDependencyResolver.java:42)
              at org.gradle.api.internal.artifacts.ivyservice.ShortcircuitEmptyConfigsArtifactDependencyResolver.resolve(ShortcircuitEmptyConfigsArtifactDependencyResolver.java:78)
              at org.gradle.api.internal.artifacts.ivyservice.EventBroadcastingArtifactDependencyResolver.resolve(EventBroadcastingArtifactDependencyResolver.java:37)
              at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingArtifactDependencyResolver.resolve(ErrorHandlingArtifactDependencyResolver.java:36)
              at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.getResolvedConfiguration(DefaultConfiguration.java:234)
              at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated.getResolvedConfiguration(Unknown Source)
              at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getFiles(DefaultConfiguration.java:493)
              at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.getFiles(DefaultConfiguration.java:204)
              at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated.getFiles(Unknown Source)
              at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext$FileTreeConverter.convertInto(DefaultFileCollectionResolveContext.java:187)
              at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.doResolve(DefaultFileCollectionResolveContext.java:102)
              at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.resolveAsFileTrees(DefaultFileCollectionResolveContext.java:74)
              at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext$FileTreeConverter.convertInto(DefaultFileCollectionResolveContext.java:178)
              at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.doResolve(DefaultFileCollectionResolveContext.java:97)
              at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.resolveAsFileTrees(DefaultFileCollectionResolveContext.java:74)
              at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext$FileTreeConverter.convertInto(DefaultFileCollectionResolveContext.java:178)
              at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.doResolve(DefaultFileCollectionResolveContext.java:97)
              at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.resolveAsFileTrees(DefaultFileCollectionResolveContext.java:74)
              at org.gradle.api.internal.file.CompositeFileCollection$1.resolve(CompositeFileCollection.java:88)
              at org.gradle.api.internal.file.CompositeFileCollection.getSourceCollections(CompositeFileCollection.java:143)
              at org.gradle.api.internal.file.CompositeFileTree.getSourceCollections(CompositeFileTree.java:30)
              at org.gradle.api.internal.file.CompositeFileCollection.getFiles(CompositeFileCollection.java:38)
              at org.gradle.api.internal.file.AbstractFileCollection.iterator(AbstractFileCollection.java:60)
              at org.gradle.api.internal.changedetection.DefaultFileSnapshotter.snapshot(DefaultFileSnapshotter.java:42)
              at org.gradle.api.internal.changedetection.InputFilesChangedUpToDateRule.create(InputFilesChangedUpToDateRule.java:35)
              at org.gradle.api.internal.changedetection.CompositeUpToDateRule.create(CompositeUpToDateRule.java:35)
              at org.gradle.api.internal.changedetection.DefaultTaskArtifactStateRepository$HistoricExecution.calcCurrentState(DefaultTaskArtifactStateRepository.java:80)
              at org.gradle.api.internal.changedetection.DefaultTaskArtifactStateRepository$HistoricExecution.isUpToDate(DefaultTaskArtifactStateRepository.java:88)
              at org.gradle.api.internal.changedetection.DefaultTaskArtifactStateRepository$TaskArtifactStateImpl.isUpToDate(DefaultTaskArtifactStateRepository.java:128)
              at org.gradle.api.internal.changedetection.ShortCircuitTaskArtifactStateRepository$ShortCircuitArtifactState.isUpToDate(ShortCircuitTaskArtifactStateRepository.java:77)
              at org.gradle.api.internal.changedetection.FileCacheBroadcastTaskArtifactStateRepository$1.isUpToDate(FileCacheBroadcastTaskArtifactStateRepository.java:37)
              at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:44)
              at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:57)
              at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:41)
              at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51)
              at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:52)
              at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:42)
              at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:243)
              at org.gradle.execution.DefaultTaskGraphExecuter.executeTask(DefaultTaskGraphExecuter.java:192)
              at org.gradle.execution.DefaultTaskGraphExecuter.doExecute(DefaultTaskGraphExecuter.java:177)
              at org.gradle.execution.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:83)
              at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:36)
              at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:70)
              at org.gradle.execution.DefaultBuildExecuter.access$300(DefaultBuildExecuter.java:23)
              at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:80)
              at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
              at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:70)
              at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:63)
              at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:157)
              at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:112)
              at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:80)
              at org.gradle.initialization.BuildSourceBuilder.createBuildSourceClasspath(BuildSourceBuilder.java:92)
              at org.gradle.initialization.BuildSourceBuilder.buildAndCreateClassLoader(BuildSourceBuilder.java:57)
              at org.gradle.initialization.SettingsHandler.findSettingsAndLoadIfAppropriate(SettingsHandler.java:84)
              at org.gradle.initialization.SettingsHandler.findAndLoadSettings(SettingsHandler.java:46)
              at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:133)
              at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:112)
              at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:80)
              at org.gradle.launcher.cli.RunBuildAction.execute(RunBuildAction.java:42)
              at org.gradle.launcher.cli.RunBuildAction.execute(RunBuildAction.java:28)
              at org.gradle.launcher.exec.ExceptionReportingAction.execute(ExceptionReportingAction.java:32)
              at org.gradle.launcher.exec.ExceptionReportingAction.execute(ExceptionReportingAction.java:21)
              at org.gradle.launcher.cli.CommandLineActionFactory$WithLoggingAction.execute(CommandLineActionFactory.java:233)
              at org.gradle.launcher.cli.CommandLineActionFactory$WithLoggingAction.execute(CommandLineActionFactory.java:217)
              at org.gradle.launcher.Main.doAction(Main.java:48)
              at org.gradle.launcher.exec.EntryPoint$1.execute(EntryPoint.java:53)
              at org.gradle.launcher.exec.EntryPoint$1.execute(EntryPoint.java:51)
              at org.gradle.launcher.exec.Execution.execute(Execution.java:28)
              at org.gradle.launcher.exec.EntryPoint.run(EntryPoint.java:39)
              at org.gradle.launcher.Main.main(Main.java:39)
              at org.gradle.launcher.ProcessBootstrap.runNoExit(ProcessBootstrap.java:51)
              at org.gradle.launcher.ProcessBootstrap.run(ProcessBootstrap.java:33)
              at org.gradle.launcher.GradleMain.main(GradleMain.java:24)
      Caused by: java.lang.reflect.UndeclaredThrowableException
              at $Proxy33.exists(Unknown Source)
              at org.apache.ivy.plugins.resolver.RepositoryResolver.findResourceUsingPattern(RepositoryResolver.java:97)
              at org.apache.ivy.plugins.resolver.AbstractPatternsBasedResolver.findResourceUsingPatterns(AbstractPatternsBasedResolver.java:93)
              at org.apache.ivy.plugins.resolver.IBiblioResolver.findIvyFileRef(IBiblioResolver.java:102)
              at org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:223)
              at org.apache.ivy.plugins.resolver.IBiblioResolver.getDependency(IBiblioResolver.java:503)
              at org.gradle.api.internal.artifacts.repositories.MavenResolver.getDependency(MavenResolver.java:50)
              at org.gradle.api.internal.artifacts.ivyservice.UserResolverChain$ModuleResolution.resolveModule(UserResolverChain.java:326)
              at org.gradle.api.internal.artifacts.ivyservice.UserResolverChain.resolveLatestModule(UserResolverChain.java:110)
              at org.gradle.api.internal.artifacts.ivyservice.UserResolverChain.getDependency(UserResolverChain.java:74)
              at org.gradle.api.internal.artifacts.ivyservice.TopLeveResolverChain.getDependency(TopLeveResolverChain.java:60)
              at org.gradle.api.internal.artifacts.ivyservice.IvyResolverBackedDependencyToModuleResolver$DefaultModuleVersionResolver.getDescriptor(IvyResolverBackedDependencyToModuleResolver.java:79)
              ... 82 more
      Caused by: java.net.ConnectException: Connection timed out: connect
              at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
              at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122)
              at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
              at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
              at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
              at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
              at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
              at org.gradle.api.internal.artifacts.repositories.CommonsHttpClientBackedRepository$LazyResourceInvocationHandler.init(CommonsHttpClientBackedRepository.java:186)
              at org.gradle.api.internal.artifacts.repositories.CommonsHttpClientBackedRepository$LazyResourceInvocationHandler.invoke(CommonsHttpClientBackedRepository.java:179)
              ... 94 more
      
      
      BUILD FAILED
      
      Total time: 26.001 secs
      

      I.e. based on :

      root cause
      Caused by: java.net.ConnectException: Connection timed out: connect
              at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
              at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122)
              at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
              at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
              at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
              at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
              at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
              at org.gradle.api.internal.artifacts.repositories.CommonsHttpClientBackedRepository$LazyResourceInvocationHandler.init(CommonsHttpClientBackedRepository.java:186)
              at org.gradle.api.internal.artifacts.repositories.CommonsHttpClientBackedRepository$LazyResourceInvocationHandler.invoke(CommonsHttpClientBackedRepository.java:179)
              ... 94 more
      

      it looks like httpclient used by Gradle is not properly configured using system properties which in turn are automagically picked up only by java.net.URL instances (not used by httpclient).

      Some relevant discussion can be found here: http://www.mail-archive.com/httpclient-user@jakarta.apache.org/msg02586.html

        Issue Links

          Activity

          There are no comments yet on this issue.

            People

            • Assignee:
              Unassigned
              Reporter:
              Dmitry Kozlov
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: