Uploaded image for project: 'James Server'
  1. James Server
  2. JAMES-3878

Remove icu4j dependency and replace required functionality with other dependencies

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • master
    • 3.8.0
    • mailbox
    • None

    Description

      (context discussion: https://gitter.im/apache/james-project?at=63c87300c47d581062986327)

       

      Currently James has `icu4j` as dependency but only uses `UnicodeSet.containsAll()` from it. Given that the dependency is 15M and the usage is minimal and could be replaced with functions from other dependencies it would be good to do so.

       

      Right now it's used in:

      • `org.apache.james.mailbox.model.MailboxAnnotationKey`
      • {{org.apache.james.jmap.draft.model.Keyword }}
      • (.java){}
      • org.apache.james.jmap.mail.Keyword (.scala)

       

      It could be replaced with `re2` from google (https://github.com/google/re2j), which is already present in dependencies and it's only ~100K) and performance wise it should be on pair.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              .wojtek Wojtek
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 50m
                  50m