Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Tycho 0.16 + Jenkins + NTLM2 proxy

are you using maven-encrypted passwords?
https://bugs.eclipse.org/bugs/show_bug.cgi?id=394023

are you sure you added proxy credentials in settings.xml [1] ?

other than that you may have hit an NTLM limitation in the outdated apache httpclient 3.x still used by p2.
here is the bug to upgrade to  httpclient v4 which seems to indicate it has better support for NTLM:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=337449#c2 

in this case I suggest to ask on p2-dev@xxxxxxxxxxx for any hints.

Regards
Jan

[1] http://maven.apache.org/settings.html#Proxies 



From: tycho-user-bounces@xxxxxxxxxxx [mailto:tycho-user-bounces@xxxxxxxxxxx] On Behalf Of Girard-reydet, Vincent
Sent: Montag, 18. Februar 2013 16:07
To: tycho-user@xxxxxxxxxxx
Subject: [tycho-user] Tycho 0.16 + Jenkins + NTLM2 proxy

Hi folks,

I'm struggling to configure a Maven build using Tycho on Jenkins behind my company's proxy. I have a set of modules that build perfectly well from the console (I just rebuilt everything using a fresh m2 repo and the build is completely successful). Now I' trying to automate it with Jenkins (see the full env spec at the end of the email). I have configured a Maven build in Jenkins. For the local and global settings, I'm pointing at the exact same settings file I'm using in the console. This settings file contains the proxy definition, with the username, password and everything (and working fine in console). The build is using a private Maven repo.
For my build, I'm using a target platform file (NOT using p2 repositories in the pom.xml), as per the below. This platform is resolved OK when building in console.

The Jenkins build uses correctly the proxy information to download all Maven plugins (including Tycho plugins). However, when Tycho starts resolving the platform, it somehow fails to collect the proxy information (which it should since TYCHO-279 is now closed). I tried all the workarounds described to circumvene TYCHO-279 (using the ECF proxy properties), I tried also using a Nexus repo, nothing worked. I'm a bit screwed new, it seems to be somehow Jenkins-specific but I don't' have a clue what's going on.

Would someone be able to help me investigate the problem?

Environment spec:
- Windows 7
- NTLM2 proxy
- Maven 3.0.4
- JDK 1.6.39 x86_64
- Jenkins v1.501 (out of the box install, running as a Windows service)
- Tycho v0.16

Platform configuration in parent pom:

      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>target-platform-configuration</artifactId>
        <version>${tycho.version}</version>
        <configuration>
         <target>
          <artifact>
             <groupId>FAKE_GROUP_ID</groupId>
             <artifactId>target</artifactId>
             <version>1.0.0</version>
             <classifier>indigo</classifier>
          </artifact>
         </target>
          <environments>
            <environment>
              <os>win32</os>
              <ws>win32</ws>
              <arch>x86</arch>
            </environment>
            <environment>
              <os>win32</os>
              <ws>win32</ws>
              <arch>x86_64</arch>
            </environment>
          </environments>
        </configuration>
      </plugin>

Platform definition :
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.6"?>

<target name="indigo" sequenceNumber="14">
<locations>
<location includeAllPlatforms="false" includeMode="slicer" includeSource="false" type="InstallableUnit">
<unit id="org.eclipse.equinox.server.servletbridge.feature.group" version="1.0.100.v20110502-42DF9oB5865K5D"/>
<repository location="http://download.eclipse.org/eclipse/updates/3.7"/>
</location>
<location includeAllPlatforms="false" includeMode="slicer" includeSource="false" type="InstallableUnit">
<unit id="org.eclipse.ajdt.feature.group" version="2.2.0.e37x-RELEASE-20120704-0900"/>
<unit id="org.eclipse.equinox.weaving.sdk.feature.group" version="1.0.200.I20120427-0800"/>
<repository location="http://download.eclipse.org/tools/ajdt/37/update"/>
</location>
<location includeAllPlatforms="false" includeMode="slicer" includeSource="false" type="InstallableUnit">
<unit id="org.eclipse.sdk.ide" version="3.7.2.M20120208-0800"/>
<unit id="org.eclipse.emf.ecore.feature.group" version="2.7.1.v20120127-1122"/>
<unit id="org.eclipse.emf.sdk.feature.group" version="2.7.2.v20120130-0943"/>
<unit id="org.eclipse.emf.compare.feature.group" version="1.2.2.v20120214-0915"/>
<unit id="org.eclipse.emf.query.feature.group" version="1.5.0.v20110502-1600-218Z7w311A142A1142"/>
<unit id="org.eclipse.draw2d.feature.group" version="3.7.2.v20110927-2020-4617w3122212803131"/>
<unit id="org.eclipse.xsd.sdk.feature.group" version="2.7.1.v20120130-0943"/>
<unit id="org.eclipse.objectteams.otequinox.feature.group" version="2.0.2.201202051448"/>
<unit id="org.eclipse.equinox.sdk.feature.group" version="3.7.1.R37x_v20110907-7M7W8i8eNV4WsRkue-4Vq4J6pCyW"/>
<unit id="javax.transaction" version="1.1.1.v201105210645"/>

