Uploaded image for project: 'Nutch'
  1. Nutch
  2. NUTCH-2669

Reliable solution for javax.ws packaging.type



    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 2.4, 1.16
    • 1.18
    • build
    • None


      The upgrade of Tika to v1.19.1 (NUTCH-2651, NUTCH-2665, NUTCH-2667) raises an ant/ivy issue during build when resolving/fetching dependencies:

      [ivy:resolve] 		[FAILED     ] javax.ws.rs#javax.ws.rs-api;2.1!javax.ws.rs-api.${packaging.type}:  (0ms)
      [ivy:resolve] 	==== local: tried
      [ivy:resolve] 	  /home/jenkins/.ivy2/local/javax.ws.rs/javax.ws.rs-api/2.1/${packaging.type}s/javax.ws.rs-api.${packaging.type}
      [ivy:resolve] 	==== maven2: tried
      [ivy:resolve] 	  http://repo1.maven.org/maven2/javax/ws/rs/javax.ws.rs-api/2.1/javax.ws.rs-api-2.1.${packaging.type}
      [ivy:resolve] 	==== apache-snapshot: tried
      [ivy:resolve] 	  https://repository.apache.org/content/repositories/snapshots/javax/ws/rs/javax.ws.rs-api/2.1/javax.ws.rs-api-2.1.${packaging.type}
      [ivy:resolve] 	==== sonatype: tried
      [ivy:resolve] 	  http://oss.sonatype.org/content/repositories/releases/javax/ws/rs/javax.ws.rs-api/2.1/javax.ws.rs-api-2.1.${packaging.type}
      [ivy:resolve] 		::::::::::::::::::::::::::::::::::::::::::::::
      [ivy:resolve] 		::              FAILED DOWNLOADS            ::
      [ivy:resolve] 		:: ^ see resolution messages for details  ^ ::
      [ivy:resolve] 		::::::::::::::::::::::::::::::::::::::::::::::
      [ivy:resolve] 		:: javax.ws.rs#javax.ws.rs-api;2.1!javax.ws.rs-api.${packaging.type}
      [ivy:resolve] 		::::::::::::::::::::::::::::::::::::::::::::::
      [ivy:resolve] :::: ERRORS

      More information about this issue is linked on jax-rs#576.
      A work-around is to define a property packaging.type and set it to jar. This can be done

      • in command-line ant -Dpackaging.type=jar ...
      • in default.properties
      • in ivysettings.xml
        The last work-around is active in current master/1.x. However, there are still Jenkins builds failing while few succeed:
        #build status jax-rs machine work-around
        3578 success H28 ivysettings.xml
        3577 failed H28 ivysettings.xml
        3576 failed H33 ivysettings.xml
        3575 success ubuntu-4 ivysettings.xml
        3574 failed ubuntu-4 -Dpackaging.type=jar + default.properties
        3571 failed ? -Dpackaging.type=jar + default.properties
        3568 failed ? -Dpackaging.type=jar + default.properties

      Builds which failed for other reasons are left away. The only pattern I see is that only the second build on every of the Jenkins machines succeeds. A possible reason could be that the build environments on the machines persist state (the Nutch build directory, local ivy cache, etc.). If this is the case, it may take some time until all Jenkins machines will succeed.
      The ivysettings.xml work-around was the first which succeeded on a Jenkins build but it may be the case that all three work-arounds apply.

      The issue is supposed to be resolved (without work-arounds) by IVY-1577. However, it looks like it isn't:

      • get rc2 of ivy 2.5.0 (the URL may change):
        % wget -O ivy/ivy-2.5.0-rc2-test.jar \
      • edit default properties and set ivy.version=2.5.0-rc2-test
      • remove work-around in ivysettings.xml (or default.properties)
      • run ant clean runtime and check for failure resp. whether javax.ws lib is in place: ls build/lib/javax.ws.rs-api*.jar
        This solution fails for ivy-2.5.0-rc1.jar and the mentioned rc2 jar as of 2018-10-23. But maybe the procedure is wrong, I'll contact the ant/ivy team to solve this.



        Issue Links



              snagel Sebastian Nagel
              snagel Sebastian Nagel
              0 Vote for this issue
              6 Start watching this issue