Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[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