<unit id="org.eclipse.equinox.executable.feature.group" version="3.5.0.v20110530-7P7NFUFFLWUl76mart"/>  
<unit id="org.eclipse.jdt.feature.group" version="3.7.1.r371_v20110810-0800-7z8gFcoFMLfTabvKsR5Qm9rBGEBK"/>
<unit id="org.eclipse.rcp.sdk.id" version="3.7.1.M20110909-1335"/>

<repository location="http://download.eclipse.org/releases/indigo"/>
</location>
</locations>
<environment>
<arch>x86</arch>
</environment>
</target>

Error log in Jenkins (no error when building from console):

Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/mojo/aspectj-maven-plugin/1.3/aspectj-maven-plugin-1.3.jar (37 KB at 63.6 KB/sec)
[INFO] Computing target platform for MavenProject: <MODULE_ID_HIDDEN>:1.0.0-SNAPSHOT @ C:\jenkins_workspace\test\<MODULE_ID_HIDDEN>\pom.xml
18-Feb-2013 12:30:08 org.apache.commons.httpclient.auth.AuthChallengeProcessor selectAuthScheme
INFO: ntlm authentication scheme selected
18-Feb-2013 12:30:08 org.apache.commons.httpclient.HttpMethodDirector processProxyAuthChallenge
INFO: No credentials available for NTLM <any realm>@iaccess.bp.com:80
mavenExecutionResult exceptions not empty
message : Internal error: java.lang.RuntimeException: Failed to resolve target definition C:\jenkins_workspace\test\FAKE_GROUP_ID\indigo.target
cause : Failed to resolve target definition C:\jenkins_workspace\test\FAKE_GROUP_ID\indigo.target
Stack trace : 
org.apache.maven.InternalErrorException: Internal error: java.lang.RuntimeException: Failed to resolve target definition C:\jenkins_workspace\test\FAKE_GROUP_ID\indigo.target
         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:168)
         at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
         at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
         at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)
         at hudson.maven.Maven3Builder.call(Maven3Builder.java:100)
         at hudson.maven.Maven3Builder.call(Maven3Builder.java:66)
         at hudson.remoting.UserRequest.perform(UserRequest.java:118)
         at hudson.remoting.UserRequest.perform(UserRequest.java:48)
         at hudson.remoting.Request$2.run(Request.java:326)
         at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
         at java.util.concurrent.FutureTask.run(FutureTask.java:138)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
         at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.RuntimeException: Failed to resolve target definition C:\jenkins_workspace\test\FAKE_GROUP_ID\indigo.target
         at org.eclipse.tycho.p2.resolver.P2TargetPlatformResolver.addTargetFileContentToTargetPlatform(P2TargetPlatformResolver.java:338)
         at org.eclipse.tycho.p2.resolver.P2TargetPlatformResolver.computeTargetPlatform(P2TargetPlatformResolver.java:207)
         at org.eclipse.tycho.core.resolver.DefaultTychoDependencyResolver.resolveProject(DefaultTychoDependencyResolver.java:94)
         at org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant.afterProjectsRead(TychoMavenLifecycleParticipant.java:82)
         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:274)
         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
         ... 19 more
