Lucene - Core
  1. Lucene - Core
  2. LUCENE-5715

Upgrade direct dependencies known to be older than transitive dependencies

    Details

    • Type: Task Task
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.9, 6.0
    • Component/s: general/build
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      LUCENE-5442 added functionality to the check-lib-versions ant task to fail the build if a direct dependency's version conflicts with that of a transitive dependency.

      ivy-ignore-conflicts.properties contains a list of 19 transitive dependencies with versions that are newer than direct dependencies' versions: https://issues.apache.org/jira/browse/LUCENE-5442?focusedCommentId=14012220&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14012220

      We should try to keep that list small. It's likely that upgrading most of those dependencies will require little effort.

        Issue Links

          Activity

          Hide
          Steve Rowe added a comment -

          I'm adding the capability to report the latest version of dependencies with version conflicts, so people don't have go look that up in order to fix via version upgrade. For example:

          [libversions] VERSION CONFLICT: transitive dependency in module(s) uima:
          [libversions] /commons-digester/commons-digester=2.0
          [libversions] +-- /commons-beanutils/commons-beanutils=1.8.0 <<< Conflict (direct=1.7.0, latest=1.9.2)
          [libversions] ... and 1 more
          
          Show
          Steve Rowe added a comment - I'm adding the capability to report the latest version of dependencies with version conflicts, so people don't have go look that up in order to fix via version upgrade. For example: [libversions] VERSION CONFLICT: transitive dependency in module(s) uima: [libversions] /commons-digester/commons-digester=2.0 [libversions] +-- /commons-beanutils/commons-beanutils=1.8.0 <<< Conflict (direct=1.7.0, latest=1.9.2) [libversions] ... and 1 more
          Hide
          Steve Rowe added a comment -

          Patch upgrading everything to the highest transitive dependency version (not necessarily the most recent available) except

          1. javax.servlet:servlet-api:2.4
          2. org.ow2.asm:asm:4.1
          3. com.google.guava:guava:14.0.1, because Guava 14's Closeables.closeQuietly() is no longer present in v16, and Kite SDK 0.12.1 uses this method (o.a.s.morphlines.cell.SolrCellBuilder.SolrCell.doProcess() also uses this method, rather than try-with-resources):
             [junit4]   2> NOTE: reproduce with: ant test  -Dtestcase=MorphlineMapperTest -Dtests.method=testMapper -Dtests.seed=90C8B5E1477B3578 -Dtests.slow=true -Dtests.locale=es_PE -Dtests.timezone=America/Dawson -Dtests.file.encoding=UTF-8
             [junit4] ERROR   20.5s J0 | MorphlineMapperTest.testMapper <<<
             [junit4]    > Throwable #1: java.lang.NoSuchMethodError: com.google.common.io.Closeables.closeQuietly(Ljava/io/Closeable;)V
             [junit4]    > 	at __randomizedtesting.SeedInfo.seed([90C8B5E1477B3578:5ABCC5ED2C447C09]:0)
             [junit4]    > 	at org.kitesdk.morphline.tika.DetectMimeTypeBuilder$DetectMimeType.<init>(DetectMimeTypeBuilder.java:119)
             [junit4]    > 	at org.kitesdk.morphline.tika.DetectMimeTypeBuilder.build(DetectMimeTypeBuilder.java:65)
             [junit4]    > 	at org.kitesdk.morphline.base.AbstractCommand.buildCommand(AbstractCommand.java:302)
             [junit4]    > 	at org.kitesdk.morphline.base.AbstractCommand.buildCommandChain(AbstractCommand.java:249)
             [junit4]    > 	at org.kitesdk.morphline.stdlib.Pipe.<init>(Pipe.java:46)
             [junit4]    > 	at org.kitesdk.morphline.stdlib.PipeBuilder.build(PipeBuilder.java:40)
             [junit4]    > 	at org.kitesdk.morphline.base.Compiler.compile(Compiler.java:126)
             [junit4]    > 	at org.kitesdk.morphline.base.Compiler.compile(Compiler.java:55)
             [junit4]    > 	at org.apache.solr.hadoop.morphline.MorphlineMapRunner.<init>(MorphlineMapRunner.java:157)
             [junit4]    > 	at org.apache.solr.hadoop.morphline.MorphlineMapper.setup(MorphlineMapper.java:75)
             [junit4]    > 	at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:142)
             [junit4]    > 	at org.apache.hadoop.mrunit.mapreduce.MapDriver.run(MapDriver.java:137)
             [junit4]    > 	at org.apache.solr.hadoop.MorphlineMapperTest.testMapper(MorphlineMapperTest.java:61)
             [junit4]    > 	at java.lang.Thread.run(Thread.java:745)
          
          Show
          Steve Rowe added a comment - Patch upgrading everything to the highest transitive dependency version (not necessarily the most recent available) except javax.servlet:servlet-api:2.4 org.ow2.asm:asm:4.1 com.google.guava:guava:14.0.1, because Guava 14's Closeables.closeQuietly() is no longer present in v16, and Kite SDK 0.12.1 uses this method (o.a.s.morphlines.cell.SolrCellBuilder.SolrCell.doProcess() also uses this method, rather than try-with-resources): [junit4] 2> NOTE: reproduce with: ant test -Dtestcase=MorphlineMapperTest -Dtests.method=testMapper -Dtests.seed=90C8B5E1477B3578 -Dtests.slow=true -Dtests.locale=es_PE -Dtests.timezone=America/Dawson -Dtests.file.encoding=UTF-8 [junit4] ERROR 20.5s J0 | MorphlineMapperTest.testMapper <<< [junit4] > Throwable #1: java.lang.NoSuchMethodError: com.google.common.io.Closeables.closeQuietly(Ljava/io/Closeable;)V [junit4] > at __randomizedtesting.SeedInfo.seed([90C8B5E1477B3578:5ABCC5ED2C447C09]:0) [junit4] > at org.kitesdk.morphline.tika.DetectMimeTypeBuilder$DetectMimeType.<init>(DetectMimeTypeBuilder.java:119) [junit4] > at org.kitesdk.morphline.tika.DetectMimeTypeBuilder.build(DetectMimeTypeBuilder.java:65) [junit4] > at org.kitesdk.morphline.base.AbstractCommand.buildCommand(AbstractCommand.java:302) [junit4] > at org.kitesdk.morphline.base.AbstractCommand.buildCommandChain(AbstractCommand.java:249) [junit4] > at org.kitesdk.morphline.stdlib.Pipe.<init>(Pipe.java:46) [junit4] > at org.kitesdk.morphline.stdlib.PipeBuilder.build(PipeBuilder.java:40) [junit4] > at org.kitesdk.morphline.base.Compiler.compile(Compiler.java:126) [junit4] > at org.kitesdk.morphline.base.Compiler.compile(Compiler.java:55) [junit4] > at org.apache.solr.hadoop.morphline.MorphlineMapRunner.<init>(MorphlineMapRunner.java:157) [junit4] > at org.apache.solr.hadoop.morphline.MorphlineMapper.setup(MorphlineMapper.java:75) [junit4] > at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:142) [junit4] > at org.apache.hadoop.mrunit.mapreduce.MapDriver.run(MapDriver.java:137) [junit4] > at org.apache.solr.hadoop.MorphlineMapperTest.testMapper(MorphlineMapperTest.java:61) [junit4] > at java.lang.Thread.run(Thread.java:745)
          Hide
          Steve Rowe added a comment -

          Committing shortly.

          Show
          Steve Rowe added a comment - Committing shortly.
          Hide
          Uwe Schindler added a comment -

          +1, I see no problem.

          Which module tried to import ASM 5.0_BETA?

          Show
          Uwe Schindler added a comment - +1, I see no problem. Which module tried to import ASM 5.0_BETA?
          Hide
          Steve Rowe added a comment -

          Which module tried to import ASM 5.0_BETA?

          [libversions] VERSION CONFLICT: transitive dependency in module(s) solr-test-framework, core-test-framework:
          [libversions] /com.carrotsearch.randomizedtesting/junit4-ant=2.1.3
          [libversions] +-- /org.ow2.asm/asm=5.0_BETA <<< Conflict (direct=4.1)
          
          Show
          Steve Rowe added a comment - Which module tried to import ASM 5.0_BETA? [libversions] VERSION CONFLICT: transitive dependency in module(s) solr-test-framework, core-test-framework: [libversions] /com.carrotsearch.randomizedtesting/junit4-ant=2.1.3 [libversions] +-- /org.ow2.asm/asm=5.0_BETA <<< Conflict (direct=4.1)
          Hide
          ASF subversion and git services added a comment -

          Commit 1600444 from Steve Rowe in branch 'dev/trunk'
          [ https://svn.apache.org/r1600444 ]

          LUCENE-5715: Upgrade direct dependencies known to be older than transitive dependencies

          Show
          ASF subversion and git services added a comment - Commit 1600444 from Steve Rowe in branch 'dev/trunk' [ https://svn.apache.org/r1600444 ] LUCENE-5715 : Upgrade direct dependencies known to be older than transitive dependencies
          Hide
          ASF subversion and git services added a comment -

          Commit 1600473 from Steve Rowe in branch 'dev/branches/branch_4x'
          [ https://svn.apache.org/r1600473 ]

          LUCENE-5715: Upgrade direct dependencies known to be older than transitive dependencies (merged trunk r1600444)

          Show
          ASF subversion and git services added a comment - Commit 1600473 from Steve Rowe in branch 'dev/branches/branch_4x' [ https://svn.apache.org/r1600473 ] LUCENE-5715 : Upgrade direct dependencies known to be older than transitive dependencies (merged trunk r1600444)
          Hide
          Steve Rowe added a comment -

          Committed to trunk and branch_4x.

          Show
          Steve Rowe added a comment - Committed to trunk and branch_4x.

            People

            • Assignee:
              Steve Rowe
              Reporter:
              Steve Rowe
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development