Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package morfologik-stemming for 
openSUSE:Factory checked in at 2023-05-04 17:10:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/morfologik-stemming (Old)
 and      /work/SRC/openSUSE:Factory/.morfologik-stemming.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "morfologik-stemming"

Thu May  4 17:10:07 2023 rev:2 rq:1084301 version:2.1.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/morfologik-stemming/morfologik-stemming.changes  
2020-03-04 09:38:59.401876881 +0100
+++ 
/work/SRC/openSUSE:Factory/.morfologik-stemming.new.1533/morfologik-stemming.changes
        2023-05-04 17:10:19.644278141 +0200
@@ -1,0 +2,13 @@
+Wed May  3 09:41:01 UTC 2023 - Fridrich Strba <fst...@suse.com>
+
+- Upgrade to version 2.1.9
+  * Changes:
+    + PR #114: improve run-on suggestions for camel case words
+    + GH-102: Update vulnerable jcommander dependency
+  * Version upgrade needed to be able to build against
+    beust-jcommander 1.82
+- Removed patch:
+  * 0001-Restore-Java-8-compatibility.patch
+    + Fixes by using the --release option
+
+-------------------------------------------------------------------

Old:
----
  0001-Restore-Java-8-compatibility.patch
  2.1.6.tar.gz

New:
----
  2.1.9.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ morfologik-stemming.spec ++++++
--- /var/tmp/diff_new_pack.wXARSN/_old  2023-05-04 17:10:20.184281303 +0200
+++ /var/tmp/diff_new_pack.wXARSN/_new  2023-05-04 17:10:20.188281326 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package morfologik-stemming
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,15 +17,15 @@
 
 
 Name:           morfologik-stemming
-Version:        2.1.6
+Version:        2.1.9
 Release:        0
 Summary:        Morfologik stemming library
 License:        BSD-3-Clause
 URL:            https://morfologik.blogspot.com/
 Source0:        
https://github.com/morfologik/morfologik-stemming/archive/%{version}.tar.gz
-Patch0:         0001-Restore-Java-8-compatibility.patch
-Patch1:         morfologik-stemming-binaryinput.patch
+Patch0:         morfologik-stemming-binaryinput.patch
 BuildRequires:  fdupes
+BuildRequires:  java-devel >= 1.8
 BuildRequires:  maven-local
 BuildRequires:  mvn(com.beust:jcommander)
 BuildRequires:  mvn(com.carrotsearch:hppc)
@@ -46,7 +46,6 @@
 %prep
 %setup -q
 %patch0 -p1
-%patch1 -p1
 find . -name "*.class" -print -delete
 find . -name "*.jar" -print -delete
 
@@ -72,8 +71,9 @@
 # Test skipped for unavailable test deps
 %{mvn_build} -f -- \
 %if %{?pkg_vcmp:%pkg_vcmp java-devel >= 9}%{!?pkg_vcmp:0}
-       -Dmaven.compiler.release=7 \
+       -Dmaven.compiler.release=8 \
 %endif
+    -Dsource=8 \
        -Dproject.build.sourceEncoding=UTF-8
 
 %install

++++++ 2.1.6.tar.gz -> 2.1.9.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/morfologik-stemming-2.1.6/CHANGES.txt 
new/morfologik-stemming-2.1.9/CHANGES.txt
--- old/morfologik-stemming-2.1.6/CHANGES.txt   2019-05-11 14:36:25.000000000 
+0200
+++ new/morfologik-stemming-2.1.9/CHANGES.txt   2022-04-26 13:45:10.000000000 
+0200
@@ -5,6 +5,33 @@
 For an up-to-date CHANGES file see 
 https://github.com/morfologik/morfologik-stemming/blob/master/CHANGES
 