Caused by: org.eclipse.tycho.p2.target.facade.TargetDefinitionResolutionException: Failed to load metadata repository from location http://download.eclipse.org/eclipse/updates/3.7
         at org.eclipse.tycho.p2.target.TargetDefinitionResolver.loadRepository(TargetDefinitionResolver.java:190)
         at org.eclipse.tycho.p2.target.TargetDefinitionResolver.resolveContent(TargetDefinitionResolver.java:109)
         at org.eclipse.tycho.p2.target.TargetDefinitionResolverService.resolveFromArguments(TargetDefinitionResolverService.java:64)
         at org.eclipse.tycho.p2.target.TargetDefinitionResolverService.getTargetDefinitionContent(TargetDefinitionResolverService.java:54)
         at org.eclipse.tycho.p2.target.TargetPlatformBuilderImpl.addTargetDefinition(TargetPlatformBuilderImpl.java:289)
         at org.eclipse.tycho.p2.resolver.P2TargetPlatformResolver.addTargetFileContentToTargetPlatform(P2TargetPlatformResolver.java:331)
         ... 24 more
Caused by: org.eclipse.equinox.p2.core.ProvisionException: HTTP Proxy Authentication Required: http://download.eclipse.org/eclipse/updates/3.7/content.xml
         at org.eclipse.equinox.internal.p2.repository.CacheManager.createCache(CacheManager.java:192)
         at org.eclipse.tycho.p2.remote.TychoP2RepositoryCacheManager.createCache(TychoP2RepositoryCacheManager.java:62)
         at org.eclipse.equinox.internal.p2.metadata.repository.SimpleMetadataRepositoryFactory.getLocalFile(SimpleMetadataRepositoryFactory.java:66)
         at org.eclipse.equinox.internal.p2.metadata.repository.SimpleMetadataRepositoryFactory.load(SimpleMetadataRepositoryFactory.java:88)
         at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:57)
         at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:758)
         at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:651)
         at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:96)
         at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:92)
         at org.eclipse.tycho.p2.remote.RemoteMetadataRepositoryManager.loadRepository(RemoteMetadataRepositoryManager.java:82)
         at org.eclipse.tycho.p2.target.TargetDefinitionResolver.loadRepository(TargetDefinitionResolver.java:188)
         ... 29 more
Caused by: org.eclipse.ecf.filetransfer.BrowseFileTransferException: Proxy auth required
         at org.eclipse.ecf.provider.filetransfer.browse.URLFileSystemBrowser.runRequest(URLFileSystemBrowser.java:129)
         at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
         at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
channel stopped

Output from the console (OK):

Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/mojo/aspectj-maven-plugin/1.3/aspectj-maven-plugin-1.3.jar (37 KB at 63.6 KB/sec)
[INFO] Scanning for projects...
[INFO] Computing target platform for MavenProject: <MODULE_ID_HIDDEN>:1.0.0-SNAPSHOT @ C:\git\ok\<MODULE_ID_HIDDEN>\pom.xml
18-Feb-2013 14:58:28 org.apache.commons.httpclient.auth.AuthChallengeProcessor selectAuthScheme
INFO: ntlm authentication scheme selected
18-Feb-2013 14:58:28 org.apache.commons.httpclient.HttpMethodDirector processProxyAuthChallenge
INFO: No credentials available for NTLM <any realm>@iaccess.bp.com:80
[WARNING] De-selecting bundles in a target definition file is not supported. See http://wiki.eclipse.org/Tycho_Messages_Explained#Target_File_Include_Bundles for alternatives.
[INFO] Resolving dependencies of MavenProject: <MODULE_ID_HIDDEN>:1.0.0-SNAPSHOT @ C:\git\ok\<MODULE_ID_HIDDEN>\pom.xml
[WARNING] The following locally built units have been used to resolve project dependencies:
<list of dependencies to local modules>
[INFO] Resolving class path of MavenProject: <MODULE_ID_HIDDEN>:1.0.0-SNAPSHOT @ C:\git\ok\<MODULE_ID_HIDDEN>\pom.xml
[WARNING] Dependency from C:\git\ok\<MODULE_ID_HIDDEN> to nested classpath entry C:\git\ok\<OTHER_MODULE>\icons can not be represented in Maven model and will not be visible to non-OSGi aware Maven plugins

Thank,
Vincent
Vincent Girard-Reydet - BP Gas Marketing Limited, 20 Canada Square, London, E14 5NJ
BP Gas Marketing Limited, a company registered in England and Wales with the company number 908982, VAT number GB 365 6789 95 and whose registered office is Chertsey Road, Sunbury on Thames, Middlesex, TW16 7BP
This message may contain information that is privileged or confidential. If you are not the intended recipient please delete it and inform the sender immediately. Within the bounds of law, the UK based entities in the Trading arm of the BP Group retain all emails and IMs and monitor them to ensure compliance with their internal policies and for other legitimate business purposes.



Back to the top