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 <[email protected]>
+
+- 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>