+======================= morfologik-stemming 2.1.9 =======================
+
+Other Changes
+
+ * PR #114: improve run-on suggestions for camel case words (Jaume Ortolà)
+
+======================= morfologik-stemming 2.1.8 =======================
+
+Other Changes
+
+ * GH-112: Add automatic module name to all JARs.
+ * Upgrade selected build dependencies.
+
+======================= morfologik-stemming 2.1.7 =======================
+
+Bug Fixes
+
+ * PR #103: fix distance value in the result of 
`Speller.findReplacementCandidates`
+   (Daniel Naber).
+
+ * GH-102: upgrade jcommander to newest version. (Dawid Weiss)
+
+Other Changes
+
+ * PR #103: introduce `Speller.replaceRunOnWordCandidates()` which returns
+   `CandidateData` (Daniel Naber).
+
 ======================= morfologik-stemming 2.1.6 =======================
 
 Other Changes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/morfologik-stemming-2.1.6/morfologik-fsa/pom.xml 
new/morfologik-stemming-2.1.9/morfologik-fsa/pom.xml
--- old/morfologik-stemming-2.1.6/morfologik-fsa/pom.xml        2019-05-11 
14:36:25.000000000 +0200
+++ new/morfologik-stemming-2.1.9/morfologik-fsa/pom.xml        2022-04-26 
13:45:10.000000000 +0200
@@ -8,7 +8,7 @@
   <parent>
     <groupId>org.carrot2</groupId>
     <artifactId>morfologik-parent</artifactId>
-    <version>2.1.6</version>
+    <version>2.1.9</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
@@ -20,6 +20,7 @@
   
   <properties>
     
<forbiddenapis.signaturefile>../etc/forbidden-apis/signatures.txt</forbiddenapis.signaturefile>
+    <project.moduleId>org.carrot2.morfologik.fsa</project.moduleId>
   </properties>
 
   <build>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/morfologik-stemming-2.1.6/morfologik-fsa-builders/pom.xml 
new/morfologik-stemming-2.1.9/morfologik-fsa-builders/pom.xml
--- old/morfologik-stemming-2.1.6/morfologik-fsa-builders/pom.xml       
2019-05-11 14:36:25.000000000 +0200
+++ new/morfologik-stemming-2.1.9/morfologik-fsa-builders/pom.xml       
2022-04-26 13:45:10.000000000 +0200
@@ -8,7 +8,7 @@
   <parent>
     <groupId>org.carrot2</groupId>
     <artifactId>morfologik-parent</artifactId>
-    <version>2.1.6</version>
+    <version>2.1.9</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
@@ -20,6 +20,7 @@
 
   <properties>
     
<forbiddenapis.signaturefile>../etc/forbidden-apis/signatures.txt</forbiddenapis.signaturefile>
+    <project.moduleId>org.carrot2.morfologik.fsa_builders</project.moduleId>
   </properties>
 
   <dependencies>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/morfologik-stemming-2.1.6/morfologik-polish/pom.xml 
new/morfologik-stemming-2.1.9/morfologik-polish/pom.xml
--- old/morfologik-stemming-2.1.6/morfologik-polish/pom.xml     2019-05-11 
14:36:25.000000000 +0200
+++ new/morfologik-stemming-2.1.9/morfologik-polish/pom.xml     2022-04-26 
13:45:10.000000000 +0200
@@ -8,7 +8,7 @@
   <parent>
     <groupId>org.carrot2</groupId>
     <artifactId>morfologik-parent</artifactId>
-    <version>2.1.6</version>
+    <version>2.1.9</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
@@ -20,6 +20,7 @@
 
   <properties>
     
<forbiddenapis.signaturefile>../etc/forbidden-apis/signatures.txt</forbiddenapis.signaturefile>
+    <project.moduleId>org.carrot2.morfologik.polish</project.moduleId>
   </properties>
 
   <dependencies>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/morfologik-stemming-2.1.6/morfologik-speller/pom.xml 
new/morfologik-stemming-2.1.9/morfologik-speller/pom.xml
--- old/morfologik-stemming-2.1.6/morfologik-speller/pom.xml    2019-05-11 
14:36:25.000000000 +0200
+++ new/morfologik-stemming-2.1.9/morfologik-speller/pom.xml    2022-04-26 
13:45:10.000000000 +0200
@@ -8,7 +8,7 @@
   <parent>
     <groupId>org.carrot2</groupId>
     <artifactId>morfologik-parent</artifactId>
-    <version>2.1.6</version>
+    <version>2.1.9</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
@@ -20,6 +20,7 @@
 
   <properties>
     
<forbiddenapis.signaturefile>../etc/forbidden-apis/signatures.txt</forbiddenapis.signaturefile>
+    <project.moduleId>org.carrot2.morfologik.speller</project.moduleId>
   </properties>
 
   <dependencies>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/morfologik-stemming-2.1.6/morfologik-speller/src/main/java/morfologik/speller/Speller.java
 
new/morfologik-stemming-2.1.9/morfologik-speller/src/main/java/morfologik/speller/Speller.java
--- 
old/morfologik-stemming-2.1.6/morfologik-speller/src/main/java/morfologik/speller/Speller.java
      2019-05-11 14:36:25.000000000 +0200
+++ 
new/morfologik-stemming-2.1.9/morfologik-speller/src/main/java/morfologik/speller/Speller.java
      2022-04-26 13:45:10.000000000 +0200
@@ -55,9 +55,9 @@
   private int wordLen; /* length of word being processed */
   private char[] wordProcessed; /* word being processed */
 
-  private Map<Character, List<char[]>> replacementsAnyToOne = new 
HashMap<Character, List<char[]>>();
-  private Map<String, List<char[]>> replacementsAnyToTwo = new HashMap<String, 
List<char[]>>();
-  private Map<String, List<String>> replacementsTheRest = new HashMap<String, 
List<String>>();
+  private Map<Character, List<char[]>> replacementsAnyToOne = new HashMap<>();
+  private Map<String, List<char[]>> replacementsAnyToTwo = new HashMap<>();
+  private Map<String, List<String>> replacementsTheRest = new HashMap<>();
 
   private boolean containsSeparators = true;
 
@@ -147,7 +147,7 @@
         // the new key is the target of the replacement pair
         if (s.length() == 1) {
           if (!replacementsAnyToOne.containsKey(s.charAt(0))) {
-            List<char[]> charList = new ArrayList<char[]>();
+            List<char[]> charList = new ArrayList<>();
             charList.add(entry.getKey().toCharArray());
             replacementsAnyToOne.put(s.charAt(0), charList);
           } else {
@@ -158,7 +158,7 @@
         // the new key is the target of the replacement pair
         else if (s.length() == 2) {
           if (!replacementsAnyToTwo.containsKey(s)) {
-            List<char[]> charList = new ArrayList<char[]>();
+            List<char[]> charList = new ArrayList<>();
             charList.add(entry.getKey().toCharArray());
             replacementsAnyToTwo.put(s, charList);
           } else {
@@ -166,7 +166,7 @@
           }
         } else {
           if (!replacementsTheRest.containsKey(entry.getKey())) {
-            List<String> charList = new ArrayList<String>();
+            List<String> charList = new ArrayList<>();
             charList.add(s);
             replacementsTheRest.put(entry.getKey(), charList);
           } else {
@@ -321,10 +321,10 @@
    * 
    * @param original
    *          The original misspelled word.
-   * @return The list of suggested pairs, as space-concatenated strings.
+   * @return The list of suggested pairs, as CandidateData with 
space-concatenated strings.
    */
-  public List<String> replaceRunOnWords(final String original) {
-    final List<String> candidates = new ArrayList<String>();
+  public List<CandidateData> replaceRunOnWordCandidates(final String original) 
{
+    final List<CandidateData> candidates = new ArrayList<>();
     String wordToCheck = original;
     if (!dictionaryMetadata.getInputConversionPairs().isEmpty()) {
       wordToCheck = DictionaryLookup.applyReplacements(original, 
dictionaryMetadata.getInputConversionPairs());
@@ -335,7 +335,9 @@
         // chop from left to right
         final String prefix = wordToCheck.substring(0, i);
         final String suffix = wordToCheck.substring(i);
-        if (isInDictionary(suffix)) {
+        if (isInDictionary(suffix) 
+            // camel case words: e.g. GreatElephant
+            || (!isNotCapitalizedWord(suffix) && 
isInDictionary(suffix.toLowerCase(locale)))) {
           if (isInDictionary(prefix)) {
             addReplacement(candidates, prefix + " " + suffix);
           } else if (Character.isUpperCase(prefix.charAt(0)) && 
isInDictionary(prefix.toLowerCase(locale))) {
@@ -348,16 +350,53 @@
     return candidates;
   }
 
-  private void addReplacement(List<String> candidates, String replacement) {
+  /**
+   * Propose suggestions for misspelled run-on words. This algorithm is 
inspired
+   * by spell.cc in s_fsa package by Jan Daciuk.
+   *
+   * @param original
+   *          The original misspelled word.
+   * @return The list of suggested pairs, as space-concatenated strings.
+   */
+  public List<String> replaceRunOnWords(final String original) {
+    final List<CandidateData> candidateData = 
replaceRunOnWordCandidates(original);
+    final List<String> candidates = new ArrayList<>();
+    for (CandidateData candidate : candidateData) {
+      candidates.add(candidate.word);
+    }
+    return candidates;
+  }
+
+  private void addReplacement(List<CandidateData> candidates, String 
replacement) {
     if (dictionaryMetadata.getOutputConversionPairs().isEmpty()) {
-      candidates.add(replacement);
+      candidates.add(new CandidateData(replacement, 1));
     } else {
-      candidates.add(DictionaryLookup.applyReplacements(replacement,
-          dictionaryMetadata.getOutputConversionPairs()));
+      candidates.add(new 
CandidateData(DictionaryLookup.applyReplacements(replacement,
+          dictionaryMetadata.getOutputConversionPairs()), 1));
     }
   }
 
   /**
+   * Find similar words even if the original word is a correct word that 
exists in the dictionary
+   * 
+   * @param word The original word.
+   * @return A list of suggested candidate replacements.
+   */
+  public ArrayList<CandidateData> findSimilarWordCandidates(String word) {
+    return findReplacementCandidates(word, true);
+  }
+  
+  public ArrayList<String> findSimilarWords(String word) {
+    final List<CandidateData> result = findSimilarWordCandidates(word);
+    final ArrayList<String> resultSuggestions = new ArrayList<>(result.size());
+    for (CandidateData cd : result) {
+      resultSuggestions.add(cd.getWord());
+    }
+    return resultSuggestions;
+  }
+  
+  
+  /**
    * Find suggestions by using K. Oflazer's algorithm. See Jan Daciuk's s_fsa
    * package, spell.cc for further explanation.
    * 
@@ -367,13 +406,14 @@
   public ArrayList<String> findReplacements(String word) {
     final List<CandidateData> result = findReplacementCandidates(word);
 
-    final ArrayList<String> resultSuggestions = new 
ArrayList<String>(result.size());
+    final ArrayList<String> resultSuggestions = new ArrayList<>(result.size());
     for (CandidateData cd : result) {
       resultSuggestions.add(cd.getWord());
     }
     return resultSuggestions;
   }
 
+  
   /**
    * Find and return suggestions by using K. Oflazer's algorithm. See Jan 
Daciuk's s_fsa
    * package, spell.cc for further explanation. This method is identical to
@@ -383,15 +423,19 @@
    * @return A list of suggested candidate replacements.
    */
   public ArrayList<CandidateData> findReplacementCandidates(String word) {
+    return findReplacementCandidates(word, false);
+  }
+  
+  private ArrayList<CandidateData> findReplacementCandidates(String word, 
boolean evenIfWordInDictionary) {
     if (!dictionaryMetadata.getInputConversionPairs().isEmpty()) {
       word = DictionaryLookup.applyReplacements(word, 
dictionaryMetadata.getInputConversionPairs());
     }
 
     // candidate strings, including same additional data such as edit distance 
from the original word.
-    List<CandidateData> candidates = new ArrayList<CandidateData>();
+    List<CandidateData> candidates = new ArrayList<>();
 
-    if (word.length() > 0 && word.length() < MAX_WORD_LENGTH && 
!isInDictionary(word)) {
-      List<String> wordsToCheck = new ArrayList<String>();
+    if (word.length() > 0 && word.length() < MAX_WORD_LENGTH && 
(!isInDictionary(word) || evenIfWordInDictionary)) {
+      List<String> wordsToCheck = new ArrayList<>();
       if (replacementsTheRest != null && word.length() > 1) {
         for (final String wordChecked : getAllReplacements(word, 0, 0)) {
           if (isInDictionary(wordChecked)) {
@@ -445,13 +489,13 @@
     Collections.sort(candidates);
 
     // Apply replacements, prune duplicates while preserving the candidate 
order.
-    final Set<String> words = new HashSet<String>();
+    final Set<String> words = new HashSet<>();
     final ArrayList<CandidateData> result = new ArrayList<>(candidates.size());
     for (final CandidateData cd : candidates) {
       String replaced = DictionaryLookup.applyReplacements(cd.getWord(), 
dictionaryMetadata.getOutputConversionPairs());
       // Add only the first occurrence of a given word.
-      if (words.add(replaced)) {
-        result.add(new CandidateData(replaced, cd.distance));
+      if (words.add(replaced) && !replaced.equals(word)) {
+        result.add(new CandidateData(replaced, cd.origDistance));
       }
     }
 
@@ -633,7 +677,6 @@
    * @param candIndex (TODO: javadoc?)
    * @return Cut-off edit distance. Remarks: See Oflazer.
    */
-
   public int cuted(final int depth, final int wordIndex, final int candIndex) {
     final int l = Math.max(0, depth - effectEditDistance); // min chars from 
word to consider - 1
     final int u = Math.min(wordLen - 1 - (wordIndex - depth), depth + 
effectEditDistance); // max chars from word to
@@ -807,9 +850,7 @@
    * 
    * @return boolean value that answers this question in a deep and meaningful
    *         way.
-   *
    * @since 1.9
-   *
    */
   public boolean convertsCase() {
     return dictionaryMetadata.isConvertingCase();
@@ -905,18 +946,20 @@
    */
   public final class CandidateData implements Comparable<CandidateData> {
     private final String word;
+    private final int origDistance;
     private final int distance;
 
     CandidateData(final String word, final int distance) {
       this.word = word;
+      this.origDistance = distance;
       this.distance = distance * FREQ_RANGES + FREQ_RANGES - 
getFrequency(word) - 1;
     }
 
-    final String getWord() {
+    public final String getWord() {
       return word;
     }
 
-    final int getDistance() {
+    public final int getDistance() {
       return distance;
     }
 
@@ -925,5 +968,10 @@
       // Assume no overflow.
       return Integer.compare(this.distance, cd.getDistance());
     }
+
+    @Override
+    public String toString() {
+      return word + '/' + distance;
+    }
   }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/morfologik-stemming-2.1.6/morfologik-speller/src/test/java/morfologik/speller/SpellerTest.java
 
new/morfologik-stemming-2.1.9/morfologik-speller/src/test/java/morfologik/speller/SpellerTest.java
--- 
old/morfologik-stemming-2.1.6/morfologik-speller/src/test/java/morfologik/speller/SpellerTest.java
  2019-05-11 14:36:25.000000000 +0200
+++ 
new/morfologik-stemming-2.1.9/morfologik-speller/src/test/java/morfologik/speller/SpellerTest.java
  2022-04-26 13:45:10.000000000 +0200
@@ -40,6 +40,9 @@
     Assertions.assertThat(spell.replaceRunOnWords("abaka")).isEmpty();
     
Assertions.assertThat(spell.replaceRunOnWords("abakaabace")).contains("abaka 
abace");
     
Assertions.assertThat(spell.replaceRunOnWords("Abakaabace")).contains("Abaka 
abace");
+    
Assertions.assertThat(spell.replaceRunOnWords("AbakaAbace")).contains("Abaka 
Abace");
+    
Assertions.assertThat(spell.replaceRunOnWords("abakaAbace")).contains("abaka 
Abace");
+
 
     // Test on an morphological dictionary - should work as well
     final URL url1 = getClass().getResource("test-infix.dict");
@@ -51,6 +54,10 @@
     final URL url2 = getClass().getResource("single-char-word.dict");
     final Speller spell2 = new Speller(Dictionary.read(url2));
     assertTrue(spell2.replaceRunOnWords("alot").contains("a lot"));
+    assertTrue(spell2.replaceRunOnWords("Alot").contains("A lot"));
+    assertTrue(spell2.replaceRunOnWords("ALot").contains("A Lot"));
+    assertTrue(spell2.replaceRunOnWords("LotAmusement").contains("Lot 
Amusement"));
+    //TODO? assertTrue(spell2.replaceRunOnWords("LOTAMUSEMENT").contains("LOT 
AMUSEMENT"));
     assertTrue(spell2.replaceRunOnWords("aalot").contains("aa lot"));
     assertTrue(spell2.replaceRunOnWords("aamusement").contains("a amusement"));
     assertTrue(spell2.replaceRunOnWords("clot").isEmpty());
@@ -165,6 +172,21 @@
     assertTrue(reps.get(5).equals("dist"));
     assertTrue(reps.get(6).equals("gist"));
   }
+  
+  @Test
+  public void testFindSimilarWords() throws IOException {
+    final URL url = getClass().getResource("dict-with-freq.dict");
+    final Speller spell = new Speller(Dictionary.read(url));
+
+    List<String> reps = spell.findSimilarWords("fist");
+    assertTrue(reps.toString().equals("[list, mist, dist, gist, wist, hist]"));
+    reps = spell.findSimilarWords("mist");
+    assertTrue(reps.toString().equals("[list, fist, dist, gist, wist, hist]"));
+    reps = spell.findSimilarWords("Fist");
+    assertTrue(reps.toString().equals("[fist, list, mist, dist, gist, wist, 
hist]"));
+    reps = spell.findSimilarWords("licit");
+    assertTrue(reps.toString().equals("[list, fist, mist, dist, gist, wist, 
hist]"));
+  }
 
   @Test
   public void testConcurrentReplacements() throws IOException {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/morfologik-stemming-2.1.6/morfologik-stemming/pom.xml 
new/morfologik-stemming-2.1.9/morfologik-stemming/pom.xml
--- old/morfologik-stemming-2.1.6/morfologik-stemming/pom.xml   2019-05-11 
14:36:25.000000000 +0200
+++ new/morfologik-stemming-2.1.9/morfologik-stemming/pom.xml   2022-04-26 
13:45:10.000000000 +0200
@@ -8,7 +8,7 @@
   <parent>
     <groupId>org.carrot2</groupId>
     <artifactId>morfologik-parent</artifactId>
-    <version>2.1.6</version>
+    <version>2.1.9</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
@@ -20,6 +20,7 @@
 
   <properties>
     
<forbiddenapis.signaturefile>../etc/forbidden-apis/signatures.txt</forbiddenapis.signaturefile>
+    <project.moduleId>org.carrot2.morfologik.stemming</project.moduleId>
   </properties>
 
   <dependencies>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/morfologik-stemming-2.1.6/morfologik-tools/pom.xml 
new/morfologik-stemming-2.1.9/morfologik-tools/pom.xml
--- old/morfologik-stemming-2.1.6/morfologik-tools/pom.xml      2019-05-11 
14:36:25.000000000 +0200
+++ new/morfologik-stemming-2.1.9/morfologik-tools/pom.xml      2022-04-26 
13:45:10.000000000 +0200
@@ -8,7 +8,7 @@
   <parent>
     <groupId>org.carrot2</groupId>
     <artifactId>morfologik-parent</artifactId>
-    <version>2.1.6</version>
+    <version>2.1.9</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
@@ -20,6 +20,7 @@
 
   <properties>
     
<forbiddenapis.signaturefile>../etc/forbidden-apis/signatures.txt</forbiddenapis.signaturefile>
+    <project.moduleId>org.carrot2.morfologik.tools</project.moduleId>
   </properties>
 
   <dependencies>
@@ -44,7 +45,7 @@
     <dependency>
       <groupId>com.beust</groupId>
       <artifactId>jcommander</artifactId>
-      <version>1.48</version>
+      <version>1.78</version>
     </dependency>
   </dependencies>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/morfologik-stemming-2.1.6/morfologik-tools/src/main/java/morfologik/tools/CliTool.java
 
new/morfologik-stemming-2.1.9/morfologik-tools/src/main/java/morfologik/tools/CliTool.java
--- 
old/morfologik-stemming-2.1.6/morfologik-tools/src/main/java/morfologik/tools/CliTool.java
  2019-05-11 14:36:25.000000000 +0200
+++ 
new/morfologik-stemming-2.1.9/morfologik-tools/src/main/java/morfologik/tools/CliTool.java
  2022-04-26 13:45:10.000000000 +0200
@@ -178,13 +178,13 @@
   private static void helpDisplayCommandOptions(PrintStream pw, String 
command, JCommander jc) {
     StringBuilder sb = new StringBuilder();
     jc = jc.getCommands().get(command);
-    jc.usage(sb, "");
+    jc.getUsageFormatter().usage(sb, "");
     pw.print(sb);
   }
 
   private static void helpDisplayCommandOptions(PrintStream pw, JCommander jc) 
{
     StringBuilder sb = new StringBuilder();
-    jc.usage(sb, "");
+    jc.getUsageFormatter().usage(sb, "");
     pw.print(sb);
   }  
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/morfologik-stemming-2.1.6/morfologik-tools/src/main/java/morfologik/tools/CustomParameterConverters.java
 
new/morfologik-stemming-2.1.9/morfologik-tools/src/main/java/morfologik/tools/CustomParameterConverters.java
--- 
old/morfologik-stemming-2.1.6/morfologik-tools/src/main/java/morfologik/tools/CustomParameterConverters.java
        2019-05-11 14:36:25.000000000 +0200
+++ 
new/morfologik-stemming-2.1.9/morfologik-tools/src/main/java/morfologik/tools/CustomParameterConverters.java
        2022-04-26 13:45:10.000000000 +0200
@@ -1,11 +1,11 @@
 package morfologik.tools;
 
-import java.nio.file.Path;
-import java.nio.file.Paths;
-
 import com.beust.jcommander.IStringConverter;
 import com.beust.jcommander.IStringConverterFactory;
 
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
 class CustomParameterConverters implements IStringConverterFactory {
   public static class PathConverter implements IStringConverter<Path> {
     @Override
@@ -13,12 +13,11 @@
       return Paths.get(value);
     }
   }
-  
-  @SuppressWarnings({ "unchecked", "rawtypes" })
+
   @Override
-  public <T> Class<? extends IStringConverter<T>> getConverter(Class<T> 
forType) {
+  public Class<? extends IStringConverter<?>> getConverter(Class<?> forType) {
     if (forType.equals(Path.class)) {
-      return (Class) PathConverter.class;
+      return PathConverter.class;
     }
     return null;
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/morfologik-stemming-2.1.6/pom.xml 
new/morfologik-stemming-2.1.9/pom.xml
--- old/morfologik-stemming-2.1.6/pom.xml       2019-05-11 14:36:25.000000000 
+0200
+++ new/morfologik-stemming-2.1.9/pom.xml       2022-04-26 13:45:10.000000000 
+0200
@@ -7,7 +7,7 @@
 
   <groupId>org.carrot2</groupId>
   <artifactId>morfologik-parent</artifactId>
-  <version>2.1.6</version>
+  <version>2.1.9</version>
   <packaging>pom</packaging>
 
   <name>Morfologik (parent POM)</name>
@@ -51,11 +51,13 @@
   <properties>
     <version.assertj>2.2.0</version.assertj>
     <version.hppc>0.7.2</version.hppc>
-    <version.junit>4.12</version.junit>
+    <version.junit>4.13.1</version.junit>
     <version.randomizedtesting>2.5.2</version.randomizedtesting>
 
+    <version.maven-compiler-plugin>3.8.1</version.maven-compiler-plugin>
     <version.maven-enforcer-plugin>1.4.1</version.maven-enforcer-plugin>
     <version.maven-clean-plugin>2.6.1</version.maven-clean-plugin>
+    <version.maven-jar-plugin>3.2.0</version.maven-jar-plugin>
   </properties>
 
   <modules>
@@ -139,7 +141,20 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-jar-plugin</artifactId>
-          <version>2.5</version>
+          <version>${version.maven-jar-plugin}</version>
+          <configuration>
+            <archive>
+              <addMavenDescriptor>false</addMavenDescriptor>
+              <manifestEntries>
+                <Project-GroupId>${project.groupId}</Project-GroupId>
+                <Project-ArtifactId>${project.artifactId}</Project-ArtifactId>
+                <Project-Version>${project.version}</Project-Version>
+                <Project-Name>${project.name}</Project-Name>
+
+                
<Automatic-Module-Name>${project.moduleId}</Automatic-Module-Name>
+              </manifestEntries>
+            </archive>
+          </configuration>
         </plugin>
 
         <plugin>
@@ -163,7 +178,11 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
-          <version>3.3</version>
+          <version>${version.maven-compiler-plugin}</version>
+          <configuration>
+            <source>${maven.compiler.source}</source>
+            <target>${maven.compiler.target}</target>
+          </configuration>
         </plugin>
 
         <plugin>
@@ -175,7 +194,7 @@
         <plugin>
           <groupId>org.apache.felix</groupId>
           <artifactId>maven-bundle-plugin</artifactId>
-          <version>3.3.0</version>
+          <version>5.1.2</version>
           <extensions>true</extensions>
         </plugin>
 
@@ -196,6 +215,11 @@
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+      </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-enforcer-plugin</artifactId>
         <configuration>
           <rules>
@@ -303,7 +327,7 @@
       </activation>
 
       <properties>
-          <version.forbiddenapis>2.3</version.forbiddenapis>
+          <version.forbiddenapis>2.7</version.forbiddenapis>
           
<forbiddenapis.signaturefile>src/forbidden-apis/signatures.txt</forbiddenapis.signaturefile>
       </properties>
 
@@ -572,7 +596,7 @@
                 <dependency>
                   <groupId>org.apache.ant</groupId>
                   <artifactId>ant</artifactId>
-                  <version>1.9.4</version>
+                  <version>1.10.11</version>
                 </dependency>
               </dependencies>
             </plugin>
@@ -656,14 +680,14 @@
 
       <distributionManagement>
         <snapshotRepository>
-            <id>sonatype-nexus-snapshots</id>
-            <name>Sonatype Nexus Snapshots</name>
-            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
+          <id>sonatype-nexus-snapshots</id>
+          <name>Sonatype Nexus Snapshots</name>
+          <url>https://oss.sonatype.org/content/repositories/snapshots</url>
         </snapshotRepository>
         <repository>
-            <id>sonatype-nexus-staging</id>
-            <name>Sonatype Nexus Releases</name>
-            
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
+          <id>sonatype-nexus-staging</id>
+          <name>Sonatype Nexus Releases</name>
+          
<url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2</url>
         </repository>
       </distributionManagement>
 

Reply via email to